【问题标题】:How to convert YUV frames to a video?如何将 YUV 帧转换为视频?
【发布时间】:2013-10-21 14:58:16
【问题描述】:

如何将一组 YUV 帧转换为视频,然后使用 C 将视频转换为 YUV 帧而不会造成任何损失?(我不想将其转换为 RGB)

【问题讨论】:

  • 我不明白。在整个管道中,您不只是 YUV 吗?你在编码什么?如何编码?!
  • 看看 ffmpeg 库并使用 libavcodec 和 format 将 YUV 帧存储为 AVI uyvy、uyvy 或 yuv420p,....

标签: c++ image-processing video-processing video-encoding yuv


【解决方案1】:

如果你有一个原始的 YUV 文件,你需要告诉 ffmpeg 使用哪种像素格式/二次采样。 YUV没有header,所以还需要指定数据的宽高。

以下 ffmpeg 命令使用 x264 编码器将 1080p YUV 4:2:0 编码为 H.264,并将结果放入 mp4 容器中。但是,此操作并非无损。

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 output.mp4

要重新获取 YUV 帧,请执行以下操作

ffmpeg -i output.mp4 frames.yuv

如果您正在寻找无损编码器,请尝试HuffYUVFFV1

【讨论】:

  • 非常感谢。我会试试这个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-03
  • 1970-01-01
  • 2013-06-15
  • 2018-08-12
  • 2014-01-03
相关资源
最近更新 更多