[mythtv] Demuxer unable to identify h.264 content from dvb-s2

Per Heldal heldal at eml.cc
Sat Nov 29 13:13:34 UTC 2008


I've found that mythtv is unable to identify certain types of h.264
content. I'm experimenting with the most recent VDPAU and DVB-S2API
developments, but an unpatched build from trunk (rev 19171) has the same
problem. Mythtv either fails to identify the stream, or incorrectly
identifies it as MPEG2TS/MPEG1VIDEO.

I've captured 20MB samples from each of the 4 HD channels covered in my
subscription. They all play through ffplay or mplayer using libavcodec.
Note that mplayer also fails to identify the content of these streams
using its default demuxer. "-demuxer lavf" is required for mplayer to
work, otherwise it also thinks this is mpeg1/2.

I've uploaded the h.264 samples to filebin. These are generated with
szap-s2 tuning and "head --bytes=20M /dev/dvb/adapter1/dvr0 > <FILE>".
Samples and my results trying to play though mythtv are:

  Discovery HD: http://filebin.ca/cvayy/disHD.h264
  identified as MPEG2TS/MPEG1VIDEO. Full output from the mythtv
  binary is attached.

  Eurosport HD: http://filebin.ca/acjsju/euroHD.h264 
  identified as MPEG2TS/MPEG1VIDEO

  HistoryChannelHD: http://filebin.ca/fzmwxj/histHD.h264 
  not recognised my mythtv at all

  TVNorge HD: http://filebin.ca/occzax/x.h264
  identified as MPEG2TS/MPEG1VIDEO


Mythtv built with S2API patches works fine with DVB-S channels, but
fails to receive DVB-S2. The tuner locks, CAM initiates and starts
producing decrypted content to myth, but it sits waiting. I assume the
mythbackend like the frontend is expecting mpeg1/2 content. Diagnostic
output isn't awfully helpful, but the log is littered with many of these
(from a test a few days ago):

   DTVRec(1) Error: FindH264Keyframes: No ringbuffer


In places this row of errors is interrupted up by indications of some
confusion wrt codec (here MPEG2VIDEO):

2008-11-25 19:17:20.733 DTVRec(1) Error: FindH264Keyframes: No
ringbuffer
2008-11-25 19:17:20.736 DTVRec(1) Error: FindH264Keyframes: No
ringbuffer
2008-11-25 19:17:20.783 AFD: Opened codec 0x82ee430, id(MPEG2VIDEO)
type(Video)
2008-11-25 19:17:20.800 DTVRec(1) Error: FindH264Keyframes: No
ringbuffer
2008-11-25 19:17:20.804 AFD: codec MP3 has 2 channels
2008-11-25 19:17:20.809 DTVRec(1) Error: FindH264Keyframes: No
ringbuffer
2008-11-25 19:17:20.811 AFD: Opened codec 0x82eeb20, id(MP3) type(Audio)
2008-11-25 19:17:20.820 AFD: codec MP3 has 2 channels
2008-11-25 19:17:20.823 AFD: Opened codec 0x83085c0, id(MP3) type(Audio)
2008-11-25 19:17:20.815 DTVRec(1) Error: FindH264Keyframes: No
ringbuffer
2008-11-25 19:17:20.846 DTVRec(1) Error: FindH264Keyframes: No
ringbuffer
2008-11-25 19:17:20.851 DTVRec(1) Error: FindH264Keyframes: No
ringbuffer

I suspect that this problem in the back-end is related to the front-ends
inability to demultiplex and correctly identify this content.

For reference: The test is done using a E6600/2GB system with a
Hauppauge HVR4000 tuner and Nvidia GLX 260 VDPAU-capable hardware. It's
based on Ubuntu 8.10, but with a 2.6.27.6-custom kernel with v4l-dvb
trunk, nvidia driver version 180.08, and hg/git/cvs current versions of
most video and audio-related SW.

//per

-------------- next part --------------
A non-text attachment was scrubbed...
Name: disHD.h264.log
Type: text/x-log
Size: 12868 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20081129/f58dd3f0/attachment.bin 


More information about the mythtv-dev mailing list