[MPlayer-users] Problems with h.264 and lavf demuxer (paff/mbaff?)

Marco Munderloh munderl at tnt.uni-hannover.de
Wed Mar 5 15:50:25 CET 2014


Hi,
c
I have problems playing recorded DVB streams containing h.264 video.
The video is flagged as interlaced; however it only consists of progressive material,
s I guess they used PAFF or MBAFF on encoding. When playing the video using mplayers
default demuxer, all is fine. But if I use the lavf demuxer, the first GOPs are totally
broken until the next IDR frame arrives. ffmpeg shows the same behavior on transcoding
as the mplayer lavf demuxer; ffplay completely skips the broken part and starts decoding
at the second IDR frame. It does not make any difference if I demux the TS into
elementary streams and then play the 264 file directly - same problems. The lavf output
shows some "PES packet size mismatch" notes, but I'm not sure if this is relevant as
the pure elementary stream also does not play.

I saw the note of uploading a testsample. Is it still relevant also the problem seems
to be in the demuxer, not the decoder?

Best regards, Marco


Here is the output of mplayer with default demuxer:

>  mplayer "DVB_testvideo.ts"
MPlayer SVN-r36764-4.8 (C) 2000-2014 MPlayer Team

Playing DVB_testvideo.ts.
libavformat version 55.28.100 (internal)
TS file format detected.
VIDEO H264(pid=1279) AUDIO A52(pid=1283) SUB Teletext(pid=32)  PROGRAM N. 110
FPS seems to be: 25.000000
Load subtitles in ./
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 55.49.100 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, floatle, 384.0 kbit/12.50% (ratio: 48000->384000)
Selected audio codec: [ffac3] afm: ffmpeg (FFmpeg AC-3)
==========================================================================
No such audio driver 'pulse'
AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)
Starting playback...
[h264 @ 0x7ff03b83abe0]mmco: unref short failure
[h264 @ 0x7ff03b83abe0]mmco: unref short failure
[h264 @ 0x7ff03b83abe0]number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 1920x1080 => 1920x1080 Planar YV12  [zoom]
A:71287.5 V:71288.5 A-V: -0.981 ct: -0.120  72/ 72 45%  5%  0.7% 6 0

Exiting... (Quit)


And here comes the output of the lavf demuxer:
> mplayer -demuxer lavf DVB_testvideo.ts
MPlayer SVN-r36764-4.8 (C) 2000-2014 MPlayer Team

