Я ищу какой-нибудь универсальный способ вывести поток RTSP.Я хочу выяснить, что некоторый поток rtsp работает хорошо, и сервер отправляет некоторое смотрибельное видео.
openRTSP
Сначала Google рекомендует мне openRTSP инструмент.
openRTSP -4 ${stream_link} > ${output_file}
Но выводимый видеофайл, выгруженный этим инструментом, не совсем корректен.Видеодекодер (ffdec) возвращает много ошибок, таких как «Не удалось декодировать видеопакет» и «[h264] без кадра!», Которые меня не устраивают.
ffmpeg
Затем я попытался сбросить поток rtsp с помощью инструмента ffmpeg.
ffmpeg -loglevel debug -i "${stream_link}" -s 640x480 -vcodec copy -acodec copy -y ${output_file}
Но процесс потоковой передачи часто прерывался по ошибке:
Application provided invalid, non monotonically increasing dts to muxer in stream 0: 730672 >= 730672
av_interleaved_write_frame(): Invalid argument
Я пытаюсь использовать --fflags igndts
, но ffmpeg не игнорирует эти ошибки.Это не имеет никакого смысла, потому что эта ошибка фактически означает, что аудио и видео потоки отправляются асинхронно.Хуже всего то, что файл дампа, полученный в результате этого прерванного дампа, тоже не корректен.Ffdec возвращает некоторую ошибку:
ERROR [mov,mp4,m4a,3gp,3g2,mj2] moov atom not found
ERROR [ffdec] av_open_input_file: Operation not permitted
После того, как я обнаружил хорошую чашку поиска в Google, она действительно старая Ошибка мультиплексора ffmpeg .
mplayer
Чем я пытался использовать mplayer с LIVE_555 lib.
mplayer -noframedrop -dumpfile ${output_file} -dumpstream ${stream_link}
Но у меня тоже есть некоторые ошибки.
Stream not seekable!
Core dumped ;)
Вопрос
Мне кажется, я что-то не так делаю.Звучит очень смешно, что нет способа сохранить поток rtsp в правильном и воспроизводимом видеофайле.
Может быть, есть другие инструменты, которые могут помочь с этой задачей?На самом деле, я буду благодарен за любые советы для всех видов библиотек и языков.Но этот процесс должен быть автоматическим и иметь кли.
уточнения
Что-то около 50% экспериментов, которые я провел на локальном хосте с vlc-streamer, который эмулирует rtsp-broadcaster,Вот руководство , которому я стараюсь следовать.
У меня есть действительно свежая и последняя версия ffmpeg с поддержкой x264, которую я установил с помощью , полезной темы.