我已经在FFMPEG框架上集成了一个自定义解码器。这个解码器的输出是YUV420帧,如果需要的话,我可以把它转换成RGB24帧。
这些框架是在我的一个自定义函数中生成的。那么,为了在FFPLAY窗口上呈现这些帧,需要做什么呢?是否有任何特定的语法或过程可遵循?
我对FFPLAY非常陌生,已经在网上搜索了足够多的这个主题,但是没有任何与这个问题相关的东西。如果有人能对此提供任何答案或建议,这将对我有很大帮助。
提前谢谢。
-问候
发布于 2013-11-22 06:47:00
我对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用这个命令的输出修改你的问题,给我们提供进一步的线索。
https://stackoverflow.com/questions/20094537
复制相似问题