Playing DVB_testvideo.ts.
libavformat version 55.28.100 (internal)
libavformat file format detected.
[h264 @ 0x7fe7e8d27be0]non-existing PPS referenced
[h264 @ 0x7fe7e8d27be0]non-existing PPS 0 referenced
[h264 @ 0x7fe7e8d27be0]decode_slice_header error
[h264 @ 0x7fe7e8d27be0]no frame!
[h264 @ 0x7fe7e8d27be0]mmco: unref short failure
[h264 @ 0x7fe7e8d27be0]mmco: unref short failure
[h264 @ 0x7fe7e8d27be0]number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
[mpegts @ 0x7fe7e8d18ee0]PES packet size mismatch
[mpegts @ 0x7fe7e8d18ee0]PES packet size mismatch
[mpegts @ 0x7fe7e8d18ee0]PES packet size mismatch
[lavf] stream 0: subtitle (dvb-teletext), -sid 0, -slang deu
[lavf] stream 1: video (h264), -vid 0
[lavf] stream 2: audio (ac3), -aid 0, -alang deu
[lavf] stream 3: audio (ac3), -aid 1, -alang eng
LAVF: Program 110
LAVF: Program 111
LAVF: Program 112
LAVF: Program 114
LAVF: Program 127
VIDEO:  [H264]  1920x1080  0bpp  50.000 fps    0.0 kbps ( 0.0 kbyte/s)
Load subtitles in ./
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 55.49.100 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
[ac3 @ 0x7fe7e8d27be0]Channel layout '5.1(side)' with 6 channels does not match specified number of channels 2: ignoring specified channel layout
AUDIO: 48000 Hz, 2 ch, floatle, 384.0 kbit/12.50% (ratio: 48000->384000)
Selected audio codec: [ffac3] afm: ffmpeg (FFmpeg AC-3)
==========================================================================
No such audio driver 'pulse'
AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)
Starting playback...
[h264 @ 0x7fe7e8d27be0]Found reference and non-reference fields in the same frame, which is not implemented. Update your FFmpeg version to the newest one from Git. If the 
problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x7fe7e8d27be0]If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
[h264 @ 0x7fe7e8d27be0]decode_slice_header error
[h264 @ 0x7fe7e8d27be0]reference picture missing during reorder
[h264 @ 0x7fe7e8d27be0]Missing reference picture, default is 2147483647
[h264 @ 0x7fe7e8d27be0]mmco: unref short failure
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 1920x1080 => 1920x1080 Planar YV12  [zoom]
A:71286.3 V:71287.0 A-V: -0.654 ct: -0.002   0/  0 ??% ??% ??,?% 2 0
[h264 @ 0x7fe7e8d27be0]reference picture missing during reorder
[h264 @ 0x7fe7e8d27be0]Missing reference picture, default is 65300
[h264 @ 0x7fe7e8d27be0]mmco: unref short failure
A:71286.4 V:71287.1 A-V: -0.772 ct: -0.006   0/  0 ??% ??% ??,?% 4 0
[h264 @ 0x7fe7e8d27be0]mmco: unref short failure
A:71287.9 V:71288.6 A-V: -0.699 ct: -0.080   0/  0 40%  3%  1.3% 4 0

Exiting... (Quit)



And here comes the output of lavf demuxer with the pute 264 file:
mplayer -demuxer lavf DVB_testvideo.264
MPlayer SVN-r36764-4.8 (C) 2000-2014 MPlayer Team

Playing DVB_testvideo.264.
libavformat version 55.28.100 (internal)
libavformat file format detected.
[h264 @ 0x7f0085d83be0]non-existing PPS referenced
[h264 @ 0x7f0085d83be0]non-existing PPS 0 referenced
[h264 @ 0x7f0085d83be0]decode_slice_header error
[h264 @ 0x7f0085d83be0]no frame!
[h264 @ 0x7f0085d83be0]mmco: unref short failure
[h264 @ 0x7f0085d83be0]mmco: unref short failure
[h264 @ 0x7f0085d83be0]number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
[lavf] stream 0: video (h264), -vid 0
VIDEO:  [H264]  1920x1080  0bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
Load subtitles in ./
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 55.49.100 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
Audio: no sound
Starting playback...
[h264 @ 0x7f0085d83be0]Found reference and non-reference fields in the same frame, which is not implemented. Update your FFmpeg version to the newest one from Git. If the 
problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x7f0085d83be0]If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
[h264 @ 0x7f0085d83be0]decode_slice_header error
[h264 @ 0x7f0085d83be0]reference picture missing during reorder
[h264 @ 0x7f0085d83be0]Missing reference picture, default is 2147483647
[h264 @ 0x7f0085d83be0]mmco: unref short failure
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 1920x1080 => 1920x1080 Planar YV12  [zoom]
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
[h264 @ 0x7f0085d83be0]reference picture missing during reorder
[h264 @ 0x7f0085d83be0]Missing reference picture, default is 65300
[h264 @ 0x7f0085d83be0]mmco: unref short failure
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
[h264 @ 0x7f0085d83be0]mmco: unref short failure
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 ??% ??% ??,?% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 58%  9%  0.0% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 57%  8%  0.0% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 55%  8%  0.0% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 53%  8%  0.0% 0 0
No pts value from demuxer to use for frame!
pts after filters MISSING
V:-9223372036854775808.0   0/  0 52%  7%  0.0% 0 0

Exiting... (Quit)



More information about the MPlayer-users mailing list