Hi,

I'm trying to extract images (frames) from some DVD. For this I think I need to 
concatenate multiple .VOB (like VTS_01_1.VOB, VTS_01_2.VOB) to be able to 
extract images that are in the second, third, etc. VOB. Unfortunately it looks 
it doesn't work when I put the seek (-ss) before the input, to do a fast 
extraction. I need to put the seek after the input for it to work, and this 
way, the extraction is really slow (all frames need to be uncompress until the 
seek time).

Here's my command that doesn't work:
ffmpeg -ss 00:10:39.638 -i 
concat:"iso/mountpoint/VIDEO_TS/VTS_01_1.VOB|iso/mountpoint/VIDEO_TS/VTS_01_2.VOB"
 -y -an -f image2 -vframes 1 frame1.jpg

And the output (check last line):
ffmpeg version 2.6.git Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
  configuration: --enable-gpl --enable-libass --enable-libfdk-aac 
--enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora 
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree
  libavutil      54. 22.100 / 54. 22.100
  libavcodec     56. 33.100 / 56. 33.100
  libavformat    56. 28.100 / 56. 28.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 13.101 /  5. 13.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mpeg, from 
'concat:iso/mountpoint/VIDEO_TS/VTS_01_1.VOB|iso/mountpoint/VIDEO_TS/VTS_01_2.VOB':
  Duration: 00:00:01.09, start: 0.224800, bitrate: N/A
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, smpte170m), 
704x480 [SAR 10:11 DAR 4:3], max. 9586 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 
59.94 tbc
    Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s
[swscaler @ 0x37d40c0] deprecated pixel format used, make sure you did set 
range correctly
Output #0, image2, to 'out16.jpg':
  Metadata:
    encoder         : Lavf56.28.100
    Stream #0:0: Video: mjpeg, yuvj420p(pc), 640x480 [SAR 615:616 DAR 205:154], 
q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc56.33.100 mjpeg
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video (native) -> mjpeg (native))
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A    
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing 
overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters 
if used)


If I do that instead (putting the seek after the input) it works but it's 
pretty slow:
ffmpeg -i 
concat:"iso/mountpoint/VIDEO_TS/VTS_01_1.VOB|iso/mountpoint/VIDEO_TS/VTS_01_2.VOB"
 -ss 00:10:39.638 -y -an -f image2 -vframes 1 frame1.jpg

I notice also that duration reported by ffmpeg is wrong for many .VOB. Maybe 
it's related?

So, is there's any ways to extract accurately a frame from multiple .VOB in a 
fast way?

Regards,
Etienne Desautels

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to