Project

General

Profile

Transcoding Codec Error Rpi

Added by Manuel 3 almost 6 years ago

Hi,

I've just setup tvh 4.2.4-dmo1~bpo9+1~rpt1 on raspbian stretch,
I can setup streaming but I get the following error when I use the Hardware-accelerated transcoding:

2018-11-25 20:47:26.349 subscription: 0149: "HTTP" subscribing on channel "", weight: 100, adapter: "SAT>IP DVB-S Tuner #2 (10.0.55.203)", network: "DVB-S Network", mux: "12544.75H", provider: "", service: "", profile="3G", hostname="10.0.58.1", client="VLC/3.0.3 LibVLC/3.0.3"
2018-11-25 20:47:26.674 transcode: 0003: 2:TELETEXT > Filtered
2018-11-25 20:47:26.674 transcode: 0003: 3:MPEG2VIDEO 720x576 > H264 480x384 (h264_omx)
2018-11-25 20:47:26.674 transcode: 0003: 4:MPEG2AUDIO ==> VORBIS (libvorbis)
2018-11-25 20:47:27.084 transcode: 0003: Using preset veryfast
2018-11-25 20:47:27.084 libav: Undefined constant or missing '(' in 'high'
2018-11-25 20:47:27.084 libav: Unable to parse option value "high"
2018-11-25 20:47:27.085 libav: Error setting option profile to value high.
2018-11-25 20:47:27.085 transcode: 0003: Unable to open h264_omx encoder
2018-11-25 20:47:27.085 transcode: 0003: Detected framedrop in audio

I've already got streaming working on another pi running LibreElec and the TVH Service Plugin,
but unfortunately my headless setup keeps bugging.

Thanks for any help!


Replies (29)

RE: Transcoding Codec Error Rpi - Added by C vH almost 6 years ago

We build for 3.10-> 4.20 and ARM6-8, X86_64 too and there was no problem with ffmpeg yet besides making neon and few options optional.

Even AOM (av1) "works" at ARM6. If your "natively" build ffmpeg works with the features you want Tvh should do it too.
Everything related to HW-GPU accelerated needs an up to date OS with "latest" driver etc - even Ubuntu 16.04 was too old to properly do it (not to speak about Debian).
For easy testing just build an ffmpeg binary and test it there if it works - if so it works at Tvh too (you can pipe streams through ffmpeg at Tvh for testing purposes).

RE: Transcoding Codec Error Rpi - Added by Manuel 3 almost 6 years ago

Thanks for your suggestions!

I've soled it by using 4.3 and a custom FFMpeg build mentioned here:
https://www.raspberrypi.org/forums/viewtopic.php?t=227359

Works fine and without hiccups.

@CvH: Is it sufficient to make a backup from the LE Config tool or do I need to DD the complete card if I want another copy of my LE setup regarding the TvH plugin?

EDIT: could this be the culprit I'm facing with 4.2.7 and the hiccups?
(gkreidl in the mentioned thread)

Transcoding on Jessie is more efficient though because the gst-omx module has implemented hardware scaling, which is missing in the Stretch version

As soon as i set '-vf scale=720:576' I have the same hiccups as before.

Will try the whole thing on Jessie soon.

RE: Transcoding Codec Error Rpi - Added by C vH almost 6 years ago

Is it sufficient to make a backup from the LE Config tool

the build in backup backups everything - basically just tars some folders no magic
if you want to just backup the Tvh config you just copy the service.tvheadend42 folder from userdata share

EDIT: could this be the culprit I'm facing with 4.2.7 and the hiccups?

obviously, you need hw accelerated decoder and encoder that it works at RPi
I can't remember exactly what was wrong before but this was also the mistake the linuxserver.io Docker guys did regarding Tvh that I fixed here https://github.com/linuxserver/docker-tvheadend/pull/73/files maybe this gives some inspiration :)
At Rpi you need omx AND mmal.

RE: Transcoding Codec Error Rpi - Added by Manuel 3 almost 6 years ago

building on jessie reults in a compiler error:

CC              tvheadend
/home/pi/tvheadend/build.linux/src/muxer/muxer_libav.o: In function `lav_muxer_close':
/home/pi/tvheadend/src/muxer/muxer_libav.c:568: undefined reference to `avio_context_free'
/home/pi/tvheadend/build.linux/src/plumbing/transcoding.o: In function `create_video_filter':
/home/pi/tvheadend/src/plumbing/transcoding.c:1129: undefined reference to `avfilter_graph_parse_ptr'
/home/pi/tvheadend/src/plumbing/transcoding.c:1107: undefined reference to `av_int_list_length_for_size'
collect2: error: ld returned 1 exit status
Makefile:638: recipe for target '/home/pi/tvheadend/build.linux/tvheadend' failed
make: *** [/home/pi/tvheadend/build.linux/tvheadend] Error 1

I'll just stick to LE for now :D

(26-29/29)