【问题标题】:Adding RTMP plugin (gstreamer-plugin-bad-0.10.23) support to Gstreamer Android SDK 2013.6 Congo为 Gstreamer Android SDK 2013.6 刚果添加 RTMP 插件 (gstreamer-plugin-bad-0.10.23) 支持
【发布时间】:2015-01-07 18:16:55
【问题描述】:

我目前正在尝试使用 GSTREAMER Android SDK 2013.6 版配置 RTMP 插件。我能够交叉编译 RTMP 插件并成功创建 libgstrtmp.a 和 libgstrtmp.la 文件。

然后我将此文件添加到 GSTREAMER Android SDK 的 libs 文件夹中的 gstreamer-0.10 文件夹中。然后,我从 SDK 库中获取了示例 tutorial-5,并在 Android.mk 文件中进行了更改,然后重新编译了项目。

毕竟 RTMP 插件是在 libgstreamer_android.so 中静态注册的,但是当我运行提供 rtmp 流的应用程序时,我收到以下错误

g_type_add_interface_static: 断言 `G_TYPE_IS_INSTANTIATABLE (instance_type)' 失败

g_once_init_leave:断言 `result != 0' 失败

以及以下警告。

为类型GstRTMPSrc' is smaller than the parent type'sGstPushSrc'实例大小指定的实例大小

为类型 GstRTMPSink' is smaller than the parent type'sGstBaseSink' 实例大小指定的实例大小

谁能帮我解决这个错误。根据 Gstreamer SDK 常见问题解答,实例和父类之间的这种不匹配可能是由于使用两个不同版本的 gstreamer 编译造成的。那就是我的插件是用 SDK 以外的其他版本编译的。

我的另一个问题是,Android SDK 是针对什么版本的 gstreamer 版本编译的。因为这可能是错误的主要原因。

谢谢你。

德鲁夫。

【问题讨论】:

    标签: android gstreamer rtmp


    【解决方案1】:

    您可能想使用 1.x 版本的 GStreamer,当前最新的稳定版本可以在这里找到:http://gstreamer.freedesktop.org/data/pkg/android/1.2.4.1/ 此版本还包含 RTMP 插件。

    此外,社区已不再支持 0.10 版本,因为几年后,您错过了数以千计的错误修复、新功能和其他改进。

    【讨论】:

    • 感谢@Sebastian Dröge,这真的很有帮助。但是在播放 Gstreamer-1.0 教程 5 中的 RTMP 流时,我又遇到了一个问题。它播放默认媒体链接没有任何问题,但是当我使用我自己的 RTMP 流(实时)更改默认媒体 URI 和管道时,缓冲区会在缓冲视频后卡住,随机 1 或 7 秒。视频将停留在它捕获的第一帧。它不渲染,状态将保持暂停。有时播放器会随机崩溃并出现错误 INVALID heap 和 SIGSEGV。请提出可能的原因。
    • 在 Linux 上与 GStreamer 一起工作是否更好?无论如何,您能否在bugzilla.gnome.org 上针对 GStreamer 提交有关这些崩溃的错误?它不应该崩溃,这是一个错误。
    • 我通过整合Linux的playback-tutorial-4到Android Media player tutorial 5中的一些chunk,解决了buffer crash和invalid heap storage的问题。我搞砸的是在迁移过程中以某种方式禁用的搜索栏。否则,它就是一个完整的 RTMP 媒体播放器。特别感谢您将我从 0.10 版本迁移到 1.2.4 版本。关于这个错误,我认为您需要按照播放教程 4 中的更新 refresh_ui 函数。这是一个很好的参考。再次感谢。 :)
    • 您能否告诉我一个完美的原因,为什么 RTMP 流会滞后并在某些时候卡住,然后播放它能够解码的随机帧并忽略剩余帧。流光这里出了什么问题。我正在流式传输本地内部视频,并且本地 LAN 连接速度支持大约 12 MBPS。帧似乎仍然处于延迟运动中。这是因为时间戳问题吗?视频以 h.264 流式传输。这只是直播的问题。?你能建议我这样做的可能原因吗?
    • rtmp 插件可能存在错误。最好是在bugzilla.gnome.org 提交针对 GStreamer 的错误报告,并提供显示所描述行为的示例流。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2016-12-04
    • 2022-08-10
    相关资源
    最近更新 更多