我想通过 libav
推送帧(ffmpeg) 到 GStreamer appsrc
元素。问题是如何转换AVFrame
或 AVPicture
至GstBuffer
.有人知道吗?
最佳答案
看一下:
GstBuffer
AVFrame Struct Reference和
AVPicture Struct Reference
要遵循的步骤:
如果您不确定如何解释 AVFrame 的不同字段以及如何使用它们,请浏览引用页面并研究提供的示例。
请注意,时间单位是 AVStream->time_base 单位。您可能必须将它们重新缩放/转换为所需的 gstreamer api 格式。
顺便说一句,为什么不坚持使用 gstreamer?同时使用两个不同的媒体框架的目的是什么? Gstreamer 支持 ffmpeg(尽管被认为是“丑陋的”)。
GStreamer FFmpeg plug-in
关于c - 如何将 AVFrame 转换为 GstBuffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65329501/