我使用RTP和ffmpeg的流媒体视频直播使用此命令可以打开SDP文件H265:VLC:无法使用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上传输。有什么建议么?
支持'HEVC'了'在这两个FFmpeg的(https://ffmpeg.org/pipermail/ffmpeg-devel/2014-September/163213.html)和VLC显然加入RTP'(HTTPS ://patches.videolan.org/patch/4313/)。 'ffmpeg'输出不能用'ffplay'来播放,所以也许会有某种回归。我删除了我的答案,因为很明显版本不是问题。 – aergistal
您是否尝试使用我发布的命令?并复制该场景。 – Anakooter
是的,'ffplay'失败,出现'[hevc @ 0x7fe4f80049e0]解析NAL单元#0时出错。 [hevc @ 0x7fe4f80049e0] PPS ID超出范围:00KB sq = 0B f = 0/0 [sdp @ 0x7fb1a40008c0]流0解码失败 [sdp @ 0x7fb1a40008c0]找不到流0的编解码参数(视频:hevc,无):未指定大小 考虑增加“分析”和“探针大小”选项的值 ffmpeg。SDP:找不到编解码器参数 ' – aergistal