我正在使用 rtp 和 ffmpeg 使用以下命令流式传输实时视频:
ffmpeg -re -f v4l2 -framerate 30 -video_size 640x480 -i /dev/video0 -c:v libx265 -tune zerolatency -s 320x240 -preset ultrafast -pix_fmt yuv420p -r 10 -strict experimental -f rtp rtp://127.0.0.1:49170 > ffmpeg.sdp
生成的sdp文件为:
v=0 o=- 0 0 IN IP4 127.0.0.1 s=No Name c=IN IP4 127.0.0.1 t=0 0 a=tool:libavformat 56.36.100 m=video 49170 RTP/AVP 96 a=rtpmap:96 H265/9000
Vlc 给出以下错误:
无法检测到“file:///home/username/ffmpeg.sdp”的格式。查看日志以了解详细信息。
终端给出以下错误:
[0xaf801010] ps demux error: cannot peek
[0xaf801010] mjpeg demux error: cannot peek
[0xaf801010] mpgv demux error: cannot peek
[0xaf801010] ps demux error: cannot peek
[0xb6d00618] main input error: no suitable demux module for `file/:///home/username/ffmpeg.sdp'
如果我只是在命令中更改 libx265 -> libx264 和 H265 -> H264,则流运行得非常好。
但是我需要在 H265 上流式传输。有什么建议么?