我必须在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遇到库错误.
我将不胜感激任何帮助或建议.
我想在bash中使用命名管道而不读取或写入它,直到发生事件为止。我需要在shell脚本运行的整个过程中保持此管道为打开状态。如有需要,我会从中阅读。意思是,可以做这样的事情:
open(<$NAMED_PIPE>, "r+")
--do something--
--call child ruby script, which will write to named pipe--
--do something more---
read line < $NAMED_PIPE
Run Code Online (Sandbox Code Playgroud)
这有可能在bash中吗?
我正在使用以下代码:../Ruby |-try1.rb`-try2.sh
try1.rb如下:
#!/usr/bin/ruby
require 'optparse'
puts 'Hello World!, This is my first ruby program'
options = {}
optparse = OptionParser.new do|opts|
opts.banner = "Featbuild minimal trial script for command line parsing"
options[:cpl] = nil
opts.on('--cpl SWITCH_STATE', 'compile on or off') do|cplopt|
options[:cpl] = cplopt
OPT_CPL=cplopt
puts cplopt
end
opts.on('-h', '--help', 'Display this screen') do
puts opts …Run Code Online (Sandbox Code Playgroud) android ×1
bash ×1
gstreamer ×1
h.264 ×1
linux ×1
multimedia ×1
named-pipes ×1
ruby ×1
shell ×1