[FFmpeg-user] ffmpeg-2.1.1 latest - raw data decode/encode appears broken

David Favor david at davidfavor.com
Thu Jan 2 18:24:51 CET 2014


Maybe I completely misunderstand how to extract + inject data
streams into .VOB containers... Here's what I'm trying to do...

I have a .VOB file generated by the now dead Apple iDVD project.

This .VOB file contains three streams - simple audio + simple video...

And a dvd_nav_packet stream which is a complex, template based,
menu system to navigate to different points in the other .VOB files

I'd like to break apart this .VOB file into audio + video + data files.
Then edit the audio + video + reassemble the .VOB file with these three
files. Seems very simple.

My ffmpeg shows support for encode/decode of .data extensions... which
I take to mean, just extract + add some data, with no processing...
Maybe I'm wrong about this.

ffmpeg -formats | egrep -i 'raw data'
ffmpeg version 2.1.1-2014-01-02-59483-g4843227 Copyright (c) 2000-2014 the FFmpeg developers
   built on Jan  2 2014 11:01:58 with gcc 4.8.2 (MacPots gcc48 4.8.2_0)
   configuration: --prefix=/david-favor-tools/osx-10.9 --enable-pic --enable-gpl --disable-debug --extra-cflags='-I/david-favor-tools/osx-10.9/include -I/opt/local/include -I/usr/local/include 
-I/usr/include' --extra-ldflags='-Wl,-rpath,/david-favor-tools/osx-10.9/lib -Wl,-rpath,/opt/local/lib -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/lib -L/david-favor-tools/osx-10.9/lib -L/opt/local/lib 
-L/usr/local/lib -L/usr/lib' --enable-version3 --enable-shared --disable-static --enable-ffplay --enable-ffprobe --enable-ffserver --enable-runtime-cpudetect --enable-nonfree --enable-zlib 
--enable-bzlib --enable-openssl --enable-libmp3lame --enable-libfaac --enable-libfdk_aac --enable-libvpx --enable-libtheora --enable-libvorbis --enable-libxvid --enable-libopus --enable-libopenjpeg 
--enable-libx264 --enable-postproc --enable-frei0r --enable-libopencore-amrnb --enable-libfreetype --enable-libmodplug --enable-libass --enable-openssl
   libavutil      52. 59.100 / 52. 59.100
   libavcodec     55. 47.100 / 55. 47.100
   libavformat    55. 22.102 / 55. 22.102
   libavdevice    55.  5.102 / 55.  5.102
   libavfilter     4.  0.103 /  4.  0.103
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
  DE data            raw data               <<<<< raw data encode/decode support

If I understand the ffmpeg stream mapping docs, the following syntax should strip
the first occurrence of audio + video + data streams into separate files...

This command works as expected - producing a .wav file + .vob file.

     ffmpeg -y -i VTS_01_0.VOB -c:a pcm_s16le -ar 44100 -ac 2 foo.wav -map 0:1 -c:v copy foo.vob

This command fails, which adds the data extract by adding -map 0:1 -c:d copy foo.data

     ffmpeg -y -i VTS_01_0.VOB -c:a pcm_s16le -ar 44100 -ac 2 foo.wav -map 0:1 -c:v copy foo.vob -map 0:1 -c:d copy foo.data
     ... ... ...
     [NULL @ 0x7ff6c480b800] Unable to find a suitable output format for 'foo.data'  <<<<< *.data extensions fail to be handled
     foo.data: Invalid argument

ffmpeg -y -i VTS_01_0.VOB -c:a pcm_s16le -ar 44100 -ac 2 foo.wav -map 0:1 -c:v copy foo.vob -map 0:1 -c:d copy foo.data
ffmpeg version 2.1.1-2014-01-02-59483-g4843227 Copyright (c) 2000-2014 the FFmpeg developers
   built on Jan  2 2014 11:01:58 with gcc 4.8.2 (MacPots gcc48 4.8.2_0)
   configuration: --prefix=/david-favor-tools/osx-10.9 --enable-pic --enable-gpl --disable-debug --extra-cflags='-I/david-favor-tools/osx-10.9/include -I/opt/local/include -I/usr/local/include 
-I/usr/include' --extra-ldflags='-Wl,-rpath,/david-favor-tools/osx-10.9/lib -Wl,-rpath,/opt/local/lib -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/lib -L/david-favor-tools/osx-10.9/lib -L/opt/local/lib 
-L/usr/local/lib -L/usr/lib' --enable-version3 --enable-shared --disable-static --enable-ffplay --enable-ffprobe --enable-ffserver --enable-runtime-cpudetect --enable-nonfree --enable-zlib 
--enable-bzlib --enable-openssl --enable-libmp3lame --enable-libfaac --enable-libfdk_aac --enable-libvpx --enable-libtheora --enable-libvorbis --enable-libxvid --enable-libopus --enable-libopenjpeg 
--enable-libx264 --enable-postproc --enable-frei0r --enable-libopencore-amrnb --enable-libfreetype --enable-libmodplug --enable-libass --enable-openssl
   libavutil      52. 59.100 / 52. 59.100
   libavcodec     55. 47.100 / 55. 47.100
   libavformat    55. 22.102 / 55. 22.102
   libavdevice    55.  5.102 / 55.  5.102
   libavfilter     4.  0.103 /  4.  0.103
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
Guessed Channel Layout for  Input Stream #0.2 : stereo
Input #0, mpeg, from 'VTS_01_0.VOB':
   Duration: 00:00:33.99, start: 0.300300, bitrate: 80296 kb/s
     Stream #0:0[0x1bf]: Data: dvd_nav_packet
     Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, smpte170m), 720x480 [SAR 8:9 DAR 4:3], max. 8000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
     Stream #0:2[0xa0]: Audio: pcm_dvd, 48000 Hz, stereo, s16, 1536 kb/s
[NULL @ 0x7ff6c480b800] Unable to find a suitable output format for 'foo.data'
foo.data: Invalid argument


More information about the ffmpeg-user mailing list