#828 closed defect (worksforme)
Processing DV gives no output -- AC EOB marker is absent?
Reported by: | rrauenza | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | dvvideo |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
I see a lot of this complaint on the net, and subsequent claims that this was fixed in a particular CVS release number -- but now ffmpeg is using git -- but surely that fix was merged into git!
I cloned the git repo yesterday and built ffmpeg
[rrauenza@tendo ~]$ /rjr/ffmpeg-git/bin/ffmpeg -version
ffmpeg N-36111-gd1c28e3
libavutil 51. 32.100 / 51. 32.100
libavcodec 53. 47.100 / 53. 47.100
libavformat 53. 28.100 / 53. 28.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 53. 0 / 2. 53. 0
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 5.100 / 0. 0.100
libpostproc 51. 2.100 / 51. 2.100
[rrauenza@tendo ~]$
And I still get those errors -- although I've seen many people say they are harmless and to ignore them. But I get them, and my resulting encodings are empty of video.
I got these both when I used dvgrab on linux (format raw) to pull the dv content in and using windv (dv avi, type 2)
When postprocessing these with ffmpeg, I get empty mp4's... or at least I only see audio.
Hmm -- there's an assumption I'm making here which is that this file ought to play on windows. The original DV's play in quicktime, the window's avi's play in media player.
[rrauenza@tendo tmp]$ /rjr/ffmpeg-git/bin/ffmpeg -i foo.dv -vcodec libx264 -preset faster foo.mp4
ffmpeg version N-36111-gd1c28e3, Copyright (c) 2000-2011 the FFmpeg developers
built on Dec 22 2011 21:34:58 with gcc 4.5.1 20100924 (Red Hat 4.5.1-4)
configuration: --prefix=/rjr/ffmpeg-git --enable-gpl --enable-nonfree --enable-pthreads --enable-hardcoded-tables --enable-memalign-hack --enable-bzlib --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libxvid --enable-zlib --enable-libdirac --enable-libx264 --extra-cflags='-I/rjr/x264/include -L/rjr/x264/lib/' --extra-ldflags='-Wl,-rpath=/rjr/x264/lib -L/rjr/x264/lib'
libavutil 51. 32.100 / 51. 32.100
libavcodec 53. 47.100 / 53. 47.100
libavformat 53. 28.100 / 53. 28.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 53. 0 / 2. 53. 0
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 5.100 / 0. 0.100
libpostproc 51. 2.100 / 51. 2.100
[dv @ 0x9d1af00] Estimating duration from bitrate, this may be inaccurate
Input #0, dv, from 'foo.dv':
Duration: 00:02:11.03, start: 0.000000, bitrate: 28771 kb/s
Stream #0:0: Video: dvvideo, yuv411p, 720x480, 28771 kb/s, SAR 8:9 DAR 4:3, 29.97 tbr, 29.97 tbn, 29.97 tbc
Stream #0:1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
File 'foo.mp4' already exists. Overwrite ? [y/N] y
Incompatible pixel format 'yuv411p' for codec 'libx264', auto-selecting format 'yuv422p'
[buffer @ 0x9d21580] w:720 h:480 pixfmt:yuv411p tb:1/1000000 sar:8/9 sws_param:
[buffersink @ 0x9d21740] auto-inserting filter 'auto-inserted scale 0' between the filter 'src' and the filter 'out'
[scale @ 0x9d1c400] w:720 h:480 fmt:yuv411p -> w:720 h:480 fmt:yuv422p flags:0x4
[libx264 @ 0x9d22640] using SAR=8/9
[libx264 @ 0x9d22640] using cpu capabilities: MMX2 SSE2Slow SlowCTZ
[libx264 @ 0x9d22640] profile High 4:2:2, level 3.0, 4:2:2 8-bit
[libx264 @ 0x9d22640] 264 - core 120 r2085+35 0c7dab9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=4 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=20 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'foo.mp4':
Metadata:
encoder : Lavf53.28.100
Stream #0:0: Video: h264 ([0][0][0] / 0x0021), yuv422p, 720x480 [SAR 8:9 DAR 4:3], q=-1--1, 30k tbn, 29.97 tbc
Stream #0:1: Audio: aac (@[0][0][0] / 0x0040), 48000 Hz, 2 channels, s16, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (dvvideo -> libx264)
Stream #0:1 -> #0:1 (pcm_s16le -> libfaac)
Press [q] to stop, ? for help
AC EOB marker is absent pos=64e= 442kB time=00:00:03.26 bitrate=1108.4kbits/s
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=65
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=64
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=69
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=64
Last message repeated 1 times
[....]
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=66
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=67
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=65
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=64
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=65
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=67
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=64
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=68
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=64
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=67
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=66
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=69
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=64
Last message repeated 1 times
[dvvideo @ 0x9d21160] AC EOB marker is absent pos=65
frame= 3927 fps= 24 q=-1.0 Lsize= 24027kB time=00:02:10.96 bitrate=1502.9kbits/s
video:21838kB audio:2047kB global headers:0kB muxing overhead 0.594100%
[libx264 @ 0x9d22640] frame I:18 Avg QP:22.45 size: 31619
[libx264 @ 0x9d22640] frame P:1676 Avg QP:25.07 size: 10165
[libx264 @ 0x9d22640] frame B:2233 Avg QP:28.00 size: 2130
[libx264 @ 0x9d22640] consecutive B-frames: 1.5% 53.3% 44.2% 1.0%
[libx264 @ 0x9d22640] mb I I16..4: 5.2% 60.1% 34.7%
[libx264 @ 0x9d22640] mb P I16..4: 1.9% 14.4% 0.7% P16..4: 39.5% 17.2% 6.4% 0.0% 0.0% skip:19.9%
[libx264 @ 0x9d22640] mb B I16..4: 0.2% 1.9% 0.0% B16..8: 18.8% 3.2% 0.2% direct:16.3% skip:59.3% L0:30.0% L1:52.9% BI:17.1%
[libx264 @ 0x9d22640] 8x8 transform intra:83.8% inter:51.2%
[libx264 @ 0x9d22640] coded y,uvDC,uvAC intra: 47.7% 64.3% 9.5% inter: 18.2% 28.6% 1.2%
[libx264 @ 0x9d22640] i16 v,h,dc,p: 48% 19% 18% 14%
[libx264 @ 0x9d22640] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 14% 41% 2% 5% 5% 3% 3% 3%
[libx264 @ 0x9d22640] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 26% 17% 3% 10% 8% 6% 5% 6%
[libx264 @ 0x9d22640] i8c dc,h,v,p: 54% 16% 25% 4%
[libx264 @ 0x9d22640] Weighted P-Frames: Y:7.6% UV:1.6%
[libx264 @ 0x9d22640] ref P L0: 69.7% 30.3%
[libx264 @ 0x9d22640] ref B L0: 74.9% 25.1%
[libx264 @ 0x9d22640] ref B L1: 94.7% 5.3%
[libx264 @ 0x9d22640] kb/s:1365.27
[rrauenza@tendo tmp]$
videolan says the results are h264 - mpeg-4 (part 10) (avc1)
resolution 720x480
frame rate: 29.970029
2/3rds into play the vide it claims it has decoded 347 video blocks and displayed 3461 frames, and lost 1.
Is this just user error? Am I doing something wrong here?
These are these same scripts (using ffmpeg) I used a couple years ago to turn raw dv's into h264 mp4.
I guess my h264 encoder could be broken... I just took an iphone .mov and retranscoded it fine:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (aac -> libfaac)
so I'm stumped -- any ideas?
Attachments (2)
Change History (11)
comment:1 by , 13 years ago
Component: | FFmpeg → undetermined |
---|
by , 13 years ago
Attachment: | foo.2mb.mp4 added |
---|
Output from /rjr/ffmpeg-git/bin/ffmpeg -i foo.2mb.dv -vcodec libx264 -preset faster foo.2mb.mp4
comment:2 by , 13 years ago
Since it works fine here:
Is the problem only reproducible when also encoding audio or also with -an?
Is the problem only reproducible using an external library (libx264) or also when using -qscale 2 -vcodec mpeg4?
$ ffmpeg -i foo.2mb.dv -an out.avi ffmpeg version N-36163-g5257743, Copyright (c) 2000-2011 the FFmpeg developers built on Dec 25 2011 01:39:23 with gcc 4.3.2 [gcc-4_3-branch revision 141291] configuration: libavutil 51. 32.100 / 51. 32.100 libavcodec 53. 47.100 / 53. 47.100 libavformat 53. 28.100 / 53. 28.100 libavdevice 53. 4.100 / 53. 4.100 libavfilter 2. 53.100 / 2. 53.100 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 5.100 / 0. 5.100 [dv @ 0x8e4faa0] Estimating duration from bitrate, this may be inaccurate Input #0, dv, from 'foo.2mb.dv': Duration: 00:00:00.58, start: 0.000000, bitrate: 28770 kb/s Stream #0:0: Video: dvvideo, yuv411p, 720x480, 28771 kb/s, SAR 8:9 DAR 4:3, 29.97 tbr, 29.97 tbn, 29.97 tbc Stream #0:1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s Incompatible pixel format 'yuv411p' for codec 'mpeg4', auto-selecting format 'yuv420p' [buffer @ 0x8e562a0] w:720 h:480 pixfmt:yuv411p tb:1/1000000 sar:8/9 sws_param: [buffersink @ 0x8e65a00] auto-inserting filter 'auto-inserted scale 0' between the filter 'src' and the filter 'out' [scale @ 0x8e54f20] w:720 h:480 fmt:yuv411p -> w:720 h:480 fmt:yuv420p flags:0x4 Output #0, avi, to 'out.avi': Metadata: ISFT : Lavf53.28.100 Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 200 kb/s, 29.97 tbn, 29.97 tbc Stream mapping: Stream #0:0 -> #0:0 (dvvideo -> mpeg4) Press [q] to stop, [?] for help frame= 18 fps= 0 q=20.6 Lsize= 170kB time=00:00:00.60 bitrate=2319.7kbits/s video:164kB audio:0kB global headers:0kB muxing overhead 3.691619%
out.avi looks fine.
comment:3 by , 13 years ago
worked: /rjr/ffmpeg-git/bin/ffmpeg -i foo.2mb.dv -qscale 2 -vcodec mpeg4 foo.mp4
worked: /rjr/ffmpeg-git/bin/ffmpeg -i foo.2mb.dv -an out.avi
not worked: /rjr/ffmpeg-git/bin/ffmpeg -an -i foo.2mb.dv -vcodec libx264 -preset faster foo.2mb.mp4
Ok, so the dvvideo format is probably not bad -- it must be something out the output side..
comment:4 by , 13 years ago
I'm going to do a make clean of x264 followed by a make clean of ffmpeg ...
comment:5 by , 13 years ago
clean builds didn't change the behavior. Are you able to encode them with -vcodec libx264?
comment:6 by , 13 years ago
OK, I think it turns out it was my compilation of x264 that ffmpeg was using. It had "gpac no" shown during the configure, which was fixed by installing gpac-devel-static (on fedora).
Thanks for helping me troubleshoot. I thought surely it was the "AC EOB" problem as that is the only diagnostic I had.
So for anyone reading this later, it does look like the AC EOB problem is just a warning now, and not a real issue.
This bug can be closed...
comment:7 by , 13 years ago
Keywords: | dvvideo added |
---|---|
Resolution: | → worksforme |
Status: | new → closed |
I am closing this ticket because the sample you provided does not show the "AC EOB" error for me (it is not a warning).
comment:8 by , 13 years ago
I may not have provided a long enough sample to produce the AC EOB message. If you want to pursue that cause, I can provide longer ones, but not by uploading them here.
Either way, I'm able to proceed with my work -- the AC EOB was not the cause of empty h264 output.
comment:9 by , 13 years ago
Please upload either to http://www.datafilehost.com/ or to incoming as explained on http://ffmpeg.org/bugreports.html
Please provide a sample.