标签: rtp

如何强制客户端将RTP传输从UDP切换到TCP?

如果客户端想要观看我的RTSP服务器上的流,它首先尝试通过UDP协议设置流.我怎么能告诉它我的服务器只支持RTP/AVP/TCP并且它应该切换传输?

我要终止我的服务器上的UDP支持,但所有的客户端第一次尝试设置了UDP会话,后来他们通过TCP这样做......我想切换他们尽快在RTSP协议TCP.

我怎样才能做到这一点?

rtp rtsp

7
推荐指数
3
解决办法
3万
查看次数

通过RTP从Live555到VLC流式传输H.264视频

如果你可以帮助我解决H264流媒体问题,我会非常感激,我一直试图解决这个问题.

我需要将H255视频从Live555(在Linux机器上)传输到VLC媒体播放器(在Windows机器上).使用RTSP它可以很好地工作,但是我需要在没有RTSP的情况下使用RTP,而使用RTP我看不到视频.VLC甚至不识别该流是H264.

这是通过RTSP传输的SDP文件(可用的配置):

v=0
o=- 1277647151953158 1 IN IP4 190.40.14.100
s=Session streamed by "testH264VideoAudioStreamer"
i=test-h264-mux.mpg
t=0 0
a=tool:LIVE555 Streaming Media v2007.05.24
a=type:broadcast
a=control:*
a=source-filter: incl IN IP4 * 190.40.14.100
a=rtcp-unicast: reflection
a=range:npt=0-
a=x-qt-text-nam:Session streamed by "testH264VideoAudioStreamer"
a=x-qt-test-inf:test-h264=mux.mpg
m=video 8554 RTP/AVP 96
c=IN IP4 190.40.15.63/7
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=000042;sprop-parameter-sets=H264
a=control:track1
Run Code Online (Sandbox Code Playgroud)

但是如果我从RTSP切换到RTP,它就不起作用.我已经尝试在VLC播放器中加载上面的SDP文件,但它没有帮助.

以下是VLC Player 0.8.6d的一些调试输出:

