我试图通过用户定义的协议隧道传输RTP流量,并希望测试此设置.是否有任何C++库,我可以使用它来生成示例RTP数据包,然后通过我的库隧道它们?
谢谢.
我在C#中有一个视频文件(.avi mpeg4\xVid\ect ..)的读/读输入流,我想将它流式传输到一个启用了跳转到X时刻功能的视频播放器.我该如何实现呢?
我听说RTP可能是一个很好的协议.
我真正想要的是C#中的一个库可以帮助我.
提前致谢.
是否可以从通过RTSP从Axis相机发送的H.264流中读取绝对时间戳?
有必要知道相机何时拍摄了相框.
谢谢安德烈
我想使用RTP格式的JMF 2.1.1e捕获和流式传输音频.我写了一个简单的发射器,我可以发送和接收音频.但是当我在Wireshark中看到时,我看到数据包为UDP.请问有人能指出我的问题.
这是我负责音频捕获和传输的功能.
public void captureAudio(){
// Get the device list for ULAW
Vector devices = captureDevices();
CaptureDeviceInfo captureDeviceInfo = null;
if (devices.size() > 0) {
//get the first device from the list and cast it as CaptureDeviceInfo
captureDeviceInfo = (CaptureDeviceInfo) devices.firstElement();
}
else {
// exit if we could not find the relevant capturedevice.
System.out.println("No such device found");
System.exit(-1);
}
Processor processor = null;
try {
//Create a Processor for the specified media.
processor = Manager.createProcessor(captureDeviceInfo.getLocator());
} catch (IOException …Run Code Online (Sandbox Code Playgroud) 我目前有一个Android应用程序,它从摄像头捕获视频并通过RTP进行流式传输.我不使用RTSP.
我创建了一个描述RTP源的SDP文件.我可以在Quicktime 7中打开SDP文件并且可以看到流,尝试在VLC中打开SDP文件不起作用.我收到以下错误:
live555 demux错误:10s内没有收到数据,正在中止
我正在使用Wireshark监视RTP数据包,并且可以看到网络上的数据包(参见下面的示例):
281956 2545.589171000 10.0.1.25 10.0.1.150 UDP 1442 Source port: 54405 Destination port: 51372
Run Code Online (Sandbox Code Playgroud)
Quicktime 7似乎没有问题绑定到SDP中的目标端口并播放流但是在尝试使用VLC时我看到以下ICMP数据包:
286674 2925.162140000 10.0.1.150 10.0.1.25 ICMP 70 Destination unreachable (Port unreachable)
Run Code Online (Sandbox Code Playgroud)
我的SDP文件包含:
v=0
o=- 1360349812962 1360349812962 IN IP4 10.0.1.25
s=Unnamed
i=N/A
c=IN IP4 10.0.1.150
t=0 0
a=recvonly
m=video 51372 RTP/AVP 96
b=RR:0
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=42c01e;sprop-parameter sets=Z0LAHukBQHsg,aM4G4g==;
Run Code Online (Sandbox Code Playgroud)
我需要做什么才能让流在VLC中播放?我在启动VLC时尝试使用参数'--rtp-client-port = 51326',但它似乎没有什么区别.
更新1
看来VLC(至少我正在使用它的方式)不使用您在SDP中指定的客户端端口,它总是分配它自己的端口,它期望RTP数据包被传递.我改变了我的方法,允许我从VLC捕获端口并使用该端口作为目标启动我的RTP源并且它起作用.这不是一个理想的解决方案.
有没有人知道如何让VLC使用SDP文件中的目标端口?
我正在尝试使用gstreamer在UDP打包中发送h264视频.就像,gstreamer v4l2src!video/x-raw-rgb,widht = 320,身高= 240!ffmpegcolorspace!x264enc!rtph264pay!udpsink host = 192.168.0.1 port = 12345
有人能告诉我如何在网络浏览器的接收方显示器上接收视频..?提前致谢..
PRA-双赢
我正在使用android SIP for VoIP.应用程序正在成功接收呼叫.但是,启动呼叫会产生一些错误.
日志中没有错误,但信息说:
" I/art: Thread[1,tid=23775,WaitingForJniOnLoad,Thread*=0xb4f07800,peer=0x759512e0,"main"] recursive attempt to load library "/system/lib/librtp_jni.so" "
任何人都可以解释什么是问题,我们怎么可能解决它?
我正在尝试使用 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
但什么也没显示。任何人都可以帮忙吗?问候
我正在尝试使用我在这里找到的示例脚本来获取 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) 我目前正在研究一个 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),因此我的问题是:
rtpjitterbuffer或类似的输入不会有助于减少延迟?