【问题标题】:convert H264 video to raw YUV format将 H264 视频转换为原始 YUV 格式
【发布时间】:2014-01-03 18:36:24
【问题描述】:

是否可以使用 ffmpeg 从 H264 编码视频创建原始 YUV 视频?我想用matlab打开视频,逐帧访问Luma、Cb和Cr分量。

【问题讨论】:

  • 工作命令:ffmpeg -i input.264 -vcodec rawvideo -pix_fmt yuv420p output.yuv

标签: video ffmpeg h.264 encode


【解决方案1】:

是的,您可以,您只需指定像素格式。要获取格式的完整列表:

ffmpeg -pix_fmts | grep -i pixel_format_name

例如,如果您要将 mp4 文件的第一个视频轨道保存为 yuv420pp 表示 planar)文件:

ffmpeg -i video.mp4 -c:v rawvideo -pix_fmt yuv420p out.yuv

【讨论】:

  • 首先我得到这个错误:无法识别的选项'c:v'然后,我使用“-vcodec rawvideo”而不是“-c:v rawvideo”并且它有效。谢谢!
  • -c:v 和 -c:a 对于最新版本的 ffmpeg 应该没问题,你可以运行一个旧版本,如果可以的话考虑更新你的版本:)
  • 还有人得到一堆彩色线条吗?转换也会立即发生,这对我来说似乎不正确......?
  • @JoshuaF.Rountree 您需要指定尺寸才能查看它(例如,在 VLC 中):stackoverflow.com/a/22313305/2442139
  • @thang 如果你有保持时间戳 + 原始视频帧,你可以遵循 2 种不同的方式。 1st,结合 ffmpeg 解码原始帧和 ffprobe --show_frame (或类似的东西......)转储帧信息并grep他们的pts。之后交错这两个信息源(我想我使用一个简单的 python 脚本来读取 2 个过程标准输出并在输出上复用它们)并不是说我也经常解析一个 ffmpeg -i 文件名输出以获得分辨率和帧速率来构建一个完全独立且紧凑的原始视频数据格式:W,H,FPS, PTS, FRAME, .... PTS, FRAME ...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-07
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
  • 2020-08-30
相关资源
最近更新 更多