FFMPEG에서 생성된 Livestream용 DASH 매니페스트가 유효하지 않지만 일부 플레이어에서는 계속 재생할 수 있습니다.

FFMPEG에서 생성된 Livestream용 DASH 매니페스트가 유효하지 않지만 일부 플레이어에서는 계속 재생할 수 있습니다.

IP 카메라의 RTSP 스트림을 웹사이트에 삽입하려고 합니다. RTSP를 직접 삽입하는 것은 까다롭고 수완이 풍부하며 사용자가 몇 가지 중요한 작업(VLC와 같은 다른 플레이어 설치 또는 일부 브라우저 플러그인 활성화)을 수행해야 한다는 것을 알았으므로 RTSP 스트림을 라이브 스트림으로 변환하기로 결정했습니다. FFMPEG를 사용하여 즉시 스트리밍(HLS 또는 MPEG-DASH)합니다. HLS 파일을 생성하려고 하면 CPU 로드가 100%로 점프하므로 (단일 코어 CPU를 사용하는 내 비디오 서버가 매우 약하기 때문에) MPEG-DASH를 계속 사용할 수 있는 옵션이라고 생각했습니다. CPU 로드가 2~3% 추가되는데, 이는 허용 가능한 수준 이상입니다. 그러나 다음을 사용하여 매니페스트.mpd 파일의 유효성을 검사하려고 하면https://conformance.dashif.org/다음을 반환합니다.

✔ XLink resolving
✖ MPD Validation
✖ Schematron Validation

나는 라이브 스트림의 매니페스트를 재생하려고했습니다.대시.js하지만 플레이어가 로드 중 상태에서 멈췄습니다. 하지만 이 라이브스트램의 매니페스트를 재생하려고 하면VLC,JW 플레이어 8그리고THEO플레이어, 완벽하게 작동합니다. 그러나 ffprobe다음을 반환합니다: http://MY_PUBLIC_IP:PORT/mpeg-dash/manifest.mpd: Invalid data found when processing input. 내가 뭘 잘못하고 있고 대시 파일을 생성하여 다음과 같은 기존(및 무료) 플레이어에서 재생할 수 있도록 하는 방법대시.js?

자원:

현재의manifest.mpd.

내가 사용하는 명령은 다음과 같습니다.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

관련 정보