我尝试使用 Windows 上的 ffprobe 获取视频中的帧数,但它返回 N/A。
for /F "delims=" %%I in ('ffprobe.exe -v error -select_streams v:0 -show_entries stream^=nb_frames -of default^=nokey^=1:noprint_wrappers^=1 "1.ts" 2^>^&1') do set "frames=%%I" echo %frames%
我找到了一段代码,应该能够在这些情况下获取帧的数量,但它是为 Linux 编写的,我不确定如何更改它以在 Windows 上运行。
ffmpeg -nostats -i "video.mp4" -vcodec copy -f rawvideo -y /dev/null 2>&1 | grep frame | awk '{split($0,a,"fps")}END{print a[1]}' | sed 's/.*= *//'
当 ffprobe 返回 N/A 时,有人能帮我通过 ffmpeg 获取帧数吗?谢谢!
答案1
使用
ffprobe -v 0 -select_streams v:0 -count_frames -show_entries stream=nb_read_frames -of compact=p=0:nk=1 "1.ts"