У меня есть поток, поступающий из потока RTP через UDP. С FFMPEG я перенаправляю этот поток на другой порт. Я хотел бы знать, есть ли способ намеренно добавить задержку в этот выходной поток.

Пример текущей функции потока:

ffmpeg -an -i rtsp://stream-ip:port -an -r 10 -tune zerolatency -preset fast -vcodec libx264 -f mpegts udp://outgoing-ip:port

Я хотел бы добавить намеренную задержку 30 - 180 секунд в поток. Это позволило бы системам на исходящем конце быть предупрежденными для выполнения некоторой обработки видео с хорошим исправным буфером. Есть ли у ffmpeg такая функция, если нет, то есть ли альтернативный маршрут для создания такой преднамеренной задержки?

1 ответ1

0

Прямой функции нет, но вы можете добавить пустой поток N секунд для достижения той же цели.

ffmpeg -f lavfi -i nullsrc=s=WxH:d=N -an -i rtsp://stream-ip:port -filter_complex "concat" -an -r 10 -tune zerolatency -preset fast -vcodec libx264 -f mpegts udp://outgoing-ip:port

Вы должны заменить WxH разрешением входного канала, а N - длительностью «задержки» в секундах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .