Project

General

Profile

Transcoding in unstable repository?

Added by ben barker about 7 years ago

Hi,

I can see from various posts that there may now be transcoding support in the main branch of tvheadend - but using the unstable repository I can't seem to make use of it. Do I need to build from source to enable this...?


Replies (14)

RE: Transcoding in unstable repository? - Added by Michael Neurohr about 7 years ago

Hi!

I'm also interested in how to use the transcoding support that seem to be available in the package of the unstable repo.
From the commit 9 days ago [1] I can see that an option to enable transcoding was added to the web interface.
I don't see that option in the web interface. I'm using version 3.5.243~g2b64995~raring.

Could please someone tell us how we can turn on the transcoding support?

[1] https://github.com/tvheadend/tvheadend/commit/012ed060cb917627e0be0e46fff28daf0ced3e92

RE: Transcoding in unstable repository? - Added by Alex . about 7 years ago

Could please someone tell us how we can turn on the transcoding support?

It's in the "configuration" tab, in the subtab "general".
Guess you just have to check "enabled".

Alex.

RE: Transcoding in unstable repository? - Added by ben barker about 7 years ago

I must be being very blind...

On the config>general page I have:

Dafault Language(s)
DVB scan files path
Image Caching
Time Update

But no transcoding...

I'm running what I think is the latest 3.5.243...?

RE: Transcoding in unstable repository? - Added by Alex . about 7 years ago

We are talking about the same screen.
In my case the option transcode is below time update.

Also, it appears I am running that same version.
I just recompiled the latest version from git this morning.

RE: Transcoding in unstable repository? - Added by ben barker about 7 years ago

How odd...

My "about" tab shows:

HTS Tvheadend 3.5.243~g2b64995~quantal

But definitiely no transcode option :-p Could it be disabled because something tvheadend needs to do the transocing is missing?

RE: Transcoding in unstable repository? - Added by Alex . about 7 years ago

ben barker wrote:

How odd...

My "about" tab shows:

HTS Tvheadend 3.5.243~g2b64995~quantal

My About-tab shows:

HTS Tvheadend 3.5.243~g2b64995

So, somehow we have a (slightly) different version it appears, where does "quantal" come from and what version did you clone? I cloned 'master' at https://github.com/tvheadend/tvheadend/

But definitiely no transcode option :-p Could it be disabled because something tvheadend needs to do the transocing is missing?

Maybey, my configure-output shows:

@
./configure --prefix=/opt/tvheadend
Checking support/features
checking for cc execinfo.h ... ok
checking for cc -mmmx ... ok
checking for cc -msse2 ... ok
checking for cc getloadavg ... ok
checking for cc atomic64 ... ok
checking for py module gzip ... ok
checking for bzip2 ... ok
checking for pkg openssl ... ok
checking for pkg zlib ... ok
checking for pkg avahi-client ... ok
checking for pkg libavcodec <=55.0.0 ... ok
checking for pkg libavcodec >=52.96.0 ... ok
checking for pkg libavutil >=50.43.0 ... ok
checking for pkg libavformat <=55.0.0 ... ok
checking for pkg libavformat >=53.10.0 ... ok
checking for pkg libswscale >=0.13.0 ... ok
checking for cc sys/inotify.h ... ok
checking for pkg libcurl ... ok
fetching dvb-scan files ... ok

Compiler:
Using C compiler: cc
Build for arch: x86_64

Binaries:
Using PYTHON: python

Options:
cwc yes
v4l yes
linuxdvb yes
dvbscan yes
timeshift yes
trace yes
imagecache yes
avahi yes
zlib yes
libav yes
inotify yes
bundle no
dvbcsa no
epoll yes
kqueue no
execinfo yes
mmx yes
sse2 yes
getloadavg yes
atomic64 yes
py_gzip yes
bin_bzip2 yes
ssl yes
inotify_h yes

Packages:
openssl 1.0.1c
zlib 1.2.7
avahi-client 0.6.31
libavcodec 54.59.100
libavutil 51.73.101
libavformat 54.29.104
libswscale 2.1.101
libcurl 7.30.0

Installation paths:
Prefix: /opt/tvheadend
Binaries: ${prefix}/bin
Libraries: ${prefix}/lib
Data files: ${prefix}/share
Man pages: ${datadir}/man

Final Binary:
/opt/tvheadend/srcnieuw/build.linux/tvheadend

Tvheadend Data Directory:
/opt/tvheadend/share/tvheadend

@

Just to make sure, also attached a printscreen of the location of the checkbox.

transcoding.png (32.8 KB) transcoding.png Transcoding enabled checkbox

RE: Transcoding in unstable repository? - Added by ben barker about 7 years ago

Yep - deff an extra box.

I've taken to using the repositories lately rather than building from source, since the site tells us:

http://apt.tvheadend.org/unstable - this holds nightly (assuming something has changed) builds, they can vary from reasonably stable to downright awful, use at your own risk!

And using apt is simpler when it comes to package management...but I could try building from source again soon

Ben

RE: Transcoding in unstable repository? - Added by Alex . about 7 years ago

ben barker wrote:

Yep - deff an extra box.

I've taken to using the repositories lately rather than building from source, since the site tells us:

http://apt.tvheadend.org/unstable - this holds nightly (assuming something has changed) builds, they can vary from reasonably stable to downright awful, use at your own risk!

And using apt is simpler when it comes to package management...but I could try building from source again soon

Ben

Yeah, I use Gentoo so no apt here....

