Hi, I am running into a problem where newer versions of libav aren't able to find the codecs for an mpeg-ts stream, from the /dev/dvb/adapter0/dvr0 device of a HDTV tuner tuned to ATSC. I can't find any version of ffplay that will read directly from the device (even using "pipe:0") but if I cat it to a file it will play with earlier versions. (this seems to be related to the find_info function wanting to seek; I've worked around this problem for now)

An earlier version of libav which uses liba52 will properly detect and play the file, both audio and video.

The latest svn ffplay will not even detect that the file is mpeg-ts, even if I force it with the -f parameter:
$ LD_LIBRARY_PATH=lib bin/ffplay -stats -debug 2 -f mpegts temp.mpegts
FFplay version SVN-r18970, Copyright (c) 2003-2009 Fabrice Bellard, et al. configuration: --enable-shared --disable-static --prefix=/home/mconrad/buildenv --disable-optimizations --disable-mmx --disable-stripping
    libavutil     50. 3. 0 / 50. 3. 0
    libavcodec    52.29. 1 / 52.29. 1
    libavformat   52.33. 0 / 52.33. 0
    libavdevice   52. 2. 0 / 52. 2. 0
    libswscale     0. 7. 1 /  0. 7. 1
    built on May 27 2009 18:25:07, gcc: 4.2.4 (Gentoo 4.2.4 p1.0)
  temp.mpegts: could not find codec parameters

A version of ffplay from feburary will detect mpeg-ts and the video codec, but not the audio:
  FFplay version 0.5, Copyright (c) 2003-2009 Fabrice Bellard, et al.
configuration: --enable-shared --disable-static --prefix=/home/mconrad/buildenv --disable-stripping --disable-optimizations --disable-mmx
    libavutil     49.15. 0 / 49.15. 0
    libavcodec    52.20. 0 / 52.20. 0
    libavformat   52.31. 0 / 52.31. 0
    libavdevice   52. 1. 0 / 52. 1. 0
    built on May 23 2009 22:49:56, gcc: 4.2.4 (Gentoo 4.2.4 p1.0)
  Input #0, mpegts, from 'temp.mpegts':vq=    0KB sq=    0B
    Duration: 00:00:07.50, start: 70329.129944, bitrate: 7411 kb/s
Stream #0.0[0x31], 1/90000: Video: mpeg2video, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 1001/120000, 19000 kb/s, 59.94 tbr, 90k tbn, 119.88 tbc Stream #0.1[0x34], 1/90000: Audio: 0x0000, 48000 Hz, 5.1, s16, 384 kb/s
  70332.36 A-V:  0.000 aq=    0KB vq= 1283KB sq=    0B

I saw that there was a new ac-3 decoder which replaced the dependence on liba52, and that seems to have started the breakage.

I haven't tried initializing the codecs directly, because that seems complicated, and I'd like it to work for any broadcast format and that seems like a lot of work to manually detect it.

Does anyone know whether this is a known issue, and whether there is work on fixing it?

If anyone wants an example file, I've got one at
  http://silverdirk.com/dvbcapture.mpegts
Its an ~8 sec clip, 6MB. Plays with mplayer, but not with ffplay. Yes it has errors in it, but mplayer can work around them, and the older ffplay was at least able to play the video.

So this is a general query about mpeg-ts codec detection, but I'm also interested in advice on how to fix the bug (i.e. which libav functions to investigate), or if there are better ways to do dvb playback.

Thanks in advance!

--
Michael Conrad
IntelliTree Solutions llc.
513-552-6362
[email protected]
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to