为什么使用ffmpeg导出的rawvideo格式yuv视频播放时全黑屏?
问题原因及解决方案
- 你遇到的黑屏属于YUV格式的正常特性:YUV是无封装的原始裸像素数据,文件本身不存储分辨率、帧率、像素格式这类元信息,所有专用播放器打开时都需要你手动指定和导出参数完全匹配的配置,参数不匹配就会出现黑屏、花屏、画面错乱的问题,不属于操作失误。
- 先确认导出的YUV参数:查看你转码时ffmpeg输出的日志,记录原test.avi的视频分辨率(比如1920x1080)、帧率(比如24fps),你导出时指定的像素格式是yuv420p,这三个参数需要在播放器内手动输入才能正常播放。
- 快速验证导出文件是否正常:直接用ffplay执行播放命令,对应替换你自己的分辨率、帧率参数即可:
示例:如果原视频是1280x720、25fps,命令为:ffplay -pix_fmt yuv420p -s 你的视频分辨率 -framerate 你的视频帧率 out.yuvffplay -pix_fmt yuv420p -s 1280x720 -framerate 25 out.yuv - 异常排查:如果用上述命令播放仍然黑屏,可计算文件大小判断转码是否成功:YUV420P文件预期大小 = 宽度 × 高度 × 1.5 × 总帧数,若实际大小和预期值偏差过大,说明原视频文件损坏或转码过程出现异常。
内容的提问来源于stack exchange,提问作者Sling Ring
相关产品推荐
相关产品推荐