As you already suggested it might have to do with dependencies on libav /ffmpeg or something, leading to not packaging this feature...

I think you can compile from source and build without running 'make install' . This way you can run the compiled version from the build directory without removing your original (apt) version so you can test first.

RE: Transcoding in unstable repository? - Added by ben barker about 7 years ago

I get the below. The libavcodec fail is a bit worrying for transcoding...
I have the ffmpeg installed though

I get:

[email protected] ~/tvheadend $ sudo apt-get install libavahi-client3
Reading package lists... Done
Building dependency tree
Reading state information... Done
libavahi-client3 is already the newest version.

and:

[email protected] ~/tvheadend $ ffmpeg
ffmpeg version 0.8.6-6:0.8.6-0ubuntu0.12.10.1, Copyright (c) 2000-2013 the Libav developers
built on Apr 2 2013 17:07:34 with gcc 4.7.2

So not sure about the two unmet dependencies below...

Checking support/features
checking for cc execinfo.h ... ok
checking for cc -mmmx ... ok
checking for cc -msse2 ... ok
checking for cc getloadavg ... ok
checking for cc atomic64 ... ok
checking for py module gzip ... ok
checking for bzip2 ... ok
checking for pkg openssl ... ok
checking for pkg zlib ... ok
checking for pkg avahi-client ... fail
checking for pkg libavcodec <=55.0.0 ... fail
checking for cc sys/inotify.h ... ok
checking for pkg libcurl ... ok
fetching dvb-scan files ... ok

RE: Transcoding in unstable repository? - Added by Alex . about 7 years ago

Mmm, indeed, those fails are not a good sign

checking for pkg avahi-client ... fail
checking for pkg libavcodec <=55.0.0 ... fail

This seems to suggest that you need a version prior to 55.0.0 , what version of libavcodec do you have?
Maybe your version is too high (but this is just a guess).

RE: Transcoding in unstable repository? - Added by ben barker about 7 years ago

Hmmm...my version of ffmpeg seemed a little odd - so I rebuilt latest stable from source. Now it tells me:

ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 26 2013 15:24:53 with gcc 4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1)
configuration: --enable-libfaac --enable-libx264 --enable-libmp3lame --enable-pthreads --enable-gpl --enable-nonfree
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100

Which does not satisfy the libavcodec <=55

I then went for a a slightly older version (1.12 - which seems to be a fork of the main project, but still linked to from ffmpegs main download page)

That gave me:
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100

Which passed the configure check for tvheadend, and gave me the missing checkbox

My attempts so far to actually get transcoded output have failed...but I'll try again later :-)

RE: Transcoding in unstable repository? - Added by Alex . about 7 years ago

Hi,

Good to hear you have the checkbox now :-)

ben barker wrote:

Which passed the configure check for tvheadend, and gave me the missing checkbox
My attempts so far to actually get transcoded output have failed...but I'll try again later :-)

It works for me using either TVHguide on Android, or a browser, but it does not necessarily work with all the options.
Use the 'system log' with debug output in the tvh-window to check for any warnings.

For example, in TVHguide you can choose the video codec you want( MPEG4, H264 or VP8), but they might not all be supported by your setup.
At first, for me only VP8 worked until I recompiled ffmpeg with H264 support turned on ( and tvh showed "no decoder available" or something similar in the debug-log)

For me something like the following works:

http://192.168.0.30:9981/stream/channelid/4?mux=matroska&acodec=MPEG2AUDIO&vcodec=H264&scodec=NONE&transcode=1&resolution=384

Some moreexample of testing using a browser are here (again, open the system log in another browserwindow to see any warnings):

https://tvheadend.org/boards/5/topics/8529?r=9184#message-9184

Hope this helps,

Alex.

RE: Transcoding in unstable repository? - Added by ben barker about 7 years ago

Yes - that does the trick. There seem to be some exaple URL parameters doing the rounds on the forum that don't work - but the one you provided does it for me.

I can't get audio workin with AAC - an error is thrown stating "transcode: Unable to open libfaac encoder" - despite ffmpeg being compiled with it.
Mpeg2 audio works fine
Subtitles don't seem to work at all

It would be really nice if the video playback window that forms part of the webUI gave transcoding options - would be useful if accessing the site remotely - but well chuffed this is working now

Cheers for your help,

Ben

RE: Transcoding in unstable repository? - Added by Peter Vágner about 7 years ago

I am on arch linux with ffmpeg 2.0.1 and unfortunatelly libav codec is 55.0.0 ./configure script fails to detect it.
Has anyone managed to run it with such a config?

EDIT:
OOps, now I understand libavcodec 55 or higher is not yet supported. It's a know limitation I am afraid. Unfortunatelly it needs some work because apparently a lot has changed in the ffmpeg API.

ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 29 2013 18:58:08 with gcc 4.8.1 (GCC) 20130725 (prerelease)
configuration: --enable-swresample --enable-shared --disable-debug --disable-static --prefix=/usr --enable-avresample --enable-fontconfig --enable-gnutls --enable-gpl --enable-libaacplus --enable-libass --enable-libbluray --enable-libcaca --enable-libcdio --enable-libcelt --enable-libdc1394 --enable-libfaac --enable-libfdk-aac --enable-libfreetype --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libquvi --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libxvid --enable-libzmq --enable-nonfree --enable-openal --enable-openssl --enable-pic --enable-vda --enable-version3 --enable-x11grab
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libavresample 1. 1. 0 / 1. 1. 0
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100

    (1-14/14)