Project

General

Profile

How do we test the new Transcoding support?

Added by Martin Ayla over 7 years ago

Hi

I just upgraded to the latest unstable release and would like to try the transcoding support.

I have tried the john-tornblom branch and it works fine with XBMC (and transcodes).

Tried the same with the latest release but it doesn't seem to transcode the stream.

Any ideas?

Should it be working in the master branch already?

Thanks


Replies (43)

RE: How do we test the new Transcoding support? - Added by Peter Vágner over 7 years ago

I have looked into the git commit changes briefly and as far as I can understand the webui aka http server support appears to be consistent with the previous John Törnblom transcoding v2 branch. So the most easiest way on how to test the transcoding support is by using tvh guide for android I think.
Also I am not sure I do understand the changes properly however I think now it is possible to define either video, audio or subtitles codec to none meaning that stream type will not be sent at all. Passthrough is stil an option too.

RE: How do we test the new Transcoding support? - Added by Martin Ayla over 7 years ago

I have tested it with the exact same setup that works with the transcoding branch (XBMC with hts pvr pluging, transcoding enabled in hts settings.xml), only changing out the IP for the Tvheadend backend.

But, with the master branch, it doesn't transcode.

Maybe John or Adam can chime in, so we can test it? :)

Thanks

RE: How do we test the new Transcoding support? - Added by Michael Neurohr over 7 years ago

I didn't know, that the transcoding support is already merged into the official Tvheadend. That is great, and I really need that feature!

Would be great if someone of the devs could clarify if it is in the master branch of 3.4 or if we can get that with any unstable version or something else. And if the transcoding support is already included into the XBMC PVR addon.

Michael

RE: How do we test the new Transcoding support? - Added by Prof Yaffle over 7 years ago

Looks like it's in master, but you'll have to build it yourself:

https://tvheadend.org/projects/tvheadend/repository

specifically, commit 60bdb16c from 12th May.

RE: How do we test the new Transcoding support? - Added by Michael Neurohr over 7 years ago

Prof Yaffle wrote:

Looks like it's in master, but you'll have to build it yourself:

Or just updating from the Unstable repository for Ubuntu. These files have been built on the 14th of May. I'm trying that now.

RE: How do we test the new Transcoding support? - Added by Michael Neurohr over 7 years ago

I just updated from the unstable repository on Ubuntu Raring and cannot see any indices to the transcoding functionality. I have version 3.5.121~g29f715f~raring installed.

RE: How do we test the new Transcoding support? - Added by Peter Vágner over 7 years ago

finally I have tried to play with this.
I have just used .configure & make to build and now I am trying something like
http://localhost:9981/stream/channelid/54?ticket=<valid-ticket-here>&mux=PASS&transcode=1&acodec=AAC&vcodec=H264
It does not appear to do something nor indicate transcoding in the log output.

Here is my ffmpeg version info
ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
built on May 3 2013 21:44:22 with gcc 4.8.0 (GCC) 20130425 (prerelease)
configuration: --enable-shared --disable-debug --disable-static --prefix=/usr --enable-avresample --enable-bzlib --enable-dxva2 --enable-fontconfig --enable-gnutls --enable-gpl --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libcdio --enable-libcelt --enable-libdc1394 --enable-libfaac --enable-libfdk-aac --enable-libfreetype --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-nonfree --enable-openal --enable-openssl --enable-vaapi --enable-vda --enable-vdpau --enable-version3 --enable-x11grab --enable-zlib
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

RE: How do we test the new Transcoding support? - Added by Michael Neurohr over 7 years ago

Does anyone know if there is some information from one of the developers about how to use the transcoding functionality?

RE: How do we test the new Transcoding support? - Added by Prof Yaffle over 7 years ago

This is all I could find - I've never tried JT's branch, though, and I'm not on the current master either, so can't test it.

https://www.lonelycoder.com/redmine/boards/5/topics/5859?r=5911#message-5911

Either that or tvhguide on Android.

RE: How do we test the new Transcoding support? - Added by Michael Neurohr over 7 years ago

Ok. Setting the URL to
http://ip:9981/stream/channelid/24?mux=webm&acodec=AAC&vcodec=H264&scodec=NONE&transcode=1&resolution=384
has no effect for me. Maybe the transcoding has to be activated first. But the question is how.

RE: How do we test the new Transcoding support? - Added by Peter Vágner over 7 years ago

okay, I have found it after reading irc logs.
First you need to edit src/plumbing/transcoding.c and set the variable enable_transcoding to 1 instead of 0.
Then you can use the url like
http://localhost:9981/stream/channelid/54?mux=mpegts&acodec=mp2&vcodec=H264&scodec=none&resolution=480&channels=2
I was unable to get transcoding to aac working on my setup however. H264 works fine.

RE: How do we test the new Transcoding support? - Added by Michael Neurohr over 7 years ago

Peter Vágner wrote:

