在Xcode中创建了一个应用程序来运行Gstreamer版本1.18.6的教程3。运行该应用程序后,它显示播放视频,我需要将视频从MacBook内部摄像头流到iPhone。我在OSX中添加了Gstreamer开发和运行时应用程序,版本为1.20.4,使用brew。在OSX中运行终端命令:gst-index 1.0 -v avfvideosrc设备-index=0!视频/x-原始,帧=20/1!视频信号!视频转换!x264enc tune=zerolatency bitrate=200速度-预设=超快!排队!udpsink host=192.168.0.108 port=5005
然后,MacBook摄像头打开,并开始流。随附截图:
然后,我将管道添加为gst_parse_launch("udpsrc port=5005!application / Xcode,application=h 265,payload=96!rtph265depay!h265parse!queue!avdec_h265!autovideosink sync=false“);在Xcode应用程序中,其中包括GStream框架通用(1.18.6)。但是我得到了错误“无法构建管道:没有元素”"udpsrc“。附加屏幕截图。
发布于 2022-11-30 21:10:02
您有倍数问题,在第一个管道上,您可以使用:
x264enc链接到队列,然后链接到udpsink,我建议您在队列和udpsink之间插入rtph264pay。
gst-launch-1.0 videotestsrc is-live=TRUE ! video/x-raw, width=1920, height=1080, framerate=25/1 ! x264enc key-int-max=25 tune=zerolatency ! h264parse ! rtph264pay config-interval=2 ! udpsink host=127.0.0.1 port=5000
这里有一个没有摄像机捕捉和其他端口的例子。
这里的接收机示例gst-启动-1.0 udpsrc uri=udp://127.0.0.1:5000 caps=“application/x,media=video,media=video=h 264,payload=96”!rtph264depay!h264parse!avdec_h264!视频转换!微光sync=false
其次,关于IOS应用程序,有2件事:
在gst_ios_init.h中,您至少需要启用:
GST_IOS_PLUGINS_NET
GST_IOS_PLUGINS_SYS
GST_IOS_PLUGINS_CODECS
此处列出了相应的const和codecs:
#define GST_IOS_PLUGINS_CORE
#define GST_IOS_PLUGINS_CODECS
//#define GST_IOS_PLUGINS_ENCODING
#define GST_IOS_PLUGINS_NET
//#define GST_IOS_PLUGINS_PLAYBACK
//#define GST_IOS_PLUGINS_VIS
#define GST_IOS_PLUGINS_SYS
//#define GST_IOS_PLUGINS_EFFECTS
//#define GST_IOS_PLUGINS_CAPTURE
//#define GST_IOS_PLUGINS_CODECS_GPL
//#define GST_IOS_PLUGINS_CODECS_RESTRICTED
//#define GST_IOS_PLUGINS_NET_RESTRICTED
//#define GST_IOS_PLUGINS_GES
管道是h264而不是h265,管道应该是这样的(我不能在ios设备上进行测试)
gst-launch-1.0 udpsrc port=5005 ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! queue ! vtdec ! autovideosink
启用vtdec或avdec_h264并启用GST_IOS_PLUGINS_CODECS_RESTRICTED
诚挚的问候
https://stackoverflow.com/questions/74614658
复制相似问题