2020-10-08

使用ffprobe取得mp4資訊

顯示什麼?
  ffprobe版本、mp4簡易資訊

  mp4整體資訊 -show_format

  音軌、影像軌資訊 -show_streams
      -select_streams : 選擇顯示哪些stream
      -count_packets  : stream裡有幾個packet
      -count_frames   : stream裡有幾個frame

  packet(尚未解碼的編碼資料) -show_packets
      -select_streams : 選擇顯示哪些stream
      -read_intervals : 指定時間範圍

  frame(解碼完之後的資料) -show_frames
      -select_streams : 選擇顯示哪些stream
      -read_intervals : 指定時間範圍

  指定的項目 -show_entries
      -select_streams : 選擇顯示哪些stream
      -read_intervals : 指定時間範圍

  只顯示Key Frame -skip_frame nokey
  

數值格式
  -sexagesimal : 時間格式 HH:MM:SS.MICROSECONDS
  -prefix : 以 K、M、G 的方式表示數字(除以1000)
  -prefix  -byte_binary_prefix : 以 Ki、Mi、Gi 的方式表示數字(除以1024)
  -unit : 顯示數值的單位

  -pretty : 等於 -sexagesimal -prefix -byte_binary_prefix -unit 的效果
  
輸出格式
  -of  default
  -of  csv
  -of  json
  其他輸出格式(flat、ini、xml)

ffprobe版本、mp4簡易資訊

R:\>C:\sw\ffprobe.exe    R:\1.mp4
ffprobe version N-93264-g85051febc6 Copyright (c) 2007-2019 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20190212
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
  libavutil      56. 26.100 / 56. 26.100
  libavcodec     58. 47.102 / 58. 47.102
  libavformat    58. 26.101 / 58. 26.101
  libavdevice    58.  6.101 / 58.  6.101
  libavfilter     7. 48.100 /  7. 48.100
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'R:\1.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2018-10-20T21:26:23.000000Z
  Duration: 00:04:20.41, start: 0.000000, bitrate: 434 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 480x360 [SAR 1:1 DAR 4:3], 335 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      creation_time   : 2018-10-20T21:26:23.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 10/20/2018.
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s (default)
    Metadata:
      creation_time   : 2018-10-20T21:26:23.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 10/20/2018.          
如果要將以上結果存成 txt
需要用 2> 的方式儲存
本篇文章只有這個地方,需要用這種方式儲存
其他地方仍然使用 > 的方式
R:\>C:\sw\ffprobe.exe    R:\1.mp4  2> ffout.txt


不顯示版本和mp4資訊

不顯示一般資訊
R:\>C:\sw\ffprobe.exe  -v error  R:\1.mp4

R:\>

-show_format : 顯示mp4整體資訊

R:\>C:\sw\ffprobe.exe   -v error  -show_format  R:\1.mp4
[FORMAT]
filename=R:\1.mp4
nb_streams=2    //幾個stream(影像軌、音軌)
nb_programs=0
format_name=mov,mp4,m4a,3gp,3g2,mj2
format_long_name=QuickTime / MOV
start_time=0.000000
duration=260.412000    //影片時間長度
size=14131669    //檔案大小
bit_rate=434132    //位元率
probe_score=100
TAG:major_brand=mp42
TAG:minor_version=0
TAG:compatible_brands=isommp42
TAG:creation_time=2018-10-20T21:26:23.000000Z
[/FORMAT]
    

-show_streams : 顯示音軌、影像軌資訊

R:\>C:\sw\ffprobe.exe   -v error  -show_streams  R:\1.mp4
[STREAM]
index=0
codec_name=h264    //編碼名稱
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=Constrained Baseline
codec_type=video    //影像軌
codec_time_base=650897/39015000
codec_tag_string=avc1
codec_tag=0x31637661
width=480    //畫面寬度
height=360    //畫面高度
coded_width=480
coded_height=368
has_b_frames=0
sample_aspect_ratio=1:1
display_aspect_ratio=4:3
pix_fmt=yuv420p
level=30
color_range=unknown
color_space=unknown
color_transfer=unknown
color_primaries=unknown
chroma_location=left
field_order=unknown
timecode=N/A
refs=1
is_avc=true
nal_length_size=4
id=N/A
r_frame_rate=30000/1001
avg_frame_rate=19507500/650897
time_base=1/30000
start_pts=0
start_time=0.000000
duration_ts=7810764
duration=260.358800    //幾秒
bit_rate=335658    //位元率
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=7803    //有幾個frame
nb_read_frames=N/A    //實際上有幾個frame
nb_read_packets=N/A    //實際上有幾個packet
內容太多。省略
[/STREAM]
[STREAM]
index=1
codec_name=aac    //編碼名稱
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio    //音軌
codec_time_base=1/44100
codec_tag_string=mp4a
codec_tag=0x6134706d
sample_fmt=fltp
sample_rate=44100    //音訊取樣率
channels=2    //幾聲道
channel_layout=stereo
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/44100
start_pts=0
start_time=0.000000
duration_ts=11484160
duration=260.411791    //幾秒
bit_rate=95999
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=11215    //有幾個frame
nb_read_frames=N/A    //實際上有幾個frame
nb_read_packets=N/A    //實際上有幾個packet
內容太多。省略
[/STREAM]

