Захват потока rtsp

Я ищу какой-нибудь универсальный способ сбросить поток 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-поток в правильном и воспроизводимом видео-файле.

Может быть, есть еще какие-нибудь инструменты, которые помогут с этой задачей? Собственно, буду благодарен за любой совет по всевозможным библиотекам и языкам. Но этот процесс должен быть автоматическим и иметь cli.

Уточнения

Примерно 50% экспериментов, которые я провел на локальном хосте с vlc-streamer, который имитирует rtsp-Broadcaster. Вот руководство , которому я стараюсь следовать.

У меня действительно свежий и последний ffmpeg с поддержкой x264, который я установил с помощью того полезного потока.

22
задан Matvey Aksenov 4 November 2011 в 00:14
поделиться