FFmpeg - это универсальный инструмент для работы с мультимедийными файлами, включая потоковую передачу в режиме реального времени. Для просмотра RTSP потоков можно использовать следующие команды и командные строки:
Открыть RTSP поток в окне проигрывателя: ffmpeg -i rtsp://user:password@ip_address:port/stream_path -an -window_title "Stream" -f sdl "Stream"
Сохранить RTSP поток в файл: ffmpeg -i rtsp://user:password@ip_address:port/stream_path -c copy output.mp4
Открыть RTSP поток в ffplay: ffplay rtsp://user:password@ip_address:port/stream_path
Сохранить RTSP поток в файл с указанием времени записи: ffmpeg -i rtsp://user:password@ip_address:port/stream_path -t 60 -c copy output.mp4
Разберем по порядку:
- ffmpeg - вызывает утилиту ffmpeg для работы с мультимедийными файлами.
- -i rtsp://user:password@ip_address:port/stream_path - указывает входной файл, который будет обработан. В данном случае, это RTSP поток, к которому требуется подключиться для записи.
- -t 60 - задает время записи в секундах. В данном примере запись будет производиться в течение 60 секунд.
- -c copy - задает параметры кодирования для выходного файла. В данном случае, используется копирование (copy) исходного кодека, что позволяет сохранить качество исходного потока.
- output.mp4 - указывает имя выходного файла, в который будет записан RTSP поток.
Таким образом, после запуска этой команды ffmpeg подключится к указанному RTSP потоку и начнет записывать его в файл output.mp4 в течение 60 секунд. По истечении этого времени запись завершится и файл будет сохранен в текущей директории. Если требуется изменить путь сохранения файла, то можно указать полный путь к файлу вместо просто имени файла output.mp4.
Извлечь аудио из RTSP потока и сохранить в файл: ffmpeg -i rtsp://user:password@ip_address:port/stream_path -vn -acodec copy output.mp3
Извлечь видео из RTSP потока и сохранить в файл: ffmpeg -i rtsp://user:password@ip_address:port/stream_path -an -vcodec copy output.mp4
Просмотреть информацию о RTSP потоке: ffmpeg -i rtsp://user:password@ip_address:port/stream_path
В этих примерах "user" и "password" заменяются на соответствующие логин и пароль для доступа к RTSP потоку. "ip_address" и "port" - это адрес и порт, на котором находится RTSP поток, а "stream_path" - это путь к потоку.
Простой просмотр видео из RTSP-источника: ffmpeg -i rtsp://URL -vcodec copy -acodec copy output.mp4
Здесь URL является URL-адресом RTSP-источника, а output.mp4 - именем файла, в который будет записано видео. Эта команда скопирует видео и аудио потоки без перекодирования, что позволит снизить нагрузку на процессор.
Запись RTSP-потока на жесткий диск: ffmpeg -i rtsp://URL -c:v libx264 -preset ultrafast -crf 22 -c:a copy output.mp4
Эта команда записывает RTSP-поток на жесткий диск. Она использует кодек libx264 для видео и копирует аудио без перекодирования. Ultrafast - это параметр, устанавливающий наименьшую степень сжатия для кодека, а crf 22 - параметр, определяющий качество видео.
Транскодирование RTSP-потока в другой формат: ffmpeg -i rtsp://URL -vcodec libx264 -preset ultrafast -crf 22 -acodec aac -strict -2 -f mp4 output.mp4
Эта команда транскодирует RTSP-поток в формат mp4 с использованием кодека libx264 для видео и aac для аудио. Параметр -strict -2 используется для подавления ошибок, связанных с кодированием аудио.
Прямое преобразование RTSP-потока в HTTP-поток: ffmpeg -i rtsp://URL -c:v copy -an -f mp4 tcp://localhost:8080
Эта команда преобразует RTSP-поток в HTTP-поток, который может быть просмотрен веб-браузером. Кодек видео копируется без перекодирования, а аудио отключается. Поток выводится на локальный хост на порт 8080 в формате mp4.
Ограничение скорости потока RTSP: ffmpeg -rtsp_transport tcp -i rtsp://URL -b:v 1000k -r 30 output.mp4
Эта команда ограничивает скорость потока RTSP до 1000 кбит/сек и устанавливает
Кроме того, можно использовать дополнительные параметры, такие как изменение разрешения, битрейта, кодеков.
Конечный список параметров, которые можно использовать в ffmpeg для изменения разрешения, битрейта, кодеков и т.д., зависит от конкретного случая использования. Однако, вот список наиболее распространенных параметров:
Изменение разрешения:
-s <размер> - устанавливает размер видео, например: -s 1280x720
Изменение битрейта:
-b <битрейт> - устанавливает битрейт видео, например: -b 1000k
Изменение кодека видео:
-c:v <кодек> - устанавливает кодек видео, например: -c:v libx264
Изменение кодека аудио:
-c:a <кодек> - устанавливает кодек аудио, например: -c:a aac
Изменение частоты дискретизации аудио:
-ar <частота> - устанавливает частоту дискретизации аудио, например: -ar 44100
Изменение качества видео:
-crf <качество> - устанавливает качество видео для определенных кодеков, например: -crf 22
Изменение скорости кадров:
-r <кадры/сек> - устанавливает скорость кадров видео, например: -r 30
Изменение формата вывода:
-f <формат> - устанавливает формат вывода, например: -f mp4
Изменение уровня сжатия:
-preset <уровень> - устанавливает уровень сжатия для определенных кодеков, например: -preset ultrafast
Изменение пропорций кадра:
-aspect <пропорции> - устанавливает пропорции кадра, например: -aspect 16:9
Это только некоторые примеры параметров ffmpeg, которые могут быть использованы для настройки видео и аудио.
Для полного списка параметров можно использовать команду:
ffmpeg -h
Она выведет все возможные параметры и их описание.