linux上通过FFmpeg得到rgb的每一帧后显示在屏幕用什么方法啊?

linux上通过FFmpeg得到rgb的每一帧后显示在屏幕用什么方法啊?,第1张

需要调用 framebuffer 或 xlib 相关 API。在X桌面肆迹腊上显示的话有很州弯多图形库可以裂滑使用如 gdk(gtk)、SDL、Qt ...

也可以保存到本地文件,可以看一下BMP格式,几乎就是头加上RGB格式像素点数据。

h264的帧格式就是YUV, YUV的优点是可以仿戚对其中两个分量CbCr进行采样而不太破坏图像的显示, rgb就不行会导致图像严重失真, 所物大败以设计h264的编码器的时候就考虑用YUV做帧格式。

至于为什么要转是因为libav设计的时候是完全从效率出发, 多余的性能开销都是要用户手罩颤动去调用的。sws_scale这个库就是专门去做帧的变化的

C/C++ code #ifndef CAPTUREBLT #define CAPTUREBLT 0x40000000 #endif HBITMAP CaptureScreen(LPRECT lpRect)/大启/lpRect为NULL时滚虚如表示全屏幕誉唯截图 { HDC hdc, hdcMem HBITMAP hemfCopy HWND h……


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12225168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存