我正在尝试将 IP 摄像机的 RTSP 流嵌入到网站中。我发现直接嵌入 RTSP 既棘手又费资源,而且它还需要用户采取一些关键操作(安装不同的播放器,如 VLC 或启用一些浏览器插件),所以我决定使用 FFMPEG 将 RTSP 流即时转换为实时流(HLS 或 MPEG-DASH)。当我尝试生成 HLS 文件时,CPU 负载会跳到 100%,所以我想(因为我的视频服务器很弱,只有一个核 CPU)MPEG-DASH 是我应该坚持使用的选项,因为它增加了 2-3% 的 CPU 负载,这是可以接受的。但是,当我尝试使用以下命令验证我的 manifest.mpd 文件时https://conformance.dashif.org/它返回以下内容:
✔ XLink resolving
✖ MPD Validation
✖ Schematron Validation
我尝试使用Dash.js但播放器卡在了加载状态。然而,当我尝试使用甚高频液晶,JW 播放器 8和THEOPlayer,它运行完美。然而,ffprobe
返回:http://MY_PUBLIC_IP:PORT/mpeg-dash/manifest.mpd: Invalid data found when processing input
。我做错了什么,以及如何生成我的 dash 文件,以便它们可以使用传统(和免费)播放器播放,例如Dash.js?
资源:
我正在使用的命令:ffmpeg -i rtsp://USERNAME:[email protected]:554/live -an -c:v copy -b:v 2000k -f dash -window_size 10 -extra_window_size 0 -min_seg_duration 2000000 -use_timeline 1 -use_template 1 -remove_at_exit 1 /var/www/camera/mpeg-dash/manifest.mpd