xcode Gstreamer Live流式传输无法与版本1.18.6配合使用

5fjcxozz  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(146)

在Xcode中创建了一个应用程序来运行Gstreamer版本1.18.6的教程3。运行应用程序后,它会显示播放视频。我需要将视频从MacBook内部摄像头流到iPhone。我使用brew在OSX版本1.20.4中添加了Gstreamer开发和运行时应用程序。在OSX中运行终端命令:视频转换!x264 enc调谐=零延迟比特率=200速度预设=超快!队列!udpsink主机=192.168.0.108端口=5005
然后MacBook相机打开并开始流.附上截图:

然后我添加了管道作为gst_parse_launch(“udpsrc端口=5005!应用程序/x-rtp,编码名称=H265,有效负载=96!rtph 265 depay!h265 parse!队列!avdec_h265!自动视频链接同步=false”,&错误);在Xcode应用程序中,其中包括GStream框架通用(1.18.6),位于库/开发人员/Frameworks/Gstreamer/iPhone.sdk/中。但我收到错误“无法构建管道:没有元素“udpsrc”。附上屏幕截图。

mbzjlibv

mbzjlibv1#

您有多个问题,在第一个管道上,您用途:
x264 enc链接到一个队列,然后udpsink,我建议你插入rtph 264 pay之间的队列和udpsink.

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-launch-1.0 udpsrc uri=udp://127.0.0.1:5000 caps=“应用程序/x-rtp,媒体=视频,编码名称=H264,有效负载=96”!rtph 264 depay!h264 parse!avdec_h264!视频转换!glimagesink同步=false
其次,关于IOS应用程序,有两件事:

  • 首先你需要启用udpsrc插件

在gst_ios_init. h中,您至少需要启用:

GST_IOS_PLUGINS_NET
GST_IOS_PLUGINS_SYS
GST_IOS_PLUGINS_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

启用了GST_IOS_插件_编解码器限制的vtdec或avdec_h264
顺祝商祺

相关问题