我有一个视频编解码器的C-Code。它以压缩格式作为输入,并提供一个YUV数据缓冲区。作为一个独立的应用程序,我能够呈现使用YUV生成的OpenGL。
Note: This codec is currently not supported by VLC/gstreamer.
我现在的任务是使用这段代码创建一个播放器(即具有播放、暂停、步骤等功能)。与其重新发明整个轮子,我认为如果我能够将我的编解码器集成到gstreamer播放器代码(对于Linux)中会更好。
是否有可能达到上述目的?是否有我可以继续使用的教程?我在网上搜索了很多东西,但是找不到符合我要求的东西。任何与上述问题相关的信息或链接
我正试图通过打牌播放一段视频。这是我的命令:
ffplay -f rawvideo -pix_fmt yuv420p -video_size 640x360 Resources/video.h264
但是我得到了一个错误:Failed to set value 'yuv420p’ for option 'pix_fmt: Option not found
因此,我使用了另一个命令来正确播放视频,这是命令:
ffplay -f rawvideo -video_size 640x360 Resources/video.h264
我想知道为什么第一个命令报告了错误,因为我使用了ffp
我正在编写着色器来显示我的视频播放项目中的yuv图像。着色器似乎是正确的,因为我已经在一张yuv图像上进行了测试。但是,如果我在GLWidgetRenderer中应用着色器,结果总是错误的。
显示的第一个图像没有我的着色器。第二个是使用着色器时的结果。对于一些视频,结果就像第三张图片,有很多绿色的线条。
我认为我的C++代码中有一些错误。但是我找不到他们,因为我对OpenGL不是很熟悉
那么,原因可能是什么呢?
c++代码在这里:
yuv 2 rgb着色器
#ifdef GL_ES
// Set default precision to medium
precision mediump int