<p>Try to precise output format :<br />
<code>ffmpeg -f concat -safe 0 -i vobs.txt -c copy -f dvd output.vob</code></p>

CC BY-SA 4.0
2022-10-25T17:00:30.927Z
2022-10-25T17:00:30.927Z
Alain1A45
<p>I ended up converting each vob to mp4 and then combined them the same way and it seemed to have solved the problem.</p>

CC BY-SA 4.0
2022-10-23T18:31:10.873Z
2022-10-23T18:31:10.873Z
patrick
<p>I am trying to convert dvd .VOB files (unencrypted) to .mp4, but first want to concat them</p>
<p>...  I made a text file:</p>
<pre><code>file './VTS_01_1.VOB'
file './VTS_01_2.VOB'
file './VTS_01_3.VOB'
file './VTS_01_4.VOB'
</code></pre>
<p>And then ran: <code>ffmpeg -f concat -safe 0 -i vobs.txt -c copy output.vob</code></p>
<p>I got a bunch of mentions about invalid frame dimensions-- here is the actual output:</p>
<pre><code>ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with Apple clang version 14.0.0 (clang-1400.0.29.102)
  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/5.1.2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-neon
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, concat, from 'vobs.txt':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Data: dvd_nav_packet
  Stream #0:1: Video: mpeg2video (Main), yuv420p(tv, top first), 720x480 [SAR 32:27 DAR 16:9], 29.75 fps, 59.94 tbr, 90k tbn
    Side data:
      cpb: bitrate max/min/avg: 8300000/0/0 buffer size: 1835008 vbv_delay: N/A
  Stream #0:2: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Output #0, svcd, to 'output.vob':
  Metadata:
    encoder         : Lavf59.27.100
  Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, top first), 720x480 [SAR 32:27 DAR 16:9], q=2-31, 29.75 fps, 59.94 tbr, 90k tbn
    Side data:
      cpb: bitrate max/min/avg: 8300000/0/0 buffer size: 1835008 vbv_delay: N/A
  Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
  Stream #0:1 -&gt; #0:0 (copy)
  Stream #0:2 -&gt; #0:1 (copy)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=-1.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=N/[svcd @ 0x15c023e40] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
frame=17685 fps=0.0 q=-1.0 size=  499968kB time=00:12:16.90 bitrate=5558.0kbits/frame=37385 fps=37385 q=-1.0 size= 1000448kB time=00:25:58.47 bitrate=5258.8kbit[mpeg2video @ 0x15c005d10] Invalid frame dimensions 0x0.
    Last message repeated 9 times
[svcd @ 0x15c023e40] Non-monotonous DTS in output stream 0:0; previous: 144980089, current: 144980089; changing to 144980090. This may result in incorrect timestamps in the output file.
frame=68424 fps=45616 q=-1.0 size= 1065984kB time=00:42:44.01 bitrate=3405.8kbit[mpeg2video @ 0x15c005be0] Invalid frame dimensions 0x0.
    Last message repeated 10 times
[svcd @ 0x15c023e40] Non-monotonous DTS in output stream 0:0; previous: 289151513, current: 289151513; changing to 289151514. This may result in incorrect timestamps in the output file.
frame=98383 fps=49191 q=-1.0 size= 1092608kB time=00:58:42.71 bitrate=2540.8kbitframe=131893 fps=52756 q=-1.0 size= 1122304kB time=01:16:35.18 bitrate=2000.8kbi[mpeg2video @ 0x15c005880] Invalid frame dimensions 0x0.
    Last message repeated 3 times
[svcd @ 0x15c023e40] Non-monotonous DTS in output stream 0:0; previous: 439137237, current: 439137237; changing to 439137238. This may result in incorrect timestamps in the output file.
frame=164495 fps=54830 q=-1.0 size= 1151232kB time=01:33:58.44 bitrate=1672.6kbiframe=182556 fps=55587 q=-1.0 Lsize= 1167534kB time=01:43:36.26 bitrate=1538.6kbits/s speed=1.89e+03x
video:1097216kB audio:55703kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.267720%
</code></pre>
<p>The output.vob file is only 1.2gb, where I am expecting it to be close to 4gb, and when I play it, it appears to be missing all the content from <code>VTS_01_2</code>, <code>VTS_01_3</code>, and <code>VTS_01_4</code>.</p>
<p>The source material seems to be fine, if I drag the VIDEO_TS folder containing these files to VLC, or DVD player, it plays fine all the way through.......</p>
<p>What am I doing wrong?</p>

