video - 在 FFPLAY 窗口上显示 YUV/RGB 帧

标签 video ffmpeg rendering yuv libavcodec

我在 FFMPEG 上集成了一个自定义解码器框架。该解码器的输出是 YUV420 帧,如果需要,我可以将其转换为 RGB24 帧。

这些框架是在我的一个自定义函数中生成的。所以为了在 FFPLAY 上渲染这些帧窗口必须做什么?是否有任何特定的语法或程序要遵循?

我真的是 FFPLAY 的新手并在网上对该主题进行了足够的搜索,但没有得到与此问题相关的任何内容。如果有人可以对此提供任何答案或建议,那将对我有很大帮助。

提前致谢。

- 问候

最佳答案

我对破解 FFmpeg 的编解码器有点生疏,但我刚刚检查了最新的 git 源,我假设你正在使用同一个副本。我进一步假设您在 libavcodec/目录中的其余编解码器旁边插入了您的解码器,并且当您构建程序并运行 ffmpeg -formats 时,您会看到提到的新解码器。

如果这一切都是真的,那么我将假设您的解码器模块导出了一个 init() 函数,该函数期望接收指向 AVCodecContext 的指针。功能。此数据结构有一个名为 pix_fmt 的成员,在解码器的情况下,该成员应设置为 AV_PIX_FMT_YUV420P,以指示平面 YUV 4:2:0。

如果这不起作用,请尝试使用 ffmpeg将文件解码为空目标的工具,只是为了测试您的解码器是否正在执行某些操作:

ffmpeg -i yourfile.ext -f null /dev/null

使用此命令的输出修改您的问题,为我们提供更多线索。

关于video - 在 FFPLAY 窗口上显示 YUV/RGB 帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20094537/

相关文章:

javascript - 即使使用 html5=1,最新的 YouTube API 默认为 Firefox 中的 Flash 播放器

ffmpeg - 转码 ts 后的持续时间变化

css - 弄乱了 IE9 中的圆 Angular 渲染

ruby-on-rails - 在 Rails 中,如何使用 View 呈现 JSON?

jquery - 使用 jQuery 删除视频标签后,如何停止音频继续播放?

opencv - 为什么无法在OpenCV(C和C++ API)中打开视频文件?

python - x264 多次通过指定临时文件的位置?

ruby - 无法使 ffmpeg gem 在 Windows 上工作( ruby )

FFmpeg 将时间戳元数据添加到 HLS 段

python - 使用 WebKit(或 Gecko)查找呈现的 HTML 元素位置