Поток с ffmpeg по локальной сети? - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь передать файл mpegts по локальной сети с помощью команды

ffmpeg -re -i in.ts -vcodec copy -acodec copy -f mpegts "udp://localhost:5000/live/stream"

И попытка перехватить 10 секунд этого по локальной сети (на сервере) на

ffmpeg  -i udp://192.168.xx.xx:5000/live/stream -c copy -f segment -segment_time 10 -strftime 1 "in /%Y-%m-%d_%H-%M-%S.mp4"

Это не работает. Я тестировал поток в VLC, и играть нечего.

Теперь я подозреваю, что это проблема с портом, поскольку FFMPEG, похоже, не записывает / прослушивает указанный порт 5000. Я использовал netstat для проверки, и в порту нет PID, включая ffmpeg. Тем не менее, команда

ffmpeg  -i udp://127.0.0.1:5000/live/stream -c copy -f segment -segment_time 10 -strftime 1 "in/%Y-%m-%d_%H-%M-%S.mp4"

генерирует желаемый вывод на моем компьютере (localhost), как и ffplay. Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 05 сентября 2018

При использовании UDP вы должны указать IP-адрес сервера, на который вы транслируете, а не IP-адрес сервера, с которого вы транслируете.

Потоковая команда

ffmpeg -re -i in.ts -vcodec copy -acodec copy -f mpegts "udp://192.168.target.IP:5000/live/stream"

Команда захвата

ffmpeg  -i udp://192.168.target.IP:5000/live/stream -c copy -f segment -segment_time 10 -strftime 1 "in/%Y-%m-%d_%H-%M-%S.mp4"
...