okay, I have found it after reading irc logs.
First you need to edit src/plumbing/transcoding.c and set the variable enable_transcoding to 1 instead of 0.
Then you can use the url like
http://localhost:9981/stream/channelid/54?mux=mpegts&acodec=mp2&vcodec=H264&scodec=none&resolution=480&channels=2
I was unable to get transcoding to aac working on my setup however. H264 works fine.

Thanks for that info. But I'm using the Tvheadend unstable repo for Ubuntu and I don't really want to build it from source. Hopefully they are setting the flag to "1" soon.

Thanks,
Michael

RE: How do we test the new Transcoding support? - Added by Alex . over 7 years ago

Peter Vágner wrote:

okay, I have found it after reading irc logs.
First you need to edit src/plumbing/transcoding.c and set the variable enable_transcoding to 1 instead of 0.
Then you can use the url like
http://localhost:9981/stream/channelid/54?mux=mpegts&acodec=mp2&vcodec=H264&scodec=none&resolution=480&channels=2
I was unable to get transcoding to aac working on my setup however. H264 works fine.

Hi Peter,

I tried as you indicate ( change the parameter 'transcoding_enabled = 1' and rebuild and install) but it doesn't seem to work.

I try to view the stream for example by using:
http://192.168.0.30:9981/stream/channelid/24?mux=webm&acodec=mp2&vcodec=H264&scodec=none&resolution=240&channels=2
but nothing changes (even tried very low res like resolution=80). (Similar to Michael's experience)

Can you give some more advise on what to do to check if transcoding works? Anything else I should/could change?

Running the most recent version from GIT. ( commit 8c5f9af36b59f91652c96dd86a35d878ae2a2266, Thu May 23 10:10:34 2013 +0100)

Thanks,

Alex.

RE: How do we test the new Transcoding support? - Added by Guido h over 7 years ago

I got it to work with enable_transcoding to 1 and
http://192.168.1.70:9981/stream/channelid/4?mux=matroska&acodec=vorbis&vcodec=H264&scodec=NONE&transcode=1&resolution=384

but no webm

i compile ffmpeg TAG @ branch n1.1.2 with libvpx, x265, etc.

RE: How do we test the new Transcoding support? - Added by Michael Neurohr over 7 years ago

Are there also some more settings for the transcoding in the web interface?

RE: How do we test the new Transcoding support? - Added by Yakumo Fuji about 7 years ago

Is it possible to use the transcoding in tvheadend to transcode to hls?
With ffmpeg I do it something like this -->

ffmpeg -y -i http://myip:9981/stream/channelid/157 -c:a libfdk_aac -ac 2 -b:a 64k -ar 44100 -c:v libx264 -pix_fmt yuv420p -profile:v baseline -level 31 -b:v 600K -r 24 -g 72 -f hls -hls_time 10 -hls_list_size 999 -s 640x360 640x360.m3u8

I have compiled and gotten tvheadend to transcode with mpegts h264 and aac.
http://myip:9981/stream/channelid/157?mux=mpegts&acodec=libfdk_aac&vcodec=H264&transcode=1&resolution=384'

Is it possible to get it to transcode to hls? and if it is how would that line look?

RE: How do we test the new Transcoding support? - Added by Geoff Geoff about 7 years ago

Guys still very confused... really want transcoding to work however I've got a perfect system and don't want to mess around with it?

as anyone got step to step intructions on how to enable traqnscoding if you have it already running on a box, as I don't want to delete any config.

Thanks

RE: How do we test the new Transcoding support? - Added by Guido h about 7 years ago

i can say with ubuntu 12, it works out of the box. just with the packages https://github.com/john-tornblom/tvheadend.

first:
make a backup from your .tvheadend config dir. (copy)

if u install from some repo, u maybe dont have the testing version with transcoding support.

second:

else git clone to another folder. like

 git clone https://github.com/tvheadend/tvheadend /root/tvheadend_transcode

change in src/plumbing/transcode.c -> enable_transcode to 1 and

./configure and make it.

run tvheadend with your config backup
run

/root/tvheadend_transcode/build.linux/tvheadend with --config

to your backup path

u can try it with http://IP:9961/tv.html

RE: How do we test the new Transcoding support? - Added by neil mac about 7 years ago

Hi there, I tried the settings steps above but it still isn't working.

I am using Ubuntu 12.04.3 LTS, and I can see this in the log but cant fix it.

Thanks,
Neil

Sep 1 11:42:24 server tvheadend1294: transcode: Using decoder mpeg2video
Sep 1 11:42:24 server tvheadend1294: transcode: Unable to find H264 encoder
Sep 1 11:42:24 server tvheadend1294: transcode: 1:MPEG2VIDEO > Passthrough
Sep 1 11:42:24 server tvheadend[1294]: transcode: Using decoder mp2
Sep 1 11:42:24 server tvheadend[1294]: transcode: Using encoder aac
Sep 1 11:42:24 server tvheadend[1294]: transcode: 2:MPEG2AUDIO > AAC
Sep 1 11:42:24 server tvheadend1294: PSI: Service "Conexant CX22702 DVB-T/Central Scotland: 674,000 kHz/BBC ONE Scot" PMT (version 1) updated
Sep 1 11:42:24 server tvheadend1294: transcode: Using decoder mpeg2video
Sep 1 11:42:24 server tvheadend1294: transcode: Unable to find H264 encoder
Sep 1 11:42:24 server tvheadend1294: transcode: 1:MPEG2VIDEO > Passthrough
Sep 1 11:42:24 server tvheadend[1294]: transcode: Using decoder mp2
Sep 1 11:42:24 server tvheadend[1294]: transcode: Using encoder aac
Sep 1 11:42:24 server tvheadend[1294]: transcode: 2:MPEG2AUDIO > AAC
Sep 1 11:42:24 server tvheadend1294: PSI: Service "Conexant CX22702 DVB-T/Central Scotland: 674,000 kHz/CBBC Channel" PMT (version 31) updated
Sep 1 11:42:25 server tvheadend1294: libav: The encoder 'aac' is experimental but experimental codecs are not enabled, add strict -2 if you want to use it.
Sep 1 11:42:25 server tvheadend1294: transcode: Unable to open aac encoder
Sep 1 11:42:26 server tvheadend1294: dvb: 12,129,000 kHz Vertical (Default (Port 0, Univers" on adapter "Conexant CX24117/CX24132 Adapter 1, status changed to Faint signal
Sep 1 11:42:28 server tvheadend1294: dvb: /dev/dvb/adapter2 initial scan completed for "ASTRA: 10,876,500 kHz Vertical (Default (Port 0, Universal LNB))"
Sep 1 11:42:28 server tvheadend1294: dvb: /dev/dvb/adapter2 stopping thread
Sep 1 11:42:28 server tvheadend1294: dvb: /dev/dvb/adapter2 stopped thread
Sep 1 11:42:29 server tvheadend1294: dvb: /dev/dvb/adapter2 tuning via s2api to 12,402,000 kHz Vertical (Default (Port 0, Universal LNB)) (1802000, 27500000 Baud, 2/3, SYS_DVBS, QPSK) for Initial autoscan
Sep 1 11:42:30 server tvheadend1294: webui: Start streaming /stream/channelid/237?transcode=1&mux=matroska&acodec=AAC&vcodec=H264&scodec=NONE&resolution=384&bandwidth=0&language=
Sep 1 11:42:30 server tvheadend1294: mkv: Live stream: Write failed -
Connection reset by peer
Sep 1 11:42:30 server tvheadend1294: webui: Stop streaming /stream/channelid/237?transcode=1&mux=matroska&acodec=AAC&vcodec=H264&scodec=NONE&resolution=384&bandwidth=0&language=, muxer reported errors

RE: How do we test the new Transcoding support? - Added by Geoff Geoff about 7 years ago

Guido h wrote:

i can say with ubuntu 12, it works out of the box. just with the packages https://github.com/john-tornblom/tvheadend.

first:
make a backup from your .tvheadend config dir. (copy)

if u install from some repo, u maybe dont have the testing version with transcoding support.

second:

else git clone to another folder. like
[...]

change in src/plumbing/transcode.c -> enable_transcode to 1 and
[...]

run tvheadend with your config backup
run
[...]
to your backup path

u can try it with http://IP:9961/tv.html

Thank you for this advice. I'm using - HTS Tvheadend 3.5.243~g2b64995~precise so I would that have it built in? - sorry a bit of a newbie. or would I still need John branch installed into the system.

I've noticed that the TVHclient for IOS has beta transcoding built in? - how I understand it this is a feature and still needs the above to be done?

RE: How do we test the new Transcoding support? - Added by Guido h about 7 years ago

No, u dont need johns branchs.

just the ubunut packages:

$ sudo apt-get install build-essential pkg-config libssl-dev 

If you want avahi support (optional):

$ sudo apt-get install libavahi-client-dev

If you plan on doing transcoding (also optional):

$ sudo apt-get install libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libswscale-dev

You might also like to install the extra codecs pack (incl. H264 encoder):

$ sudo apt-get install libavcodec-extra-53

RE: How do we test the new Transcoding support? - Added by Geoff Geoff about 7 years ago

your good :) Have you tried the app?

RE: How do we test the new Transcoding support? - Added by neil mac about 7 years ago

@Guido - does my log look like it trying to run the transcoding but then...

webui: Stop streaming /stream/channelid/237?transcode=1&mux=matroska&acodec=AAC&vcodec=H264&scodec=NONE&resolution=384&bandwidth=0&language=, muxer reported errors

Any ideas?

RE: How do we test the new Transcoding support? - Added by Guido h about 7 years ago

u try SD channels or HD channels ?

(1-25/43)