[英]How to extract frames(or a perticular frame) from a YUV video using ffmpeg
[英]Extract Yuv frames from mp4 video using ffmpeg
我想使用 ffmpeg 从 mp4 剪辑中提取原始 Yuv 帧。 ffmpeg -i input.mp4 告诉我视频格式是 yuv420p10le。 我正在使用以下命令来提取帧:
ffmpeg -i input.mp4 -f 段 -segment_time 0.01 帧%5d.yuv
有人能告诉我输出数据是否仍然是 10 位吗? 或者我需要在输出之前添加像素格式以使帧的格式与输入相同?
这是ffmpeg的日志:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf58.29.100
Duration: 00:00:01.00, start: 0.000000, bitrate: 43566 kb/s
Stream #0:0(und): Video: hevc (Main 10) (hev1 / 0x31766568),
yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3800x2100 [SAR 1:1 DAR
16:9], 43406 kb/s, 24 fps, 24 tbr, 1200k tbn, 24 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: ac3 (ac-3 / 0x332D6361), 44100 Hz, stereo,
fltp, 192 kb/s (default)
Metadata:
handler_name : SoundHandler
Side data:
audio service type: main
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> rawvideo (native))
Press [q] to stop, [?] for help
[segment @ 0x7fb30e815400] Opening 'frames00000.yuv' for writing
Output #0, segment, to 'frames%5d.yuv':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf58.29.100
Stream #0:0(und): Video: rawvideo (Y3[11][10] / 0xA0B3359),
yuv420p10le, 3800x2100 [SAR 1:1 DAR 16:9], q=2-31, 2985984 kb/s, 24
fps, 24 tbn, 24 tbc (default)
Metadata:
handler_name : VideoHandler
encoder : Lavc58.54.100 rawvideo
[segment @ 0x7fb30e815400] Opening 'frames00001.yuv' for writing
frame= 20 fps= 17 q=-0.0 Lsize=N/A time=00:00:01.04 bitrate=N/A
dup=2 drop=1 speed=0.712x
video:607500kB audio:0kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: unknown
是的,输出为 10 bpc ,如这一行所述:
Stream #0:0(und): Video: rawvideo (Y3[11][10] / 0xA0B3359), yuv420p10le, 3800x2100 [SAR 1:1 DAR 16:9], q=2-31, 2985984 kb/s, 24 fps, 24 tbn, 24 tbc (default)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.