我正在尝试通过局域网在 rtp 上设置 H264 编码流。从在 localhost (127.0.0.1) 上设置源开始:
$ cvlc v4l2:///dev/video0:chroma=YUY2:width=640:height=480 --sout '#transcode{vcodec=h264}:rtp{dst=127.0.0.1,port=5600,sdp=rtsp://127.0.0.1:8080/test.sdp}' --no-audio
VLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)
[0000564a7ca67290] dummy interface: using the dummy interface module...
[00007f6fcc0013d0] stream_out_rtp stream out: Consider passing --rtsp-host=IP on the command line instead.
[00007f6fbc001200] x264 encoder: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[00007f6fbc001200] x264 encoder: profile High, level 3.0, 4:2:0, 8-bit
[00007f6fbc001200] x264 encoder: using SAR=1/1
[00007f6fbc001200] x264 encoder: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[00007f6fbc001200] x264 encoder: profile High, level 3.0, 4:2:0, 8-bit
当我尝试使用 VLC 播放器连接到该流时:
Media > Open Network Stream >
rtsp://127.0.0.1:8080/test.sdp
我收到以下错误:
[00007ff3e00015f0] satip stream error: Failed to setup RTSP session
我有两个问题:
造成此故障的可能原因有哪些?如何修复?
通过 rtsp 传递 rtp 协议定义似乎太复杂了,我该如何在本地文件系统上做到这一点?我试过了
sdp=file://~/tmp/test.sdp
,没有看到创建 sdp 文件。
非常感谢你的帮助!