#386 closed defect (needs_more_info)
Missing audio and subtitle streams in vob file
Reported by: | Aztek | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | mpegps |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
==Problem==
I want to transcode a VOB into x264 on a headless Debian stable server.
mediainfo
reports a number of audio tracks and subtitle streams.
ffprobe
(and ffmpeg
) reports no audio nor subtitle stream.
I'd like to provide the VOB file but I can't for legal reasons. I tried to cut the file (with dd
) to give a "small sample" but ffprobe
behaviour seems to depend on the length of the resulting VOB file (with 10MB, all the audio streams are found but non of the subtitles streams for instance; at 500MB, just one audio stream is available).
ffplay
can successfully play the file but I am not sure I can actually choose the audio stream I want.
I can provide anything you might consider usefull.
Thanks for your help.
==Important note==
I am sure all the VOB files I concatenated actually contained parts of the movie (all of those were needed otherwise parts of the movie just disappear).
mediainfo
reports a menu stream (and that might be the reason why ffprobe
reports wrong streams). But as I said, every VOB files I used are needed.
So, if you know any way to extract precisely menu-related stuff from the VOB, please let me know. (I'd like to avoid mplayer or avidemux: those depend on too many useless things like dbus or avahi)
==Software version==
ffprobe 0.8
libavutil 51. 9. 1
libavcodec 53. 7. 0
libavformat 53. 4. 0
libavdevice 53. 1. 1
libavfilter 2. 23. 0
libswscale 2. 0. 0
libpostproc 51. 2. 0
(also tried with ffmpeg v.8.0.1 from Debian unstable, same result with the same files so I reverted)
MediaInfoLib - v0.7.47
==ffprobe output==
(same result with ffmpeg v. 8.0.1)
$ffprobe FULLVOB.vob ffprobe version 0.8, Copyright (c) 2007-2011 the FFmpeg developers built on Jul 22 2011 16:19:50 with gcc 4.6.1 configuration: --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libdirac --disable-decoder=libdirac --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --enable-avfilter --enable-frei0r --enable-libopencv --enable-libfreetype --enable-libvo-aacenc --enable-libvo-amrwbenc --libdir=/usr/lib/x86_64-linux-gnu --enable-libdc1394 --disable-altivec --disable-armv5te --disable-armv6 --disable-vis --shlibdir=/usr/lib/x86_64-linux-gnu libavutil 51. 9. 1 / 51. 9. 1 libavcodec 53. 7. 0 / 53. 7. 0 libavformat 53. 4. 0 / 53. 4. 0 libavdevice 53. 1. 1 / 53. 1. 1 libavfilter 2. 23. 0 / 2. 23. 0 libswscale 2. 0. 0 / 2. 0. 0 libpostproc 51. 2. 0 / 51. 2. 0 [mpeg @ 0x1496440] max_analyze_duration reached Input #0, mpeg, from 'FULLVOB.vob': Duration: 00:00:31.88, start: 0.162622, bitrate: 1284320 kb/s Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 5500 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
==mediainfo output==
$ mediainfo FULLVOB.vob General Complete name : FULLVOB.vob Format : MPEG-PS File size : 4.77 GiB Duration : 1h 13mn Overall bit rate : 9 334 Kbps Video ID : 224 (0xE0) Format : MPEG Video Format version : Version 2 Format profile : Main@Main Format settings, BVOP : Yes Format settings, Matrix : Default Format settings, GOP : M=3, N=15 Duration : 1h 13mn Bit rate : 7 997 Kbps Maximum bit rate : 5 500 Kbps Width : 720 pixels Height : 480 pixels Display aspect ratio : 16:9 Frame rate : 29.970 fps Standard : NTSC Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Interlaced Scan order : Top Field First Compression mode : Lossy Bits/(Pixel*Frame) : 0.772 Stream size : 4.08 GiB (86%) Audio #1 ID : 189 (0xBD)-128 (0x80) Format : AC-3 Format/Info : Audio Coding 3 Mode extension : CM (complete main) Muxing mode : DVD-Video Duration : 7s 631ms Bit rate mode : Constant Bit rate : 384 Kbps Channel(s) : 6 channels Channel positions : Front: L C R, Side: L R, LFE Sampling rate : 48.0 KHz Bit depth : 16 bits Compression mode : Lossy Delay relative to video : -118ms Stream size : 358 KiB (0%) Audio #2 ID : 189 (0xBD)-129 (0x81) Format : AC-3 Format/Info : Audio Coding 3 Mode extension : CM (complete main) Muxing mode : DVD-Video Duration : 14s 689ms Bit rate mode : Constant Bit rate : 192 Kbps Channel(s) : 1 channel Channel positions : Front: C Sampling rate : 48.0 KHz Bit depth : 16 bits Compression mode : Lossy Delay relative to video : -118ms Stream size : 344 KiB (0%) Audio #3 ID : 189 (0xBD)-130 (0x82) Format : AC-3 Format/Info : Audio Coding 3 Mode extension : CM (complete main) Muxing mode : DVD-Video Duration : 14s 689ms Bit rate mode : Constant Bit rate : 192 Kbps Channel(s) : 1 channel Channel positions : Front: C Sampling rate : 48.0 KHz Bit depth : 16 bits Compression mode : Lossy Delay relative to video : -118ms Stream size : 344 KiB (0%) Audio #4 ID : 189 (0xBD)-131 (0x83) Format : AC-3 Format/Info : Audio Coding 3 Mode extension : CM (complete main) Muxing mode : DVD-Video Duration : 14s 689ms Bit rate mode : Constant Bit rate : 192 Kbps Channel(s) : 1 channel Channel positions : Front: C Sampling rate : 48.0 KHz Bit depth : 16 bits Compression mode : Lossy Delay relative to video : -118ms Stream size : 344 KiB (0%) Audio #5 ID : 189 (0xBD)-132 (0x84) Format : AC-3 Format/Info : Audio Coding 3 Format profile : Dolby Digital Mode extension : CM (complete main) Muxing mode : DVD-Video Duration : 6s 131ms Bit rate mode : Constant Bit rate : 192 Kbps Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 KHz Bit depth : 16 bits Compression mode : Lossy Delay relative to video : -117ms Stream size : 144 KiB (0%) Text #1 ID : 189 (0xBD)-32 (0x20) Format : RLE Format/Info : Run-length encoding Muxing mode : DVD-Video Delay relative to video : -118ms Text #2 ID : 189 (0xBD)-34 (0x22) Format : RLE Format/Info : Run-length encoding Muxing mode : DVD-Video Delay relative to video : -118ms Text #3 ID : 189 (0xBD)-36 (0x24) Format : RLE Format/Info : Run-length encoding Muxing mode : DVD-Video Delay relative to video : -118ms Text #4 ID : 189 (0xBD)-38 (0x26) Format : RLE Format/Info : Run-length encoding Muxing mode : DVD-Video Delay relative to video : -118ms Text #5 ID : 224 (0xE0)-DVD-2 Format : EIA-608 Muxing mode : DVD-Video Muxing mode, more info : Muxed in Video #1 Stream size : 0.00 Byte (0%) Menu
==mediainfo detailed output==
input:
mediainfo --Full FULLVOB.vob
In the file attached to this ticket.
Attachments (1)
Change History (28)
by , 13 years ago
Attachment: | mediainfo_full.txt added |
---|
comment:1 by , 13 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Mediainfo output is almost never useful; complete, uncut output of your (failing) ffmpeg command is always needed!
max_analyze_duration reached
This line indicates that you may need to provide -analyzeduration very_big_value to find all streams in the file. For program streams (vob files), I don't think there is a limit on when (= how late in a file) a stream may start, but in general, users expect FFmpeg not to scan a whole file on initialisation.
Please test with -analyzeduration 1000000000, and reopen the issue if it still fails.
comment:2 by , 13 years ago
I tested with '-analyzeduration 2147484000': no improvement.
comment:3 by , 13 years ago
Resolution: | invalid |
---|---|
Status: | closed → reopened |
I tested with '-analyzeduration 2147484000': no improvement.
comment:5 by , 13 years ago
Here it is:
$ffmpeg -i FULLVOB.vob -analyzeduration 2147480000 -map 0.1 -vn -ar 48000 -ac 2 -ab 192k -y audio-EN.mp3 ffmpeg version 0.8, Copyright (c) 2007-2011 the FFmpeg developers built on Jul 22 2011 16:19:50 with gcc 4.6.1 configuration: --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libdirac --disable-decoder=libdirac --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --enable-avfilter --enable-frei0r --enable-libopencv --enable-libfreetype --enable-libvo-aacenc --enable-libvo-amrwbenc --libdir=/usr/lib/x86_64-linux-gnu --enable-libdc1394 --disable-altivec --disable-armv5te --disable-armv6 --disable-vis --shlibdir=/usr/lib/x86_64-linux-gnu libavutil 51. 9. 1 / 51. 9. 1 libavcodec 53. 7. 0 / 53. 7. 0 libavformat 53. 4. 0 / 53. 4. 0 libavdevice 53. 1. 1 / 53. 1. 1 libavfilter 2. 23. 0 / 2. 23. 0 libswscale 2. 0. 0 / 2. 0. 0 libpostproc 51. 2. 0 / 51. 2. 0 [mpeg @ 0x1355960] max_analyze_duration reached Input #0, mpeg, from 'FULLVOB.vob': Duration: 00:00:31.88, start: 0.162622, bitrate: 1284320 kb/s Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 5500 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Output #0, mp3, to 'audio-EN.mp3': Output file #0 does not contain any stream
That's precisely why I sticked to ffprobe: ffmpeg is great but cannot copy what it cannot see.
EDIT: The duration of the actual video file is around 80 minutes, not 32 seconds. That's why I think ffmpeg is just looking at the menu stream, not the AV film.
comment:8 by , 13 years ago
I will upload the file this week end: I'm not home and I can't VPN from where I am (nor SSH).
About the VOB files:
1) Orgiginal VOB files were <1GB. It's by design because some platforms can't handle more at once.
2) Usually, those VOB files are split the dumb way : cat WHOLE_MOVIE.VOB | split -b 1g
3) So what I did was using cat PART_{1,2,3,4}.VOB > FULLMOVIE.VOB
. I first launched mplayer
to make sure the VOB files contained audio/video.
I also tried vobcopy -n 1 -l /dev/sr0
to directly extract and concatenate all the VOB files from the DVD.
4) When I saw this wasn't working, I tried on individual files.
I didn't try ffmpeg
on them but ffprobe
(if ffprobe
is blind, ffmpeg
wouldn't see any better I thought).
==1ST VOB (1GB)==
$ ffprobe -analyzeduration 2000000000 VTS_02_1.VOB ffprobe version 0.8, Copyright (c) 2007-2011 the FFmpeg developers built on Jul 22 2011 16:19:50 with gcc 4.6.1 configuration: --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libdirac --disable-decoder=libdirac --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --enable-avfilter --enable-frei0r --enable-libopencv --enable-libfreetype --enable-libvo-aacenc --enable-libvo-amrwbenc --libdir=/usr/lib/x86_64-linux-gnu --enable-libdc1394 --disable-altivec --disable-armv5te --disable-armv6 --disable-vis --shlibdir=/usr/lib/x86_64-linux-gnu libavutil 51. 9. 1 / 51. 9. 1 libavcodec 53. 7. 0 / 53. 7. 0 libavformat 53. 4. 0 / 53. 4. 0 libavdevice 53. 1. 1 / 53. 1. 1 libavfilter 2. 23. 0 / 2. 23. 0 libswscale 2. 0. 0 / 2. 0. 0 libpostproc 51. 2. 0 / 51. 2. 0 [mpeg @ 0x252f5c0] max_analyze_duration reached Input #0, mpeg, from 'VTS_02_1.VOB': Duration: 00:20:27.50, start: 0.162622, bitrate: 6997 kb/s Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 5500 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0.1[0x83]: Audio: ac3, 0 channels Stream #0.2[0x81]: Audio: ac3, 0 channels Stream #0.3[0x80]: Audio: ac3, 0 channels Stream #0.4[0x84]: Audio: ac3, 0 channels Stream #0.5[0x82]: Audio: ac3, 0 channels
==2ND VOB (1GB)==
$ ffprobe -analyzeduration 2000000000 VTS_02_2.VOB ffprobe version 0.8, Copyright (c) 2007-2011 the FFmpeg developers built on Jul 22 2011 16:19:50 with gcc 4.6.1 configuration: --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libdirac --disable-decoder=libdirac --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --enable-avfilter --enable-frei0r --enable-libopencv --enable-libfreetype --enable-libvo-aacenc --enable-libvo-amrwbenc --libdir=/usr/lib/x86_64-linux-gnu --enable-libdc1394 --disable-altivec --disable-armv5te --disable-armv6 --disable-vis --shlibdir=/usr/lib/x86_64-linux-gnu libavutil 51. 9. 1 / 51. 9. 1 libavcodec 53. 7. 0 / 53. 7. 0 libavformat 53. 4. 0 / 53. 4. 0 libavdevice 53. 1. 1 / 53. 1. 1 libavfilter 2. 23. 0 / 2. 23. 0 libswscale 2. 0. 0 / 2. 0. 0 libpostproc 51. 2. 0 / 51. 2. 0 [mpeg2video @ 0x1bd90a0] mpeg_decode_postinit() failure [mpeg2video @ 0x1bd90a0] mpeg_decode_postinit() failure [mpeg2video @ 0x1bd90a0] mpeg_decode_postinit() failure Input #0, mpeg, from 'VTS_02_2.VOB': Duration: 26:26:14.32, start: 1227.918867, bitrate: 90 kb/s Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 7500 kb/s, 24.35 fps, 59.94 tbr, 90k tbn, 59.94 tbc Stream #0.1[0x83]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.2[0x81]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.3[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s Stream #0.4[0x84]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s Stream #0.5[0x82]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.6[0x25]: Subtitle: dvdsub Stream #0.7[0x24]: Subtitle: dvdsub Stream #0.8[0x23]: Subtitle: dvdsub Stream #0.9[0x22]: Subtitle: dvdsub Stream #0.10[0x21]: Subtitle: dvdsub Stream #0.11[0x20]: Subtitle: dvdsub Stream #0.12[0x27]: Subtitle: dvdsub Stream #0.13[0x26]: Subtitle: dvdsub
==3RD VOB (1GB)==
$ ffprobe -analyzeduration 2000000000 VTS_02_3.VOB ffprobe version 0.8, Copyright (c) 2007-2011 the FFmpeg developers built on Jul 22 2011 16:19:50 with gcc 4.6.1 configuration: --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libdirac --disable-decoder=libdirac --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --enable-avfilter --enable-frei0r --enable-libopencv --enable-libfreetype --enable-libvo-aacenc --enable-libvo-amrwbenc --libdir=/usr/lib/x86_64-linux-gnu --enable-libdc1394 --disable-altivec --disable-armv5te --disable-armv6 --disable-vis --shlibdir=/usr/lib/x86_64-linux-gnu libavutil 51. 9. 1 / 51. 9. 1 libavcodec 53. 7. 0 / 53. 7. 0 libavformat 53. 4. 0 / 53. 4. 0 libavdevice 53. 1. 1 / 53. 1. 1 libavfilter 2. 23. 0 / 2. 23. 0 libswscale 2. 0. 0 / 2. 0. 0 libpostproc 51. 2. 0 / 51. 2. 0 [mpeg @ 0x23f65c0] max_analyze_duration reached Input #0, mpeg, from 'VTS_02_3.VOB': Duration: 00:20:39.36, start: 958.526856, bitrate: 6930 kb/s Stream #0.0[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s Stream #0.1[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 7500 kb/s, 23.94 fps, 59.94 tbr, 90k tbn, 59.94 tbc Stream #0.2[0x84]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s Stream #0.3[0x82]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.4[0x83]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.5[0x81]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.6[0x23]: Subtitle: dvdsub Stream #0.7[0x22]: Subtitle: dvdsub Stream #0.8[0x25]: Subtitle: dvdsub Stream #0.9[0x24]: Subtitle: dvdsub Stream #0.10[0x21]: Subtitle: dvdsub Stream #0.11[0x20]: Subtitle: dvdsub Stream #0.12[0x27]: Subtitle: dvdsub Stream #0.13[0x26]: Subtitle: dvdsub
==4TH VOB (1GB)==
$ ffprobe -analyzeduration 2000000000 VTS_02_4.VOB ffprobe version 0.8, Copyright (c) 2007-2011 the FFmpeg developers built on Jul 22 2011 16:19:50 with gcc 4.6.1 configuration: --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libdirac --disable-decoder=libdirac --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --enable-avfilter --enable-frei0r --enable-libopencv --enable-libfreetype --enable-libvo-aacenc --enable-libvo-amrwbenc --libdir=/usr/lib/x86_64-linux-gnu --enable-libdc1394 --disable-altivec --disable-armv5te --disable-armv6 --disable-vis --shlibdir=/usr/lib/x86_64-linux-gnu libavutil 51. 9. 1 / 51. 9. 1 libavcodec 53. 7. 0 / 53. 7. 0 libavformat 53. 4. 0 / 53. 4. 0 libavdevice 53. 1. 1 / 53. 1. 1 libavfilter 2. 23. 0 / 2. 23. 0 libswscale 2. 0. 0 / 2. 0. 0 libpostproc 51. 2. 0 / 51. 2. 0 Input #0, mpeg, from 'VTS_02_4.VOB': Duration: 00:20:21.63, start: 2197.949489, bitrate: 7031 kb/s Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 7500 kb/s, 23.94 fps, 59.94 tbr, 90k tbn, 59.94 tbc Stream #0.1[0x84]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s Stream #0.2[0x82]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.3[0x83]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.4[0x81]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.5[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
==5TH VOB (786MB)==
$ ffprobe -analyzeduration 2000000000 VTS_02_5.VOB ffprobe version 0.8, Copyright (c) 2007-2011 the FFmpeg developers built on Jul 22 2011 16:19:50 with gcc 4.6.1 configuration: --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libdirac --disable-decoder=libdirac --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --enable-avfilter --enable-frei0r --enable-libopencv --enable-libfreetype --enable-libvo-aacenc --enable-libvo-amrwbenc --libdir=/usr/lib/x86_64-linux-gnu --enable-libdc1394 --disable-altivec --disable-armv5te --disable-armv6 --disable-vis --shlibdir=/usr/lib/x86_64-linux-gnu libavutil 51. 9. 1 / 51. 9. 1 libavcodec 53. 7. 0 / 53. 7. 0 libavformat 53. 4. 0 / 53. 4. 0 libavdevice 53. 1. 1 / 53. 1. 1 libavfilter 2. 23. 0 / 2. 23. 0 libswscale 2. 0. 0 / 2. 0. 0 libpostproc 51. 2. 0 / 51. 2. 0 [mpeg2video @ 0x16940a0] mpeg_decode_postinit() failure [mpeg2video @ 0x16940a0] mpeg_decode_postinit() failure [mpeg2video @ 0x16940a0] mpeg_decode_postinit() failure [mpeg2video @ 0x16940a0] mpeg_decode_postinit() failure [mpeg2video @ 0x16940a0] mpeg_decode_postinit() failure [mpeg2video @ 0x16940a0] mpeg_decode_postinit() failure [mpeg @ 0x16915c0] max_analyze_duration reached Input #0, mpeg, from 'VTS_02_5.VOB': Duration: 25:34:16.11, start: 3419.645489, bitrate: 71 kb/s Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 7500 kb/s, 24.98 fps, 59.94 tbr, 90k tbn, 59.94 tbc Stream #0.1[0x84]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s Stream #0.2[0x82]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.3[0x83]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.4[0x81]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s Stream #0.5[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s Stream #0.6[0x25]: Subtitle: dvdsub Stream #0.7[0x24]: Subtitle: dvdsub Stream #0.8[0x23]: Subtitle: dvdsub Stream #0.9[0x22]: Subtitle: dvdsub Stream #0.10[0x21]: Subtitle: dvdsub Stream #0.11[0x20]: Subtitle: dvdsub Stream #0.12[0x27]: Subtitle: dvdsub Stream #0.13[0x26]: Subtitle: dvdsub
As you can see, even though all those VOBs contain audio stream, some lack the subtitles and weird errors are given.
That's why I though merging the files woulb be a good idea (and that's also what people seem to do).
comment:9 by , 13 years ago
Hi there,
It's alright: you can close this ticket if you are not interested in DVD format handling.
mplayer
did the trick by correctly extracting the video stream (parts of X11, DBUS and stuff are installed now on a headless server... ugly!)
My guess is that the menu was actually embedded in some VOB files (in this particular DVD in contrast with most of DVDs I deal with): when I played with mplayer
the VOB file I created, a menu was displayed (which shouldn't be).
That's a shame ffmpeg
can't handle DVD ISOs or "fat" VOB files: I do not know of any almost non fancy dependence-free software that can handle DVD streams and extract them correctly.
Unfortunately, I'm far from being good enough to write something to 'really' solve my problem. So, sorry for just complaining.
Thanks for all and keep up the good work: even with this problem, I did not regret the switch to ffmpeg
.
follow-up: 12 comment:10 by , 13 years ago
Status: | reopened → open |
---|
Hello,
Any update on this issue? I see the same issue with one of my VOB file. ffmpeg is reporting as zero audio channels, even though it has 5.1 audio stream.
comment:11 by , 13 years ago
Hello Aztek,
Are you able to solve this issue? I tried several encoders in past 2 months and Handbrake is the only one, which is working fine. All others are reporting zero audio channels OR no audio stream.
follow-up: 14 comment:12 by , 13 years ago
Replying to streamingguy:
I see the same issue with one of my VOB file. ffmpeg is reporting as zero audio channels, even though it has 5.1 audio stream.
Please provide a ffmpeg command line that allows to reproduce your problem (no external libraries please if not necessary to reproduce) together with complete, uncut console output.
A sample might be needed, too.
follow-up: 15 comment:13 by , 13 years ago
Hi streamingguy,
This issue is related to the way the VOB files were created. Namely, menus, bonuses and other non-audio/video stuff were merged in the VOB files in such a way that they can't be easily extracted (for instance menu-related stuff is scattered throughout the first VOB files and the player has to "jump" to play it). If you want convert such a VOB file, you must use a software that is fully aware of the DVD format. ffmpeg
only handles audio/video VOB files, not DVD files. That's it.
If you want to convert your "fat" VOB files to something else, dump the stream of interest with some DVD-aware program such as mplayer
: mplayer
fully understand VOB format and doesn't assume VOB == audio/video.
comment:14 by , 13 years ago
Hello,
Thank you for your quick reply! I am very new to FFMPEG and sorry if I miss anything in my below details:
Source: .VOB file extracted from DVD decrypter (first chapter of the movie). This has one video stream, one audio stream (AC3 5.1).
Issue: When I try to encode into any format, it reports 0 channels in ac3 stream and there is no audio track in the output. I tried with directly copying the AC3 stream, encoding AC3 to AAC, using analyzeduration option etc.,
But, the same file is working fine when I use Handbrake, MEncoder.
Source to download: You can download .VOB file here: http://poacric.blob.core.windows.net/$root/TestClip.zip
Command Used: ffmpeg -i d:\testclip.vob -acodec copy d:\ffmpegout.mp4
Console output:
C:\ffmpeg>ffmpeg -i d:\testclip.vob -acode c copy d:\ffmpegout.mp4 ffmpeg version N-35966-g1d0ae92, Copyright (c) 2000-2011 the FFmpeg developers built on Dec 19 2011 13:10:19 with gcc 4.6.2 configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzli b --enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb --enable -libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-l ibrtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-li bvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-l ibx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 51. 32. 0 / 51. 32. 0 libavcodec 53. 46. 1 / 53. 46. 1 libavformat 53. 27. 0 / 53. 27. 0 libavdevice 53. 4. 0 / 53. 4. 0 libavfilter 2. 53. 0 / 2. 53. 0 libswscale 2. 1. 0 / 2. 1. 0 libpostproc 51. 2. 0 / 51. 2. 0 [mpeg @ 0000000000497FD0] max_analyze_duration 5000000 reached at 5004667 Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/ 1001) -> 59.94 (60000/1001) Input #0, mpeg, from 'd:\testclip.vob': Duration: 00:04:51.99, start: 0.316978, bitrate: 4939 kb/s Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [SAR 32:27 DA R 16:9], 8000 kb/s, 23.98 fps, 59.94 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x80]: Audio: ac3, 0 channels [buffer @ 00000000029E0BE0] w:720 h:480 pixfmt:yuv420p tb:1/1000000 sar:32/27 sw s_param: [libx264 @ 00000000027E0810] using SAR=32/27 [libx264 @ 00000000027E0810] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShu ffle SSE4.2 [libx264 @ 00000000027E0810] profile High, level 3.1 [libx264 @ 00000000027E0810] 264 - core 119 r2106 07efeb4 - H.264/MPEG-4 AVC cod ec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 r ef=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed _ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pski p=1 chroma_qp_offset=-2 threads=12 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 di rect=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra _refresh=0 rc_lookahead=40 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 'd:\ffmpegout.mp4': Metadata: encoder : Lavf53.27.0 Stream #0:0: Video: h264 (![0][0][0] / 0x0021), yuv420p, 720x480 [SAR 32:27 DAR 16:9], q=-1--1, 60k tbn, 59.94 tbc Stream mapping: Stream #0:0 -> #0:0 (mpeg2video -> libx264) Press [q] to stop, [?] for help [mpeg2video @ 00000000004AB7C0] warning: first frame is no keyframe Last message repeated 1 times frame= 117 fps= 0 q=31.0 size= 273kB time=00:00:00.98 bitrate=2273.2kbits/ frame= 205 fps=201 q=31.0 size= 602kB time=00:00:02.45 bitrate=2011.7kbits/ frame= 282 fps=183 q=31.0 size= 861kB time=00:00:03.73 bitrate=1887.4kbits/ frame= 367 fps=178 q=31.0 size= 1179kB time=00:00:05.15 bitrate=1874.1kbits/ frame= 466 fps=182 q=31.0 size= 1376kB time=00:00:06.80 bitrate=1655.8kbits/ frame= 475 fps=175 q=-1.0 Lsize= 1401kB time=00:00:07.89 bitrate=1454.6kbits /s dup=273 drop=0 video:1396kB audio:0kB global headers:0kB muxing overhead 0.367020% [libx264 @ 00000000027E0810] frame I:3 Avg QP:23.66 size: 48841 [libx264 @ 00000000027E0810] frame P:309 Avg QP:26.15 size: 4086 [libx264 @ 00000000027E0810] frame B:163 Avg QP:30.33 size: 122 [libx264 @ 00000000027E0810] consecutive B-frames: 49.5% 7.2% 21.5% 21.9% [libx264 @ 00000000027E0810] mb I I16..4: 25.5% 46.0% 28.5% [libx264 @ 00000000027E0810] mb P I16..4: 1.0% 0.6% 0.0% P16..4: 22.2% 4.5 % 4.5% 0.0% 0.0% skip:67.1% [libx264 @ 00000000027E0810] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 11.1% 0.0 % 0.0% direct: 0.0% skip:88.9% L0:57.4% L1:39.9% BI: 2.6% [libx264 @ 00000000027E0810] 8x8 transform intra:40.0% inter:74.5% [libx264 @ 00000000027E0810] coded y,uvDC,uvAC intra: 44.1% 49.2% 24.7% inter: 1 1.6% 4.2% 1.0% [libx264 @ 00000000027E0810] i16 v,h,dc,p: 39% 42% 6% 13% [libx264 @ 00000000027E0810] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 10% 32% 37% 3% 2% 2% 4% 3% 7% [libx264 @ 00000000027E0810] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 6% 64% 14% 2% 2% 2% 3% 2% 5% [libx264 @ 00000000027E0810] i8c dc,h,v,p: 40% 48% 10% 2% [libx264 @ 00000000027E0810] Weighted P-Frames: Y:0.3% UV:0.3% [libx264 @ 00000000027E0810] ref P L0: 67.2% 13.1% 10.0% 9.8% [libx264 @ 00000000027E0810] ref B L0: 98.4% 1.3% 0.3% [libx264 @ 00000000027E0810] ref B L1: 96.1% 3.9% [libx264 @ 00000000027E0810] kb/s:1442.51 Received signal 2: terminating.
Please let me know, if you need any more information.
I have been searching for a proper encoder from past 2 months and couldn't find a proper solution.
My requirement: I have several DVDs and want to convert them into MP4/M2TS/TS files with 2 audio streams (AC3 5.1 and AAC). Also, want to add watermark on the output. Tried different encoders, but nothing is working as per my requirement.
Thank you for your time!
Replying to cehoyos:
Replying to streamingguy:
I see the same issue with one of my VOB file. ffmpeg is reporting as zero audio channels, even though it has 5.1 audio stream.
Please provide a ffmpeg command line that allows to reproduce your problem (no external libraries please if not necessary to reproduce) together with complete, uncut console output.
A sample might be needed, too.
comment:15 by , 13 years ago
Hello Aztek,
Thank you so much for your quick reply and your suggestion. It worked great with mplayer.
But, I also wanted to add watermark to my video, which is not available on mencoder (am I missing something here?). I am using mencoder on Windows platform.
As I mentioned above, my requirement is to convert 100+ of DVDs into MP4/M2TS/TS files with 2 audio streams with watermark. Please suggest me if you have better UI which supports my requirement.
I have tried many encoders and some are having issues with audio, some do not have watermark option, some do not multiple audio stream option (for output) and some are giving audio/video sync issues. We have 100+ encoders on the web, but still couldn't find one with these options :-(
Thank you for your time!
Replying to Aztek:
Hi streamingguy,
This issue is related to the way the VOB files were created. Namely, menus, bonuses and other non-audio/video stuff were merged in the VOB files in such a way that they can't be easily extracted (for instance menu-related stuff is scattered throughout the first VOB files and the player has to "jump" to play it). If you want convert such a VOB file, you must use a software that is fully aware of the DVD format.
ffmpeg
only handles audio/video VOB files, not DVD files. That's it.
If you want to convert your "fat" VOB files to something else, dump the stream of interest with some DVD-aware program such as
mplayer
:mplayer
fully understand VOB format and doesn't assume VOB == audio/video.
comment:17 by , 13 years ago
Just tested with 0.10 build, but still having the same issue. Any update on this issue?
follow-up: 20 comment:18 by , 13 years ago
Hello Aztek,
When you get few minutes, could you please update version and component of this ticket? so that it will be addressed by corresponding people easily?
Thank you
follow-up: 22 comment:19 by , 13 years ago
@streamingguy:
Why do you think an issue with a vob file that starts with a DVD menu before the actual content (and probably cannot be fixed without special DVD handling, see "DVD reader protocol" on ffmpeg-devel for a patch that may or may not help with the original problem) is related to a vob file with audio that starts late (which is perfectly legal in a vob file, ticket #598 contains a link to a vob sample with late starting subtitles)? Please open a new ticket, use ffmpeg -analyzeduration 2000000000 -i testclip.vob out.wav as command line.
follow-ups: 21 23 comment:20 by , 13 years ago
Good to hear mplayer
did the trick.
About the decent encoder-thing search: AFAIK, mencoder
and a lot of softwares are built on the top of ffmpeg
. When you use mencoder
, you basically use mplayer
to dump audio/video stream and then use the embedded ffmpeg
to encode to what you wants.
About the problem with your testclip: there might be no audio because audio stream might show up later in the file (your testclip is only ~1MB long, audio might begin at 6MB). Well, since you said mplayer -dumpstream
did the trick, it's no problem anymore.
About the watermark: please keep in mind this is annoying to see. There is an how to there : http://www.idude.net/index.php/how-to-watermark-a-video-using-ffmpeg/
If you want to keep credit for a video, update metadata of your file: people won't bother to change it afterwards.
Offtopic: streamguy, a bugtracker is not a forum: folks receive e-mails each time you post something and post such as "Any update ?" are useless (you don't give any extra information). Saying that the method did not work IS an interesting extra piece of information. I understand that "bumping" might be tempting but, unlike forums, every open threads are reviewed once in a while. Don't take this wrong: it's great that you try to help to enhance the software by reporting bugs! I'm just telling you to be a bit patient.
Replying to streamingguy:
Hello Aztek,
When you get few minutes, could you please update version and component of this ticket? so that it will be addressed by corresponding people easily?
Thank you
comment:21 by , 13 years ago
Replying to Aztek:
About the decent encoder-thing search: AFAIK,
mencoder
and a lot of softwares are built on the top offfmpeg
. When you usemencoder
, you basically usemplayer
to dump audio/video stream and then use the embeddedffmpeg
to encode to what you wants.
Unfortunately, that is not entirely correct:
MEncoder does have features that are not yet present in FFmpeg, but MEncoder is not actively maintained, meaning many bugs will likely not be fixed while FFmpeg is actively maintained, and reporting bugs often leads to fixes.
About the problem with your testclip: there might be no audio because audio stream might show up later in the file (your testclip is only ~1MB long, audio might begin at 6MB).
The sample does contain audio, FFmpeg does not see it because audio starts several seconds after video (which is perfectly ok for a mpeg/vob file).
comment:22 by , 13 years ago
Replying to cehoyos:
Thank you for your reply cehoyos!
I will open the new ticket and provide my issue details. I tried with 2000000000 analyze duration and still can not get the audio in my output.
Thank you again for your time!
@streamingguy:
Why do you think an issue with a vob file that starts with a DVD menu before the actual content (and probably cannot be fixed without special DVD handling, see "DVD reader protocol" on ffmpeg-devel for a patch that may or may not help with the original problem) is related to a vob file with audio that starts late (which is perfectly legal in a vob file, ticket #598 contains a link to a vob sample with late starting subtitles)? Please open a new ticket, use ffmpeg -analyzeduration 2000000000 -i testclip.vob out.wav as command line.
comment:23 by , 13 years ago
Replying to Aztek:
Hello Aztek,
Thank you for your reply! We are trying to encode for some commercial purpose and hence want to use the watermark/logo.
Thank you for clarifying about this bugtracker. I tried with many encoders from past 2 months and stuck with my encoding task. Hence, I thought of bumping it so that somebody will see it easily.
Thank you once again!
Good to hear
mplayer
did the trick.
About the decent encoder-thing search: AFAIK,
mencoder
and a lot of softwares are built on the top offfmpeg
. When you usemencoder
, you basically usemplayer
to dump audio/video stream and then use the embeddedffmpeg
to encode to what you wants.
About the problem with your testclip: there might be no audio because audio stream might show up later in the file (your testclip is only ~1MB long, audio might begin at 6MB). Well, since you said
mplayer -dumpstream
did the trick, it's no problem anymore.
About the watermark: please keep in mind this is annoying to see. There is an how to there : http://www.idude.net/index.php/how-to-watermark-a-video-using-ffmpeg/
If you want to keep credit for a video, update metadata of your file: people won't bother to change it afterwards.
Offtopic: streamguy, a bugtracker is not a forum: folks receive e-mails each time you post something and post such as "Any update ?" are useless (you don't give any extra information). Saying that the method did not work IS an interesting extra piece of information. I understand that "bumping" might be tempting but, unlike forums, every open threads are reviewed once in a while. Don't take this wrong: it's great that you try to help to enhance the software by reporting bugs! I'm just telling you to be a bit patient.
Replying to streamingguy:
Hello Aztek,
When you get few minutes, could you please update version and component of this ticket? so that it will be addressed by corresponding people easily?
Thank you
comment:24 by , 12 years ago
Keywords: | mpegps added |
---|---|
Resolution: | → needs_more_info |
Status: | open → closed |
No sample was ever provided for the original problem.
comment:25 by , 12 years ago
It is possible that the original problem can be solved with "-probesize 2G -analyzeduration 2G".
comment:26 by , 8 years ago
Just wanted to add that I encountered such a vob file too. In my case ffmpeg -i VTS_01_1.VOB says the file contains:
1 data track (dvd_nav_packet), 1 video track, 5 audio tracks and 17 subtitle tracks
while mediainfo says it contains:
1 video track and 5 audio tracks (same as ffmpeg) but 25 subtitle tracks.
When trying to check the tracks of VTS_01_2.VOB (or 3, 4 or 5), ffmpeg identified all 25 subtitle tracks just like mediainfo did.
As a curious note, I tried doing:
cat VTS_01_1.VOB VTS_01_2.VOB VTS_01_3.VOB VTS_01_4.VOB VTS_01_5.VOB > full.vob
ffmpeg -i full.vob
And then ffmpeg only showed 1 data track, 1 video track and 5 audio tracks (that is, everything except any subtitle tracks).
I was about to report a bug when I noticed this old one that was closed 4 years ago with "needs_more_info" and the request to test with "-probesize 2G -analyzeduration 2G". So I tried that and it fixed the problem for me, so it probably also fixed it to the original reporter.
When doing:
ffmpeg -probesize 1G -analyzeduration 1G -i VTS_01_1.VOB
I got all expected data, video and audio tracks, and instead of 25 subtitle tracks I got 29 subtitle tracks. Even more than expected :).
I tried with the concatenated zzz.vob file and the 29 subtitle tracks were recognized there too.
Btw, I tested with different sizes and for example, with -probesize 400M -analyzeduration 400M, ffmpeg recognized 28 subtitle tracks, with 100M, 27 tracks and with 80M, only 4 tracks.
So, the problem was solved with those options. Anyway, if you still want a sample I can provide it.
comment:27 by , 8 years ago
This is the normal behaviour for VOB files, since they do not have a global declaration of the available streams, streams must be discovered by reading the file until a packet is found; for subtitles it can happen very late.
Furthermore, you are wrong using the VTS_XX_Y.VOB files directly. These files contain several contents glued together, and can only be exploited by software aware of the DVD structure.
Output of
mediainfo --Full FULLVIDEO.VOB