<ffmpeg>
ffmpeg concat vob files not working?
patrick
# ffmpeg concat vob files not working?

(Asked by: username_0 on 2022-10-23)

I am trying to convert dvd .VOB files (unencrypted) to .mp4, but first want to concat them
...  I made a text file:
file './VTS_01_1.VOB'
file './VTS_01_2.VOB'
file './VTS_01_3.VOB'
file './VTS_01_4.VOB'

And then ran: ffmpeg -f concat -safe 0 -i vobs.txt -c copy output.vob
I got a bunch of mentions about invalid frame dimensions-- here is the actual output:
ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with Apple clang version 14.0.0 (clang-1400.0.29.102)
  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/5.1.2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-neon
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, concat, from 'vobs.txt':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Data: dvd_nav_packet
  Stream #0:1: Video: mpeg2video (Main), yuv420p(tv, top first), 720x480 [SAR 32:27 DAR 16:9], 29.75 fps, 59.94 tbr, 90k tbn
    Side data:
      cpb: bitrate max/min/avg: 8300000/0/0 buffer size: 1835008 vbv_delay: N/A
  Stream #0:2: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Output #0, svcd, to 'output.vob':
  Metadata:
    encoder         : Lavf59.27.100
  Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, top first), 720x480 [SAR 32:27 DAR 16:9], q=2-31, 29.75 fps, 59.94 tbr, 90k tbn
    Side data:
      cpb: bitrate max/min/avg: 8300000/0/0 buffer size: 1835008 vbv_delay: N/A
  Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:2 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=-1.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=N/[svcd @ 0x15c023e40] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
frame=17685 fps=0.0 q=-1.0 size=  499968kB time=00:12:16.90 bitrate=5558.0kbits/frame=37385 fps=37385 q=-1.0 size= 1000448kB time=00:25:58.47 bitrate=5258.8kbit[mpeg2video @ 0x15c005d10] Invalid frame dimensions 0x0.
    Last message repeated 9 times
[svcd @ 0x15c023e40] Non-monotonous DTS in output stream 0:0; previous: 144980089, current: 144980089; changing to 144980090. This may result in incorrect timestamps in the output file.
frame=68424 fps=45616 q=-1.0 size= 1065984kB time=00:42:44.01 bitrate=3405.8kbit[mpeg2video @ 0x15c005be0] Invalid frame dimensions 0x0.
    Last message repeated 10 times
[svcd @ 0x15c023e40] Non-monotonous DTS in output stream 0:0; previous: 289151513, current: 289151513; changing to 289151514. This may result in incorrect timestamps in the output file.
frame=98383 fps=49191 q=-1.0 size= 1092608kB time=00:58:42.71 bitrate=2540.8kbitframe=131893 fps=52756 q=-1.0 size= 1122304kB time=01:16:35.18 bitrate=2000.8kbi[mpeg2video @ 0x15c005880] Invalid frame dimensions 0x0.
    Last message repeated 3 times
[svcd @ 0x15c023e40] Non-monotonous DTS in output stream 0:0; previous: 439137237, current: 439137237; changing to 439137238. This may result in incorrect timestamps in the output file.
frame=164495 fps=54830 q=-1.0 size= 1151232kB time=01:33:58.44 bitrate=1672.6kbiframe=182556 fps=55587 q=-1.0 Lsize= 1167534kB time=01:43:36.26 bitrate=1538.6kbits/s speed=1.89e+03x
video:1097216kB audio:55703kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.267720%

The output.vob file is only 1.2gb, where I am expecting it to be close to 4gb, and when I play it, it appears to be missing all the content from VTS_01_2, VTS_01_3, and VTS_01_4.
The source material seems to be fine, if I drag the VIDEO_TS folder containing these files to VLC, or DVD player, it plays fine all the way through.......
What am I doing wrong?

**Tags:** ffmpeg


---

## 2 answers

### Answer by username_1 on 2022-10-25. Score: 0

Try to precise output format :  
`ffmpeg -f concat -safe 0 -i vobs.txt -c copy -f dvd output.vob`


---

### Answer by username_0 on 2022-10-23. Score: 0

I ended up converting each vob to mp4 and then combined them the same way and it seemed to have solved the problem.


---