main input debug: thread 4016 (input) created at priority 1 (input/input.c:265)
main input debug: `rtp://@190.40.15.63:8554' gives access `rtp demux' `' path `@190.40.15.63:8554'
main input debug: …
Run Code Online (Sandbox Code Playgroud)

vlc live rtp video-streaming h.264

7
推荐指数
1
解决办法
1万
查看次数

C++中的SIP和RTP实现

是否有可靠的开源库用c ++编写来实现SIP和RTP协议?如果没有,使用boost.asio实现它们是否容易?

c++ sip network-protocols rtp

7
推荐指数
1
解决办法
6690
查看次数

如何将SIP集成到Android中?

如何在Android中实现SIP协议?有没有可用于将其轻松实现到Android的SDK或库?

android voip sip rtp sdp

7
推荐指数
1
解决办法
1万
查看次数

使用gstreamer组合音频和视频流

我正在使用gstreamer通过RTP流将mp4(mpeg-4)文件从一个设备传输到另一个设备.基本上我将mp4文件拆分为其音频和视频文件,然后将其全部发送到其他设备进行流式处理.现在,我想将mp4文件保存到另一台设备的磁盘上,但我的问题是我可以单独保存音频和视频文件而无法单独播放.

我很困惑如何结合音频和视频rtp流来形成我的mp4文件并将其保存到其他设备中的文件.

以下是命令行代码:

发件人(服务器)

gst-launch-0.10 -v filesrc location=/home/kuber/Desktop/sample.mp4 \
             ! qtdemux name=d \
             ! queue \
             ! rtpmp4vpay \
             ! udpsink port=5000 \
             d. \
             ! queue \
             ! rtpmp4gpay \
             ! udpsink port=5002
Run Code Online (Sandbox Code Playgroud)

Reciever(客户端)

gst-launch-0.10 udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)243, config=(string)000001b0f3000001b50ee040c0cf0000010000000120008440fa282fa0f0a21f, payload=(int)96, ssrc=(uint)4291479415, clock-base=(uint)4002140493, seqnum-base=(uint)57180" \
             ! rtpmp4vdepay \
             ! ffdec_mpeg4 \
             ! xvimagesink sync=false \
             udpsrc port=5002 caps="application/x-rtp, media=(string)audio, clock-rate=(int)32000, encoding-name=(string)MPEG4-GENERIC, encoding-params=(string)2, streamtype=(string)5, profile-level-id=(string)2, mode=(string)AAC-hbr, config=(string)1290, sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3, payload=(int)96, ssrc=(uint)501975200, clock-base=(uint)4248495069, seqnum-base=(uint)37039"\
             ! …
Run Code Online (Sandbox Code Playgroud)

streaming rtp video-streaming gstreamer audio-video-sync

7
推荐指数
1
解决办法
5123
查看次数

使用avconv通过无线接入点将直播(alsa hw:0,0)中的实时音频流式传输到客户端.

我在我的Miniand的Hackberry上安装了linaro 12.06(https://www.miniand.com/products/Hackberry%20A10%20Developer%20Board).

我用HACK的ssid在hackberry上有无线接入点

我在hackberry上使用这个命令:

avconv -f alsa -ac 1 -i hw:0,0 -acodec mp2 -b 64k -f rtp rtp://10.0.0.1:1234
Run Code Online (Sandbox Code Playgroud)

所以使用我的笔记本电脑连接到hackberry"HACK",然后我拉起终端并输入

avplay -i rtp://10.0.0.1:1234
Run Code Online (Sandbox Code Playgroud)

我没有收到任何音频信号.你知道我做错了什么吗?

在hackberry,如果我跑

avconv -f alsa -ac 1 -i hw:0,0 -acodec mp2 -b 64k -f rtp rtp://10.0.0.1:1234
Run Code Online (Sandbox Code Playgroud)

并使用新的终端屏幕运行

avplay -i rtp://10.0.0.1:1234
Run Code Online (Sandbox Code Playgroud)

我能听到完美的音频.

我试图避免使用流媒体服务器.

有人可以帮忙吗?

谢谢!

linux streaming wireless rtp

7
推荐指数
1
解决办法
1万
查看次数

使用VLC以最低延迟流式传输RTP桌面

我一直试图弄清楚如何使用VLC流式传输我的桌面(通过LAN)并实现尽可能低的延迟(<100ms).目标是让另一台计算机接收流并可能在流式传输时玩游戏(即在电视旁边的PC上从PC1玩游戏).

我应该使用什么设置?我尝试了多种方法,但还没有成功.

编辑:我也愿意使用VLC以外的东西.

streaming vlc stream rtp rtsp

7
推荐指数
1
解决办法
1万
查看次数

使用 tcpserversink 通过 gstreamer 流式传输到 vlc

我正在尝试使用 gstreamer 和 tcp 流式传输 h264 编码的视频。命令是:

gst-launch-1.0 videotestsrc is-live=true !视频转换!视频尺度!视频/x-raw,宽度=800,高度=600!x264enc key-int-max=12 !rtph264pay 配置间隔=1 点=96 !国内生产总值支付!tcpserversink 端口=5000

gop 大小设置为 12,配置每秒发送一次。我无法使用 vlc 接收此流(无论是在同一台机器上还是在其他机器上)。vlc上的命令是:

vlc rtp://localhost:5000

但什么也没显示。任何人都可以帮忙吗?问候

tcp vlc rtp gstreamer

6
推荐指数
1
解决办法
8040
查看次数

从 OpenCV-Python 传输 RTP/RTSP 流时遇到问题

我正在尝试使用我在这里找到的示例脚本来获取 OpenCV 图像并将其转换为 rtp/rtsp 流:
https://github.com/madams1337/python-opencv-gstreamer-examples/blob/master/gst_device_to_rtp .py

这是脚本的描述:

“gst_device_to_rtp 抓取 VideoCapture(0),对帧进行编码并将其流式传输到 rtp://localhost:5000”

这是我尝试使用的代码

# Cam properties
fps = 30.
frame_width = 1920
frame_height = 1080
# Create capture

#cap = cv2.VideoCapture(0)

# Set camera properties
cap.set(cv2.CAP_PROP_FRAME_WIDTH, frame_width)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, frame_height)
cap.set(cv2.CAP_PROP_FPS, fps)

# Define the gstreamer sink
gst_str_rtp = "appsrc ! videoconvert ! x264enc noise-reduction=10000 tune=zerolatency byte-stream=true threads=4 " \
              " ! h264parse ! mpegtsmux ! rtpmp2tpay ! udpsink host=127.0.0.1 port=5000"

# Create videowriter as a SHM sink
out = cv2.VideoWriter(gst_str_rtp, …
Run Code Online (Sandbox Code Playgroud)

python streaming opencv rtp gstreamer

6
推荐指数
0
解决办法
3440
查看次数

音频流:使用 Gstreamer 接收 RTP-Stream - 延迟

我目前正在研究一个 AudioOverIP 项目,想知道你是否可以帮助我。我有一个 LAN,带有一个音频源(Dante/AES67-RTP-Stream),我想将其分发到多个带有音频输出(例如耳机插孔)的接收器(SBC(例如 RaspberryPi)):

PC-->Audio-USB-Dongle-->AES67/RTP-Multicast-Stream-->LAN-Network-Switch-->RPI (Gstreamer --> AudioJack)
Run Code Online (Sandbox Code Playgroud)

我目前使用 Gstreamer 作为管道:

gst-launch-1.0 -v udpsrc uri=udp://239.69.xxx.xx:5004 caps="application/x-rtp,channels=(int)2,format=(string)S16LE,media=(string)audio,payload=(int)96,clock-rate=(int)48000,encoding-name=(string)L24" ! rtpL24depay ! audioconvert ! alsasink device=hw:0,0
Run Code Online (Sandbox Code Playgroud)

一切正常,但如果我在 PC 上观看视频并收听 RPI 的音频,我会出现一些延迟(~200-300ms),因此我的问题是:

  1. 我是否错过了 Gstreamer Pipeline 中的某些内容来减少延迟?
  2. RTP-Streams 的预期最小延迟是多少,可以实现 <50 毫秒吗?
  3. 延迟是由网络还是 RPi 的速度造成的?
  4. 由于我的音频输入不是 Gstreamer 输入,我认为rtpjitterbuffer或类似的输入不会有助于减少延迟?

rtp audio-streaming gstreamer dante

6
推荐指数
1
解决办法
1766
查看次数