小编Yus*_*iny的帖子

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

我必须在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遇到库错误.

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

android multimedia gstreamer h.264 hardware-acceleration

5
推荐指数
1
解决办法
3388
查看次数

在bash中打开命名管道,而无需对其进行读取或写入

我想在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)

ruby linux bash shell named-pipes

2
推荐指数
1
解决办法
1387
查看次数