【问题标题】:How to transform AVFrame to GstBuffer?如何将 AVFrame 转换为 GstBuffer?
【发布时间】:2020-12-16 18:58:08
【问题描述】:

我想通过 libav (ffmpeg) 将帧推送到 GStreamer appsrc 元素。问题是如何将AVFrameAVPicture 转换为GstBuffer。有人知道吗?

【问题讨论】:

    标签: c ffmpeg gstreamer libav gstreamer-1.0


    【解决方案1】:

    看看:
    GstBuffer
    AVFrame Struct Reference
    AVPicture Struct Reference

    要遵循的步骤:

    • 从 AVFrame 对象中删除所有相关信息
    • 创建一个GstBuffer对象并设置相关信息
    • 将 GstBuffer 推送到 appsrc

    如果您不确定如何解释 AVFrame 的不同字段以及如何使用它们,请浏览参考页面并研究提供的示例。

    注意时间单位是 AVStream->time_base 单位。您可能必须将它们重新缩放/转换为所需的 gstreamer api 格式。

    顺便说一句,为什么不坚持使用 gstreamer?同时使用两个不同的媒体框架的目的是什么? Gstreamer 支持 ffmpeg(尽管被认为是“丑陋的”)。

    GStreamer FFmpeg plug-in

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-21
      • 2018-04-13
      • 2021-09-03
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 2015-05-29
      • 1970-01-01
      相关资源
      最近更新 更多