-select_streams : 選擇顯示哪些stream

選擇顯示所有影像軌
R:\>C:\sw\ffprobe.exe   -v error  -show_streams  -select_streams   v   R:\1.mp4
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=Constrained Baseline
codec_type=video
內容太多。省略
[/STREAM]

選擇顯示所有音軌
R:\>C:\sw\ffprobe.exe   -v error  -show_streams  -select_streams   a   R:\1.mp4
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
內容太多。省略
[/STREAM]

選擇顯示第一個影像軌
R:\>C:\sw\ffprobe.exe   -v error  -show_streams  -select_streams   v:0   R:\1.mp4
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=Constrained Baseline
codec_type=video
內容太多。省略
[/STREAM]

選擇顯示第一個音軌
R:\>C:\sw\ffprobe.exe   -v error  -show_streams  -select_streams   a:0   R:\1.mp4
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
內容太多。省略
[/STREAM]

-count_packets : stream裡有幾個packet

R:\>C:\sw\ffprobe.exe  -v error  -show_streams  -select_streams   a:0   -count_packets  R:\1.mp4
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
內容太多。省略
nb_frames=11215
nb_read_frames=N/A
nb_read_packets=11215
內容太多。省略
[/STREAM]


下載不完全的0.5.mp4
R:\>C:\sw\ffprobe.exe  -v error  -show_streams  -select_streams   a:0   -count_packets  R:\0.5.mp4
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
內容太多。省略
nb_frames=11215
nb_read_frames=N/A
nb_read_packets=5204    //實際讀取到的數量
內容太多。省略
[/STREAM]

-count_frames : stream裡有幾個frame

R:\>C:\sw\ffprobe.exe -v error  -show_streams  -select_streams   a:0   -count_frames  R:\1.mp4
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
內容太多。省略
nb_frames=11215
nb_read_frames=11215
nb_read_packets=N/A
內容太多。省略
[/STREAM]

下載不完全的0.5.mp4
R:\>C:\sw\ffprobe.exe -v error  -show_streams  -select_streams   a:0   -count_frames  R:\0.5.mp4
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
內容太多。省略
nb_frames=11215
nb_read_frames=5204    //實際讀取到的數量
nb_read_packets=N/A
內容太多。省略
[/STREAM]

-show_packets : 顯示stream裡的packet

