Видео в ffmpeg с помощью РТП


сценарий

Я пытаюсь транслировать видео между 2 хостами с помощью RTP. Я уже решил эту проблему с помощью VLC, используя следующие 2 команды

Сервер

cvlc video_file.mp4 --sout "#transcode{vcodec=h264, acodec=mpga, ab=128, channels=2, samplerate=44100}: duplicate{dst=rtp{dst=10.X.X.X, port=5004, mux=ts}}" --run-time 40 vlc://quit

Стороне Клиента

cvlc rtp://@:5004 --sout "#transcode{vcodec=h264, acodec=mpga, ab=128, channels=2, samplerate=44100}: std{access=file, mux=mp4, dst=downloaded.mp4}" --run-time 40 vlc://quit

требование

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

работа сделана до сих пор

сервер Сторона

ffmpeg -re -i video_file.mp4 -vcodec libx264 -an -f rtp rtp://10.X.X.X:5004 -vn -acodec libtwolame -f rtp rtp://10.X.X.X:5005

Стороне Клиента

ffmpeg -i rtp://10.X.X.X:5004 -vcodec libx264 -an -i rtp://10.5.19.244:5005 -acodec libtwolame -vn -t 00:00:35 downloaded.mp4

однако я не могу записать полученный поток таким образом.

27
задан xavier666
22.01.2023 15:07 Количество просмотров материала 3489
Распечатать страницу

1 ответ

предположим, что IP клиента 10.0.0.2

код для выполнения на стороне сервера

ffmpeg -re -thread_queue_size 4 -i source_video_file.mp4 -strict -2 -vcodec copy -an -f rtp rtp://10.0.0.2:6005 -acodec copy -vn -sdp_file saved_sdp_file -f rtp rtp://10.0.0.2:7005

после запуска этого кода, SDP файл должен быть сгенерирован с именем saved_sdp_file. Это нужно как-то передать клиенту, которому он нужен для получения потока

код для выполнения на стороне клиента

ffmpeg -protocol_whitelist "file,rtp,udp" -i saved_sdp_file -strict -2 saved_video_file.mp4

4
отвечен xavier666 2023-01-23 22:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх