[FFmpeg-user] More issues with the -t option (segment extraction)

Anatol anatol2002 at gmail.com
Mon Sep 23 06:38:22 CEST 2013


U can use -frames option to define the exact number of frames to extract.
It is possible to define number of frames per stream id (video/audio)  -
"-frames:0 900 -frames:1 2586"


On Mon, Sep 23, 2013 at 7:31 AM, Jeanne Rich <jrich at laika.com> wrote:

> I am trying to extract a segment out of an mjpeg quicktime movie using the
> -ss and -t options. However, when I do this I get more frames than I
> wanted. In this case I am trying to extract 10 frames, the audio is short
> with with a start_pts that is not 0, and the video is 1 frame too long. I
> tried using the frames:v option, but when I did that the audio was too
> short. Finally I tried the trim filter but that did nothing. I am using the
> git-head from Friday.
>
> Below is the command with the -t option, and below that is the ffprobe
> output.
>
> 'ffmpeg' '-i' '/laika/tmp/jrich/trans/outmjpeg.mov' '-vcodec' 'copy' '-r'
> '24.000000' '-acodec' 'copy' '-ar' '48000' '-ss' '0.416667' '-t' '0.416667'
> '-movflags' 'faststart' '-y' -v debug
> '/laika/tmp/jrich/trans/outVideoSegment1.mov'
> ffmpeg version 2.0-bed611f Copyright (c) 2000-2013 the FFmpeg developers
> built on Sep 20 2013 15:22:34 with gcc 4.1.2 (GCC)
> configuration: --prefix=/local/prod/b3p/2.0/ffmpeg/2.0.1.bed611f
> --enable-gpl --enable-nonfree --enable-pthreads --enable-static
> --enable-shared --enable-postproc --disable-debug --enable-avfilter
> --enable-zlib --enable-libvorbis --enable-libfaac --enable-libfdk-aac
> --enable-libx264 --enable-libmp3lame --enable-libvpx --enable-filter=movie
> --enable-libfreetype
> --extra-cflags='-I/local/prod/b3p/2.0/faac/1.28/include
> -I/local/prod/b3p/2.0/fdk-aac/0.1.2/include
> -I/local/prod/b3p/2.0/x264/r2245/include
> -I/local/prod/b3p/2.0/lame/3.98.4/include
> -I/local/prod/b3p/2.0/libogg/1.3.0/include
> -I/local/prod/b3p/2.0/libvpx/1.1.0/include
> -I/local/prod/b3p/2.0/libvorbis/1.3.2/include'
> --extra-ldflags='-L/local/prod/b3p/2.0/faac/1.28/lib
> -L/local/prod/b3p/2.0/fdk-aac/0.1.2/lib
> -L/local/prod/b3p/2.0/x264/r2245/lib -L/local/prod/b3p/2.0/lame/3.98.4/lib
> -L/local/prod/b3p/2.0/libogg/1.3.0/lib
> -L/local/prod/b3p/2.0/libvpx/1.1.0/lib
> -L/local/prod/b3p/2.0/libvorbis/1.3.2/lib -fPIC'
> libavutil 52. 45.100 / 52. 45.100
> libavcodec 55. 33.100 / 55. 33.100
> libavformat 55. 18.101 / 55. 18.101
> libavdevice 55. 3.100 / 55. 3.100
> libavfilter 3. 86.102 / 3. 86.102
> libswscale 2. 5.100 / 2. 5.100
> libswresample 0. 17.103 / 0. 17.103
> libpostproc 52. 3.100 / 52. 3.100
> Splitting the commandline.
> Reading option '-i' ... matched as input file with argument
> '/laika/tmp/jrich/trans/outmjpeg.mov'.
> Reading option '-vcodec' ... matched as option 'vcodec' (force video codec
> ('copy' to copy stream)) with argument 'copy'.
> Reading option '-r' ... matched as option 'r' (set frame rate (Hz value,
> fraction or abbreviation)) with argument '24.000000'.
> Reading option '-acodec' ... matched as option 'acodec' (force audio codec
> ('copy' to copy stream)) with argument 'copy'.
> Reading option '-ar' ... matched as option 'ar' (set audio sampling rate
> (in Hz)) with argument '48000'.
> Reading option '-ss' ... matched as option 'ss' (set the start time
> offset) with argument '0.416667'.
> Reading option '-t' ... matched as option 't' (record or transcode
> "duration" seconds of audio/video) with argument '0.416667'.
> Reading option '-movflags' ... matched as AVOption 'movflags' with
> argument 'faststart'.
> Reading option '-y' ... matched as option 'y' (overwrite output files)
> with argument '1'.
> Reading option '-v' ... matched as option 'v' (set logging level) with
> argument 'debug'.
> Reading option '/laika/tmp/jrich/trans/outVideoSegment1.mov' ... matched
> as output file.
> Finished splitting the commandline.
> Parsing a group of options: global .
> Applying option y (overwrite output files) with argument 1.
> Applying option v (set logging level) with argument debug.
> Successfully parsed a group of options.
> Parsing a group of options: input file /laika/tmp/jrich/trans/outmjpeg.mov.
> Successfully parsed a group of options.
> Opening an input file: /laika/tmp/jrich/trans/outmjpeg.mov.
> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2191b20] Format mov,mp4,m4a,3gp,3g2,mj2
> probed with size=2048 and score=100
> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2191b20] ISO: File Type Major Brand: qt
> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2191b20] File position before
> avformat_find_stream_info() is 44611
> [mjpeg @ 0x2192a20] marker=d8 avail_size_in_buf=258058
> [mjpeg @ 0x2192a20] marker parser used 0 bytes (0 bits)
> [mjpeg @ 0x2192a20] marker=fe avail_size_in_buf=258056
> [mjpeg @ 0x2192a20] marker parser used 16 bytes (128 bits)
> [mjpeg @ 0x2192a20] marker=db avail_size_in_buf=258038
> [mjpeg @ 0x2192a20] index=0
> [mjpeg @ 0x2192a20] qscale[0]: 1
> [mjpeg @ 0x2192a20] marker parser used 67 bytes (536 bits)
> [mjpeg @ 0x2192a20] marker=c4 avail_size_in_buf=257969
> [mjpeg @ 0x2192a20] class="0" index=0 nb_codes=12
> [mjpeg @ 0x2192a20] class="0" index=1 nb_codes=12
> [mjpeg @ 0x2192a20] class="1" index=0 nb_codes=251
> [mjpeg @ 0x2192a20] class="1" index=1 nb_codes=251
> [mjpeg @ 0x2192a20] marker parser used 418 bytes (3344 bits)
> [mjpeg @ 0x2192a20] marker=c0 avail_size_in_buf=257549
> [mjpeg @ 0x2192a20] sof0: picture: 1920x1080
> [mjpeg @ 0x2192a20] component 0 2:2 id: 0 quant:0
> [mjpeg @ 0x2192a20] component 1 1:1 id: 1 quant:0
> [mjpeg @ 0x2192a20] component 2 1:1 id: 2 quant:0
> [mjpeg @ 0x2192a20] pix fmt id 22111100
> [mjpeg @ 0x2192a20] marker parser used 17 bytes (136 bits)
> [mjpeg @ 0x2192a20] escaping removed 9667 bytes
> [mjpeg @ 0x2192a20] marker=da avail_size_in_buf=257530
> [mjpeg @ 0x2192a20] component: 0
> [mjpeg @ 0x2192a20] component: 1
> [mjpeg @ 0x2192a20] component: 2
> [mjpeg @ 0x2192a20] marker parser used 247862 bytes (1982891 bits)
> [mjpeg @ 0x2192a20] marker=d9 avail_size_in_buf=0
> [mjpeg @ 0x2192a20] decode frame unused 0 bytes
> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2191b20] All info found
> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2191b20] File position after
> avformat_find_stream_info() is 306767
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
> '/laika/tmp/jrich/trans/outmjpeg.mov':
> Metadata:
> major_brand : qt
> minor_version : 512
> compatible_brands: qt
> encoder : Lavf55.18.101
> Duration: 00:02:09.13, start: 0.000000, bitrate: 49109 kb/s
> Stream #0:0(eng), 1, 1/12288: Video: mjpeg (jpeg / 0x6765706A),
> yuvj420p(pc), 1920x1080, 1/12288, 47570 kb/s, 24 fps, 24 tbr, 12288 tbn,
> 12288 tbc (default)
> Metadata:
> handler_name : DataHandler
> Stream #0:1(eng), 1, 1/48000: Audio: pcm_s16le (sowt / 0x74776F73), 48000
> Hz, stereo, s16, 1536 kb/s (default)
> Metadata:
> handler_name : DataHandler
> Successfully opened the file.
> Parsing a group of options: output file
> /laika/tmp/jrich/trans/outVideoSegment1.mov.
> Applying option vcodec (force video codec ('copy' to copy stream)) with
> argument copy.
> Applying option r (set frame rate (Hz value, fraction or abbreviation))
> with argument 24.000000.
> Applying option acodec (force audio codec ('copy' to copy stream)) with
> argument copy.
> Applying option ar (set audio sampling rate (in Hz)) with argument 48000.
> Applying option ss (set the start time offset) with argument 0.416667.
> Applying option t (record or transcode "duration" seconds of audio/video)
> with argument 0.416667.
> Successfully parsed a group of options.
> Opening an output file: /laika/tmp/jrich/trans/outVideoSegment1.mov.
> Successfully opened the file.
> Output #0, mov, to '/laika/tmp/jrich/trans/outVideoSegment1.mov':
> Metadata:
> major_brand : qt
> minor_version : 512
> compatible_brands: qt
> encoder : Lavf55.18.101
> Stream #0:0(eng), 0, 1/12288: Video: mjpeg (jpeg / 0x6765706A), yuvj420p,
> 1920x1080, 1/24, q=2-31, 47570 kb/s, 24 fps, 12288 tbn, 24 tbc (default)
> Metadata:
> handler_name : DataHandler
> Stream #0:1(eng), 0, 1/48000: Audio: pcm_s16le (sowt / 0x74776F73), 48000
> Hz, stereo, 1536 kb/s (default)
> Metadata:
> handler_name : DataHandler
> Stream mapping:
> Stream #0:0 -> #0:0 (copy)
> Stream #0:1 -> #0:1 (copy)
> Press [q] to stop, [?] for help
> No more output streams to write to, finishing.
> [mov @ 0x21935c0] Starting second pass: moving the moov atom to the
> beginning of the file
> [AVIOContext @ 0x2198900] Statistics: 2646132 bytes read, 0 seeks
> frame= 11 fps=0.0 q=-1.0 Lsize= 2585kB time=00:00:00.45
> bitrate=46210.6kbits/s
> video:2506kB audio:78kB subtitle:0 global headers:0kB muxing overhead
> 0.052266%
> 0 frames successfully decoded, 0 decoding errors
> [AVIOContext @ 0x2192900] Statistics: 60 seeks, 234 writeouts
> [AVIOContext @ 0x219a240] Statistics: 5524089 bytes read, 0 seeks
>
>
> ffprobe output
>
> ffprobe -show_streams -show_format
> /laika/tmp/jrich/trans/outVideoSegment1.mov ffprobe version 2.0-bed611f
> Copyright (c) 2007-2013 the FFmpeg developers
> built on Sep 20 2013 15:22:34 with gcc 4.1.2 (GCC)
> configuration: --prefix=/local/prod/b3p/2.0/ffmpeg/2.0.1.bed611f
> --enable-gpl --enable-nonfree --enable-pthreads --enable-static
> --enable-shared --enable-postproc --disable-debug --enable-avfilter
> --enable-zlib --enable-libvorbis --enable-libfaac --enable-libfdk-aac
> --enable-libx264 --enable-libmp3lame --enable-libvpx --enable-filter=movie
> --enable-libfreetype
> --extra-cflags='-I/local/prod/b3p/2.0/faac/1.28/include
> -I/local/prod/b3p/2.0/fdk-aac/0.1.2/include
> -I/local/prod/b3p/2.0/x264/r2245/include
> -I/local/prod/b3p/2.0/lame/3.98.4/include
> -I/local/prod/b3p/2.0/libogg/1.3.0/include
> -I/local/prod/b3p/2.0/libvpx/1.1.0/include
> -I/local/prod/b3p/2.0/libvorbis/1.3.2/include'
> --extra-ldflags='-L/local/prod/b3p/2.0/faac/1.28/lib
> -L/local/prod/b3p/2.0/fdk-aac/0.1.2/lib
> -L/local/prod/b3p/2.0/x264/r2245/lib -L/local/prod/b3p/2.0/lame/3.98.4/lib
> -L/local/prod/b3p/2.0/libogg/1.3.0/lib
> -L/local/prod/b3p/2.0/libvpx/1.1.0/lib
> -L/local/prod/b3p/2.0/libvorbis/1.3.2/lib -fPIC'
> libavutil 52. 45.100 / 52. 45.100
> libavcodec 55. 33.100 / 55. 33.100
> libavformat 55. 18.101 / 55. 18.101
> libavdevice 55. 3.100 / 55. 3.100
> libavfilter 3. 86.102 / 3. 86.102
> libswscale 2. 5.100 / 2. 5.100
> libswresample 0. 17.103 / 0. 17.103
> libpostproc 52. 3.100 / 52. 3.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
> '/laika/tmp/jrich/trans/outVideoSegment1.mov':
> Metadata:
> major_brand : qt
> minor_version : 512
> compatible_brands: qt
> encoder : Lavf55.18.101
> Duration: 00:00:00.46, start: 0.000000, bitrate: 46143 kb/s
> Stream #0:0(eng): Video: mjpeg (jpeg / 0x6765706A), yuvj420p(pc),
> 1920x1080, 44796 kb/s, 24 fps, 24 tbr, 12288 tbn, 12288 tbc (default)
> Metadata:
> handler_name : DataHandler
> Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo,
> s16, 1536 kb/s (default)
> Metadata:
> handler_name : DataHandler
> [STREAM]
> index=0
> codec_name=mjpeg
> codec_long_name=MJPEG (Motion JPEG)
> profile=unknown
> codec_type=video
> codec_time_base=1/12288
> codec_tag_string=jpeg
> codec_tag=0x6765706a
> width=1920
> height=1080
> has_b_frames=0
> sample_aspect_ratio=0:1
> display_aspect_ratio=0:1
> pix_fmt=yuvj420p
> level=-99
> timecode=N/A
> id=N/A
> r_frame_rate=24/1
> avg_frame_rate=24/1
> time_base=1/12288
> start_pts=0
> start_time=0.000000
> duration_ts=5632
> duration=0.458333
> bit_rate=44796741
> nb_frames=11
> nb_read_frames=N/A
> nb_read_packets=N/A
> DISPOSITION:default=1
> DISPOSITION:dub=0
> DISPOSITION:original=0
> DISPOSITION:comment=0
> DISPOSITION:lyrics=0
> DISPOSITION:karaoke=0
> DISPOSITION:forced=0
> DISPOSITION:hearing_impaired=0
> DISPOSITION:visual_impaired=0
> DISPOSITION:clean_effects=0
> DISPOSITION:attached_pic=0
> TAG:language=eng
> TAG:handler_name=DataHandler
> [/STREAM]
> [STREAM]
> index=1
> codec_name=pcm_s16le
> codec_long_name=PCM signed 16-bit little-endian
> profile=unknown
> codec_type=audio
> codec_time_base=1/48000
> codec_tag_string=sowt
> codec_tag=0x74776f73
> sample_fmt=s16
> sample_rate=48000
> channels=2
> bits_per_sample=16
> id=N/A
> r_frame_rate=0/0
> avg_frame_rate=0/0
> time_base=1/48000
> start_pts=480
> start_time=0.010000
> duration_ts=19904
> duration=0.414667
> bit_rate=1536000
> nb_frames=19904
> nb_read_frames=N/A
> nb_read_packets=N/A
> DISPOSITION:default=1
> DISPOSITION:dub=0
> DISPOSITION:original=0
> DISPOSITION:comment=0
> DISPOSITION:lyrics=0
> DISPOSITION:karaoke=0
> DISPOSITION:forced=0
> DISPOSITION:hearing_impaired=0
> DISPOSITION:visual_impaired=0
> DISPOSITION:clean_effects=0
> DISPOSITION:attached_pic=0
> TAG:language=eng
> TAG:handler_name=DataHandler
> [/STREAM]
> [FORMAT]
> filename=/laika/tmp/jrich/trans/outVideoSegment1.mov
> nb_streams=2
> nb_programs=0
> format_name=mov,mp4,m4a,3gp,3g2,mj2
> format_long_name=QuickTime / MOV
> start_time=0.000000
> duration=0.459000
> size=2647479
> bit_rate=46143424
> probe_score=100
> TAG:major_brand=qt
> TAG:minor_version=512
> TAG:compatible_brands=qt
> TAG:encoder=Lavf55.18.101
> [/FORMAT]
>
> -jeanne
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>


More information about the ffmpeg-user mailing list