顯示音軌的packet
R:\>C:\sw\ffprobe.exe   -v error  -show_packets  -select_streams   a:0   R:\1.mp4
[PACKET]
codec_type=audio    //音樂
stream_index=1
pts=0
pts_time=0.000000    //時間起點(秒)
dts=0
dts_time=0.000000
duration=1024
duration_time=0.023220    //時間長度(秒)
convergence_duration=N/A
convergence_duration_time=N/A
size=278    //資料大小
pos=104471    //資料位於檔案的位置
flags=K_
[/PACKET]
[PACKET]
codec_type=audio
stream_index=1
pts=1024
pts_time=0.023220    //時間起點(秒)
dts=1024
dts_time=0.023220
duration=1024
duration_time=0.023220    //時間長度(秒)
convergence_duration=N/A
convergence_duration_time=N/A
size=279    //資料大小
pos=104749    //資料位於檔案的位置
flags=K_
[/PACKET]
[PACKET]
codec_type=audio
stream_index=1
pts=2048
pts_time=0.046440    //時間起點(秒)
dts=2048
dts_time=0.046440
duration=1024
duration_time=0.023220    //時間長度(秒)
convergence_duration=N/A
convergence_duration_time=N/A
size=310    //資料大小
pos=105028    //資料位於檔案的位置
flags=K_
[/PACKET]
後面還有很多個packet。省略
顯示影像軌的packet
R:\>C:\sw\ffprobe.exe   -v error  -show_packets  -select_streams   v   R:\1.mp4
[PACKET]
codec_type=video    //影像
stream_index=0
pts=0
pts_time=0.000000    //時間起點(秒)
dts=0
dts_time=0.000000
duration=1001
duration_time=0.033367    //時間長度(秒)
convergence_duration=N/A
convergence_duration_time=N/A
size=10948    //資料大小
pos=82766    //資料位於檔案的位置
flags=K_
[/PACKET]
[PACKET]
codec_type=video
stream_index=0
pts=1001
pts_time=0.033367    //時間起點(秒)
dts=1001
dts_time=0.033367
duration=1001
duration_time=0.033367    //時間長度(秒)
convergence_duration=N/A
convergence_duration_time=N/A
size=233    //資料大小
pos=93714    //資料位於檔案的位置
flags=__
[/PACKET]
[PACKET]
codec_type=video
stream_index=0
pts=2002
pts_time=0.066733    //時間起點(秒)
dts=2002
dts_time=0.066733
duration=1001
duration_time=0.033367    //時間長度(秒)
convergence_duration=N/A
convergence_duration_time=N/A
size=754    //資料大小
pos=93947    //資料位於檔案的位置
flags=__
[/PACKET]
後面還有很多個packet。省略


-show_frames : 顯示stream裡的frame

顯示音軌的frame
R:\>C:\sw\ffprobe.exe   -v error  -show_frames  -select_streams   a:0   R:\1.mp4
[FRAME]
media_type=audio    //音樂
stream_index=1
key_frame=1
pkt_pts=0
pkt_pts_time=0.000000
pkt_dts=0
pkt_dts_time=0.000000
best_effort_timestamp=0
best_effort_timestamp_time=0.000000    //時間起點(秒)
pkt_duration=1024
pkt_duration_time=0.023220
pkt_pos=104471
pkt_size=278
sample_fmt=fltp
nb_samples=1024
channels=2
channel_layout=stereo
[/FRAME]
[FRAME]
media_type=audio
stream_index=1
key_frame=1
pkt_pts=1024
pkt_pts_time=0.023220
pkt_dts=1024
pkt_dts_time=0.023220
best_effort_timestamp=1024
best_effort_timestamp_time=0.023220    //時間起點(秒)
pkt_duration=1024
pkt_duration_time=0.023220
pkt_pos=104749
pkt_size=279
sample_fmt=fltp
nb_samples=1024
channels=2
channel_layout=stereo
[/FRAME]
[FRAME]
media_type=audio
stream_index=1
key_frame=1
pkt_pts=2048
pkt_pts_time=0.046440
pkt_dts=2048
pkt_dts_time=0.046440
best_effort_timestamp=2048
best_effort_timestamp_time=0.046440    //時間起點(秒)
pkt_duration=1024
pkt_duration_time=0.023220
pkt_pos=105028
pkt_size=310
sample_fmt=fltp
nb_samples=1024
channels=2
channel_layout=stereo
[/FRAME]
後面還有很多個frame。省略
顯示影像軌的frame
R:\>C:\sw\ffprobe.exe   -v error  -show_frames  -select_streams   v   R:\1.mp4
[FRAME]
media_type=video    //影像
stream_index=0
key_frame=1    //是 key frame
pkt_pts=0
pkt_pts_time=0.000000
pkt_dts=0
pkt_dts_time=0.000000
best_effort_timestamp=0
best_effort_timestamp_time=0.000000    //時間起點(秒)
pkt_duration=1001
pkt_duration_time=0.033367
pkt_pos=82766
pkt_size=10948
width=480    //畫面寬度
height=360    //畫面高度
pix_fmt=yuv420p
sample_aspect_ratio=1:1
pict_type=I    //I frame
coded_picture_number=0
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
color_range=unknown
color_space=unknown
color_primaries=unknown
color_transfer=unknown
chroma_location=left
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0    //不是 key frame
pkt_pts=1001
pkt_pts_time=0.033367
pkt_dts=1001
pkt_dts_time=0.033367
best_effort_timestamp=1001
best_effort_timestamp_time=0.033367    //時間起點(秒)
pkt_duration=1001
pkt_duration_time=0.033367
pkt_pos=93714
pkt_size=233
width=480
height=360
pix_fmt=yuv420p
sample_aspect_ratio=1:1
pict_type=P    //P frame
coded_picture_number=1
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
color_range=unknown
color_space=unknown
color_primaries=unknown
color_transfer=unknown
chroma_location=left
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0    //不是 key frame
pkt_pts=2002
pkt_pts_time=0.066733
pkt_dts=2002
pkt_dts_time=0.066733
best_effort_timestamp=2002
best_effort_timestamp_time=0.066733    //時間起點(秒)
pkt_duration=1001
pkt_duration_time=0.033367
pkt_pos=93947
pkt_size=754
width=480
height=360
pix_fmt=yuv420p
sample_aspect_ratio=1:1
pict_type=P    //P frame
coded_picture_number=2
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
color_range=unknown
color_space=unknown
color_primaries=unknown
color_transfer=unknown
chroma_location=left
[/FRAME]
後面還有很多個frame。省略

