[FFmpeg-trac] #1437(FFprobe:open): probe less than the whole file with -show_frames

FFmpeg trac at avcodec.org
Sun Jun 10 20:08:13 CEST 2012


#1437: probe less than the whole file with -show_frames
-------------------------------------+-----------------------------------
             Reporter:  mdsh         |                    Owner:  stefano
                 Type:  enhancement  |                   Status:  open
             Priority:  wish         |                Component:  FFprobe
              Version:  git-master   |               Resolution:
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-----------------------------------
Description changed by ubitux:

Old description:

> I'd like to probe a file to get interlaced_frame="1"
> top_field_first="1" - which I believe is only available in
> -show_frames.
>
> My file is 30 minutes log - I only want the data from the first frame.
>
> I can't see anything in -h to answer this question. The ffmpeg
> -vframes, -frames:v and -t are not listed in ffprobe's help, and do
> not work.
>
> I usually use FFprobe with a -probesize, and that is also ignored with
> -show_frames.
>
> Stefano suggested "And of course you can get it with a crude trick, you
> trim the file
> *physically* in order to reduce the amount of data to be decoded" but
> that's a workaround I'd like to avoid.
>
> example current file based command line:
>
> ffprobe -show_format -show_streams -show_frames -probesize 40000
> -print_format xml "tortoise.mxf"
>
> ffprobe version N-41487-gee1748a Copyright (c) 2007-2012 the FFmpeg
> developers
>   built on Jun 10 2012 17:04:40 with llvm_gcc 4.2.1 (Based on Apple Inc.
> build 5658) (LLVM build 2336.1.00)
>   configuration: --prefix=/Users/mdsh/ffmpeg --arch=x86_64 --enable-
> ffplay --enable-ffprobe --enable-shared --disable-indev=jack --enable-gpl
> --enable-nonfree --enable-pthreads --enable-libfaac --enable-libx264
>   libavutil      51. 56.100 / 51. 56.100
>   libavcodec     54. 25.100 / 54. 25.100
>   libavformat    54.  6.101 / 54.  6.101
>   libavdevice    54.  0.100 / 54.  0.100
>   libavfilter     2. 78.101 /  2. 78.101
>   libswscale      2.  1.100 /  2.  1.100
>   libswresample   0. 15.100 /  0. 15.100
>   libpostproc    52.  0.100 / 52.  0.100
> [mxf @ 0x7fddb081ae00] Stream #0: not enough frames to estimate rate;
> consider increasing probesize
> [mxf @ 0x7fddb081ae00] Stream #1: not enough frames to estimate rate;
> consider increasing probesize
> Input #0, mxf, from 'tortoise.mxf':
>   Metadata:
>     timecode        : 10:53:51:04
>   Duration: 00:28:21.92, start: 0.000000, bitrate: 42598 kb/s
>     Stream #0:0: Video: mpeg2video (4:2:2), yuv422p, 720x608 [SAR 608:405
> DAR 16:9], 30000 kb/s, 25 tbr, 25 tbn, 50 tbc
>     Stream #0:1: Audio: pcm_s16le, 48000 Hz, 4 channels, s16, 3072 kb/s
> <?xml version="1.0" encoding="UTF-8"?>
> <ffprobe>
>     <frames>
>         <frame media_type="video" key_frame="1" pkt_pts="0"
> pkt_pts_time="0.000000" pkt_dts="0" pkt_dts_time="0.000000"
> pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="7168" width="720"
> height="608" pix_fmt="yuv422p" sample_aspect_ratio="608:405"
> pict_type="I" coded_picture_number="0" display_picture_number="0"
> interlaced_frame="1" top_field_first="1" repeat_pict="0" reference="3"/>
>         <frame media_type="audio" key_frame="1" pkt_pts="0"
> pkt_pts_time="0.000000" pkt_dts="0" pkt_dts_time="0.000000"
> pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="157696"
> sample_fmt="s16" nb_samples="1920"/>
> ...
> goes on for a long time - you *really* don't want the uncut output

New description:

 I'd like to probe a file to get interlaced_frame="1" top_field_first="1" -
 which I believe is only available in
 -show_frames.

 My file is 30 minutes log - I only want the data from the first frame.

 I can't see anything in -h to answer this question. The ffmpeg -vframes,
 -frames:v and -t are not listed in ffprobe's help, and do not work.

 I usually use FFprobe with a -probesize, and that is also ignored with
 -show_frames.

 Stefano suggested "And of course you can get it with a crude trick, you
 trim the file
 *physically* in order to reduce the amount of data to be decoded" but
 that's a workaround I'd like to avoid.

 example current file based command line:

 {{{
 % ffprobe -show_format -show_streams -show_frames -probesize 40000
 -print_format xml "tortoise.mxf"
 ffprobe version N-41487-gee1748a Copyright (c) 2007-2012 the FFmpeg
 developers
   built on Jun 10 2012 17:04:40 with llvm_gcc 4.2.1 (Based on Apple Inc.
 build 5658) (LLVM build 2336.1.00)
   configuration: --prefix=/Users/mdsh/ffmpeg --arch=x86_64 --enable-ffplay
 --enable-ffprobe --enable-shared --disable-indev=jack --enable-gpl
 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libx264
   libavutil      51. 56.100 / 51. 56.100
   libavcodec     54. 25.100 / 54. 25.100
   libavformat    54.  6.101 / 54.  6.101
   libavdevice    54.  0.100 / 54.  0.100
   libavfilter     2. 78.101 /  2. 78.101
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0. 15.100 /  0. 15.100
   libpostproc    52.  0.100 / 52.  0.100
 [mxf @ 0x7fddb081ae00] Stream #0: not enough frames to estimate rate;
 consider increasing probesize
 [mxf @ 0x7fddb081ae00] Stream #1: not enough frames to estimate rate;
 consider increasing probesize
 Input #0, mxf, from 'tortoise.mxf':
   Metadata:
     timecode        : 10:53:51:04
   Duration: 00:28:21.92, start: 0.000000, bitrate: 42598 kb/s
     Stream #0:0: Video: mpeg2video (4:2:2), yuv422p, 720x608 [SAR 608:405
 DAR 16:9], 30000 kb/s, 25 tbr, 25 tbn, 50 tbc
     Stream #0:1: Audio: pcm_s16le, 48000 Hz, 4 channels, s16, 3072 kb/s
 <?xml version="1.0" encoding="UTF-8"?>
 <ffprobe>
     <frames>
         <frame media_type="video" key_frame="1" pkt_pts="0"
 pkt_pts_time="0.000000" pkt_dts="0" pkt_dts_time="0.000000"
 pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="7168" width="720"
 height="608" pix_fmt="yuv422p" sample_aspect_ratio="608:405" pict_type="I"
 coded_picture_number="0" display_picture_number="0" interlaced_frame="1"
 top_field_first="1" repeat_pict="0" reference="3"/>
         <frame media_type="audio" key_frame="1" pkt_pts="0"
 pkt_pts_time="0.000000" pkt_dts="0" pkt_dts_time="0.000000"
 pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="157696"
 sample_fmt="s16" nb_samples="1920"/>
 [...]
 }}}

 goes on for a long time - you *really* don't want the uncut output

--

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1437#comment:2>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list