大佬教程收集整理的这篇文章主要介绍了使用 php 脚本通过 pulsesrc 启动 gstreamer 管道,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用 php 脚本执行 gstreamer 管道。我能够让测试管道正常工作而没有任何错误。但是当我在 php 脚本中尝试下面的管道时,我从pulsesrc 元素中得到一个错误。
$output = sHell_exec('sudo /usr/bin/gst-launch-1.0 -e v4l2src device=/dev/vIDeo1 ! tee name=t1 t1. ! queue ! vIDeo/x-raw,wIDth=1920,height=1080,framerate=30/1 ! nvvIDconv ! queue ! nvv4l2h264enc maxperf-enable=1 bitrate=4000000 profile=4 ! queue ! h264parse ! queue ! mux. pulsesrc device="alsa_input.usb-VXIS_Inc_ezcap_U3_capture-02.analog-stereo" ! queue ! audio/x-raw,wIDth=16,depth=16,rate=44100,chAnnel=1 ! audioconvert ! voaacenc ! aacparse ! mpegtsmux name=mux ! filesink LOCATIOn=Feed1Ts.ts t1. ! queue ! vIDeo/x-raw,framerate=30/1 ! nvvIDconv ! queue ! "vIDeo/x-raw(memory:NVMM),wIDth=959,height=540,framerate=30/1,format=NV12" ! queue ! nvoverlaysink overlay-x=0 overlay-y=270 overlay-w=959 overlay-h=540 overlay=1 v4l2src device=/dev/vIDeo0 io-mode=2 do-timestamp=true ! tee name=t2 t2. ! queue ! image/jpeg,framerate=30/1 ! vIDeorate ! image/jpeg,framerate=30/1 ! nvv4l2decoder mjpeg=1 ! nvvIDconv ! vIDeo/x-raw,framerate=30/1 ! nvvIDconv ! queue ! "vIDeo/x-raw(memory:NVMM),format=NV12" ! nvv4l2h264enc maxperf-enable=1 bitrate=4000000 profile=4 ! queue ! h264parse ! queue ! mpegtsmux ! filesink LOCATIOn=Feed2Ts.ts t2. ! queue ! image/jpeg,format=NV12" ! queue ! nvoverlaysink overlay-x=960 overlay-y=270 overlay-w=960 overlay-h=540 overlay=2 2>&1 &');
下面是错误
SetTing pipeline to PAUSED ...
opening in BLOCKING MODE
opening in BLOCKING MODE
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstpulseSrc:pulsesrc0: Failed to connect: Connection refused
Additional deBUG info:
pulsesrc.c(1015): gst_pulsesrc_open (): /GstPipeline:pipeline0/GstpulseSrc:pulsesrc0
opening in BLOCKING MODE
SetTing pipeline to NulL ...
Freeing pipeline ...
所以我尝试了没有pulsesrc元素的相同管道,然后管道运行良好
$output = sHell_exec('sudo /usr/bin/gst-launch-1.0 -e v4l2src device=/dev/vIDeo1 ! tee name=t1 t1. ! queue ! vIDeo/x-raw,framerate=30/1 ! nvvIDconv ! queue ! nvv4l2h264enc maxperf-enable=1 bitrate=4000000 profile=4 ! queue ! h264parse ! queue ! mpegtsmux ! filesink LOCATIOn=Feed1Ts.ts t1. ! queue ! vIDeo/x-raw,format=NV12" ! queue ! nvoverlaysink overlay-x=960 overlay-y=270 overlay-w=960 overlay-h=540 overlay=2 2>&1 &');
我也尝试仅使用pulsesrc管道进行测试,如下所示。
$output = sHell_exec('sudo /usr/bin/gst-launch-1.0 -e pulsesrc device=alsa_input.usb-VXIS_Inc_ezcap_U3_capture-02.analog-stereo ! queue ! audio/x-raw,chAnnel=1 ! audioconvert ! vorbisenc ! oggmux ! filesink LOCATIOn=HW1.ogg 2>&1 &');
从 php 调用时它也不起作用。管道输出如下所示。
SetTing pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstpulseSrc:pulsesrc0: Failed to connect: Connection refused
Additional deBUG info:
pulsesrc.c(1015): gst_pulsesrc_open (): /GstPipeline:pipeline0/GstpulseSrc:pulsesrc0
SetTing pipeline to NulL ...
Freeing pipeline ...
这可能是什么问题,我该如何解决pulsesrc中的这个错误?
以上所有管道都在命令行中完美运行。
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的使用 php 脚本通过 pulsesrc 启动 gstreamer 管道全部内容,希望文章能够帮你解决使用 php 脚本通过 pulsesrc 启动 gstreamer 管道所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。