-read_intervals : 指定時間範圍

注意:可能不能準確地跳到起點
1:20%1:21  列出 1分20秒 到 1分21秒 的frame
C:\sw\ffprobe.exe   -v error  -show_frames  -select_streams   v   -read_intervals 1:20%1:21  R:\1.mp4

1:20%+3    列出 1分20秒 到 (起點 +3秒) 的frame
C:\sw\ffprobe.exe   -v error  -show_frames  -select_streams   v   -read_intervals 1:20%+3  R:\1.mp4

1:20%+#3   列出 1分20秒 開始的 3個 frame
C:\sw\ffprobe.exe   -v error  -show_frames  -select_streams   v   -read_intervals 1:20%+#3  R:\1.mp4

%3    列出 前3秒的 frame
C:\sw\ffprobe.exe   -v error  -show_frames  -select_streams   v   -read_intervals %3  R:\1.mp4

%+#3  列出 前3個 frame
C:\sw\ffprobe.exe   -v error  -show_frames  -select_streams   v   -read_intervals %+#3  R:\1.mp4


-show_entries : 顯示指定的項目

列出[FORMAT][STREAM]裡的資料
R:\>C:\sw\ffprobe.exe -v error -show_entries "format=duration,bit_rate:stream=codec_name"  R:\1.mp4
[STREAM]
codec_name=h264
[/STREAM]
[STREAM]
codec_name=aac
[/STREAM]
[FORMAT]
duration=260.412000
bit_rate=434132
[/FORMAT]
30%+#3   列出 30秒 開始的 3個 frame,只顯示 pkt_pts_time
R:\>C:\sw\ffprobe.exe -v error -show_entries "frame=pkt_pts_time" -select_streams  v  -read_intervals 30%+#3  R:\1.mp4
[FRAME]
pkt_pts_time=29.629600    //沒有跳到準確的時間
[/FRAME]
[FRAME]
pkt_pts_time=29.662967
[/FRAME]
[FRAME]
pkt_pts_time=29.696333
[/FRAME]
30%+#3   列出 30秒 開始的 3個 frame,顯示pkt_pts_timepict_type
R:\>C:\sw\ffprobe.exe -v error -show_entries "frame=pkt_pts_time,pict_type" -select_streams  v  -read_intervals 30%+#3  R:\1.mp4
[FRAME]
pkt_pts_time=29.629600
pict_type=I    //從I frame 開始列出
[/FRAME]
[FRAME]
pkt_pts_time=29.662967
pict_type=P
[/FRAME]
[FRAME]
pkt_pts_time=29.696333
pict_type=P
[/FRAME]
顯示 codec_namewidthheightdurationbit_rate
R:\>C:\sw\ffprobe.exe -v error -show_entries "stream=codec_name,width,height,duration,bit_rate" -select_streams  v   R:\1.mp4
[STREAM]
codec_name=h264    //編碼名稱
width=480    //畫面寬度
height=360    //畫面高度
duration=260.358800    //時間長度(秒)
bit_rate=335658    //位元率
[/STREAM]

-skip_frame nokey : 只顯示Key Frame

只顯示Key Frame的時間
R:\>C:\sw\ffprobe.exe -v error -select_streams v:0 -show_entries "frame=best_effort_timestamp_time" -of  "csv=p=0"   -sexagesimal  -skip_frame nokey  R:\1.mp4
0:00:00.000000
0:00:02.002000
0:00:04.004000
0:00:05.338667
0:00:07.340667
0:00:09.342667
0:00:09.909900
略

