使用GStreamer在Android上进行硬件视频解码

时间:2013-07-15 16:29:16

标签: android h.264 gstreamer multimedia hardware-acceleration

我必须在Android上实现一个GStreamer管道,它将从linux机器上的mpegts服务器获得实时mpegts流(也通过GStreamer实现)。

现在,我有一个Samdung Galaxy Tab2,5113,它有Android-4.1.2-JellyBean和API级别= 16

我的接收器管道如下: data-> pipeline = gst_parse_launch(“udpsrc caps = \”video / mpegts,systemstream = true,packet-size = 188 \“!tsdemux!queue!h264parse!amcviddec-omxgoogleh264decoder!eglglessink”,& error);

根据GStreamerSDK的Android-Tutorial-3。

当我按下播放按钮时, 我收到此错误: 06-26 00:04:56.927:D / GStreamer + tutorial-3(7201):0:00:05.920807000 0x5a65c320 jni / tutorial-3.c:88:set_ui_message设置消息:从元素amcvideodec-omxgoogleh264decoder0收到错误:GStreamer遇到了一般的支持库错误。

Eclipse IDE的logcat上显示的应用程序的更详细日志:http://pastebin.com/EX8sgcEp

因此,似乎amcviddec-omxgoogleh264decoder元素无法使输入数据出列,GStreamer也会遇到库错误。

我将不胜感激任何帮助或建议。

1 个答案:

答案 0 :(得分:4)

我们已经在一段时间后解决了这个问题。

只需将其放在此处以供其他人参考。

问题是,如果我们要使用amcviddec-omxgoogleh264decoder,除了gstreamer应用程序之外,还需要安装一些依赖文件。不要确切地知道它们是什么。

无论如何,如果在android root中看到/etc/media-codec.xml文件,我们就会知道一个Android设备支持的所有多媒体编解码器。这包括硬件编解码芯片支持的编解码器。

对于我们来说,我们尝试了amcviddec-omxtiducati1videodecoder,它就像一个魅力。

此致 Yusuf Husainy。