【问题标题】:How to extract frames(or a perticular frame) from a YUV video using ffmpeg如何使用 ffmpeg 从 YUV 视频中提取帧(或特定帧)
【发布时间】:2015-11-06 00:30:28
【问题描述】:

这是从MP4 视频中提取帧的代码。 ffmpeg -i above_marathon_250.mp4 images%03d.bmp 但是相同的代码不适用于YUV 格式的视频。 有谁知道如何从YUVformat 视频中提取帧?

【问题讨论】:

    标签: video ffmpeg yuv


    【解决方案1】:

    您必须指定视频大小-video_size 和帧速率-r 所以使用以下脚本:

    ffmpeg.exe -video_size 720x576 -r 25 -ss 00:00:00 -i video_input_720x576_25.yuv -vframes 1 -q:v 1 frame_output_720x576_25.jpg
    

    如果您想指定输入视频格式包括-pixel_format yuv420p 或除yuv420p 之外的任何其他格式。

    【讨论】:

      【解决方案2】:

      它不起作用,因为 yuv 文件没有标题,所以 ffmpeg 不知道文件的大小/pixfmt。您需要手动指定分辨率和 pixmt:

      ffmpeg -video_size 1920x1080 -r 25 -pixel_format yuv422p -i file.yuv output-%d.png

      然后调整 size/pixfmt 以匹配您的特定视频。

      [edit] 我也建议以后在超级用户上发布这样的问题,这与编程无关。

      【讨论】:

      • 完美运行。谢谢@Ronald 另外,我是 StackOverflow 的新手,所以我需要了解超级用户。我会做。谢谢
      【解决方案3】:

      ffmpeg.org 中给出的命令是

      ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg
      

      这将从视频中每秒提取一个视频帧,并将它们输出到名为 foo-001.jpeg、foo-002.jpeg 等的文件中。图像将重新缩放以适应新的 WxH 值。

      在你的情况下,你可以将上面的命令修改为

      ffmpeg -i inputfile.yuv -r 1 -f image2 images%05d.png 
      

      其中 r 是帧速率,应设置为 1,以便从 yuv 中提取单帧

      【讨论】:

      • 设置r=1 ffmpeg -i inputfile.yuv -1 1 -f image2 images%05d.png 不行。
      • r 在上述命令中的值已经为 1,因此请按原样使用该命令
      • 它不会创建任何图像,这是命令行上的消息:[rawvideo @ 0x7fef6880da00] Could not find codec parameters for stream 0 (Video:rawvideo (I420 / 0x30323449), yuv420p, -4 kb/s):unspecified size Consider increasing the value for the 'analyzeduration' and'probesize' options above_marathon_250.yuv: could not find codec parameters Input #0,rawvideo, from 'above_marathon_250.yuv': Duration:N/A,bitrate:n/a Stream #0:0:Video:rawvideo(I420 / 0x30323449), yuv420p, -4 kb/s, 25 tbr, 25 tbn,25 tbc Output #0,image2,to'images%05d.png': Output file #0 does not contain any stream
      • PL。找到下面的链接stackoverflow.com/questions/11659267/…,其中提到我正在测试的文件实际上已损坏。但是,如果有人遇到这个问题,例如将 -probesize 和 -analyzeduration 设置为 100 和 10000000 可能会有所帮助。
      • 看不到任何阳性结果 :(
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 2013-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多