-sexagesimal : 使用時間格式 HH:MM:SS.MICROSECONDS

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=duration"   R:\1.mp4
[FORMAT]
duration=260.412000    //時間長度(秒)
[/FORMAT]


R:\>C:\sw\ffprobe.exe -v error -show_entries "format=duration"   -sexagesimal  R:\1.mp4
[FORMAT]
duration=0:04:20.412000
[/FORMAT]

-prefix : 以 K、M、G 的方式表示數字(除以1000)
-prefix    -byte_binary_prefix : 以 Ki、Mi、Gi 的方式表示數字(除以1024)

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size"  R:\1.mp4
[FORMAT]
size=14131669    //檔案大小
[/FORMAT]

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size"  -prefix  R:\1.mp4
[FORMAT]
size=14.131669 M
[/FORMAT]

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size"  -prefix  -byte_binary_prefix  R:\1.mp4
[FORMAT]
size=13.477010 Mi
[/FORMAT]

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size"  -byte_binary_prefix  R:\1.mp4
[FORMAT]
size=14131669    //沒有作用
[/FORMAT]

-unit : 顯示數值的單位

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size"  R:\1.mp4
[FORMAT]
size=14131669    //檔案大小
[/FORMAT]

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size" -unit  R:\1.mp4
[FORMAT]
size=14131669 byte
[/FORMAT]

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size"  -prefix  R:\1.mp4
[FORMAT]
size=14.131669 M
[/FORMAT]

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size"  -prefix  -unit  R:\1.mp4
[FORMAT]
size=14.131669 Mbyte
[/FORMAT]

-pretty : 等於 -sexagesimal -prefix -byte_binary_prefix -unit 的效果

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  R:\1.mp4
[FORMAT]
duration=260.412000    //時間長度(秒)
size=14131669    //檔案大小
[/FORMAT]

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -pretty  R:\1.mp4
[FORMAT]
duration=0:04:20.412000
size=13.477010 Mibyte
[/FORMAT]

-of    default

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  R:\1.mp4
[FORMAT]
duration=260.412000    //時間長度(秒)
size=14131669    //檔案大小
[/FORMAT]


default  和上面沒指定格式一樣
R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of default R:\1.mp4
[FORMAT]
duration=260.412000
size=14131669
[/FORMAT]


nw=1:不顯示[FORMAT] 效果等同 noprint_wrappers=1
R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of "default=nw=1" R:\1.mp4
duration=260.412000
size=14131669


nk=1:不顯示 duration=  size= 效果等同 nokey=1
R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of "default=nk=1" R:\1.mp4
[FORMAT]
260.412000
14131669
[/FORMAT]


nk=1:nw=1  同時指定兩個選項
R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of "default=nk=1:nw=1" R:\1.mp4
260.412000
14131669


-of    csv

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of csv  R:\1.mp4
format,260.412000,14131669


p=0:不顯示format,  效果等同 print_section=0
R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of "csv=p=0"  R:\1.mp4
260.412000,14131669


item_sep=#:改變分隔符號為 #
R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of "csv=item_sep=#"  R:\1.mp4
format#260.412000#14131669


nk=0:顯示 duration=  size= 效果等同 nokey=0
R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of "csv=nk=0"  R:\1.mp4
format,duration=260.412000,size=14131669


nk=1:不顯示 duration=  size=  效果等同 nokey=1(這是csv的預設值,可以不用指定)
R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of "csv=nk=1"  R:\1.mp4
format,260.412000,14131669


nk=1:p=0   同時指定兩個選項
R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of "csv=nk=1:p=0"  R:\1.mp4
260.412000,14131669

-of    json

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of json  R:\1.mp4
{
  "format": {
      "duration": "260.412000",
      "size": "14131669"
  }
}

c=1 顯示在同一行  效果等同 compact=1
R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of "json=c=1"  R:\1.mp4
{
  "format": { "duration": "260.412000", "size": "14131669" }
}


其他輸出格式(flatinixml)

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of flat  R:\1.mp4
format.duration="260.412000"
format.size="14131669"

R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of ini  R:\1.mp4
# ffprobe output

[format]
duration=260.412000
size=14131669


R:\>C:\sw\ffprobe.exe -v error -show_entries "format=size,duration"  -of xml  R:\1.mp4
<?xml version="1.0" encoding="UTF-8"?>
<ffprobe>
    <format duration="260.412000" size="14131669"/>
</ffprobe>

沒有留言:

張貼留言