Меню Закрыть

Запись rtsp потока в файл

Есть несколько камер, на них поднято вещание в RTSP
Изначально использовались Win сервера и Macroscope, но решение не гибкое, дорогое и не стабильное оказалось.
Поэтому решили перейти на Linux, используется Debian

Запись пытался делать с помощью ffmpeg командой:

Но видео записываются кривые, кадры накладываются, плывут и рябь появляется.
Не могу понять в чем дело, на Macroscope качество было отличное.
ffmpeg log:

  • Вопрос задан более двух лет назад
  • 2478 просмотров

Проблем с записью с камер может быть очень много.
Причинами будет как сама камера так и качество канала между ней и сервером.
По идее смена транспорта должна помочь, так как потери пакетов как бы намекают.
Время сегмента можете также уменьшить.

А ещё, долгими зимними вечерами можно пробовать Flussonic и его архив.
Работает он преимущественно под Debian/Ubuntu 64 bit.

Можно ли выгрузить необработанный поток RTSP в файл, а затем позже декодировать файл на что-нибудь воспроизводимое?

В настоящее время я использую FFmpeg для приема и декодирования потока, сохраняя его в файле mp4. Это отлично работает, но интенсивно работает в ЦП и сильно ограничивает количество потоков RTSP, которые я могу получать одновременно на моем сервере.

Я хотел бы сохранить поток в файл без его декодирования и задержать часть декодирования, когда файл нужно открыть.

Возможно ли это?

Я пробовал VLC, который даже больше интенсивнее процессора, чем FFmpeg. Я также рассмотрел этот вопрос, где ответ говорит, что загрузка RTSP в файл не полезна, и этот вопрос, где в комментарии ниже вопроса говорится, что "Raw RTSP-контент не очень подходит для сохранения и воспроизведения. ", что, как представляется, указывает на то, что есть способ.

Читайте также:  Антенна шорт как отключить

ИЗМЕНИТЬ Вот команда, которую я использую для FFmpeg:

ffmpeg -i rtsp://@192.168.241.1:62159 -r 15 C:/DB_Videos/2013-04-30 17_18_34.703.mp4

Если вы перекодируете в свою командную строку ffmpeg, это может быть причиной того, что это интенсивность процессора. Вам нужно просто скопировать потоки в один контейнер. Поскольку у меня нет вашей командной строки, я не могу предложить здесь конкретного улучшения. Ваши acodec и vcodec должны быть скопированы, это все, что я могу сказать.

РЕДАКТИРОВАТЬ: При просмотре вашей командной строки и при условии, что вы уже пробовали это, это полезно для других, которые сталкиваются с одним и тем же вопросом. Команда:

не будет транскодировать и выгрузить файл для вас в mp4. Конечно, предполагается, что потоковое содержимое совместимо с mp4 (что, по всей вероятности, есть).

С помощью этой команды у меня было плохое качество изображения

С этим, почти без задержки, я получил хорошее качество изображения.

Можно ли записать в файл необработанный поток RTSP, а затем декодировать его во что-нибудь воспроизводимое?

В настоящее время я использую FFmpeg для получения и декодирования потока, сохраняя его в файл mp4. Это прекрасно работает, но требует значительных ресурсов процессора и сильно ограничивает количество потоков RTSP, которые я могу получать одновременно на моем сервере.

Я хотел бы сохранить поток в файл, не декодируя его, и отложить часть декодирования до момента, когда файл должен быть открыт.

Я пробовал VLC, который даже более интенсивно использует процессор, чем FFmpeg. Я также рассмотрел этот вопрос , где в ответе говорится, что выгрузка RTSP в файл бесполезен, и этот вопрос , где в комментарии под вопросом говорится «Необработанное содержимое RTSP не является хорошим подходит для сохранения и воспроизведения . ", который, кажется, указывает, что есть способ.

Читайте также:  Как получить этернус fallout 4

РЕДАКТИРОВАТЬ Вот команда, которую я использую для FFmpeg:

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.