Создание задержки потока udp с помощью ffmpeg
У меня есть поток, поступающий из потока 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 ответ
Прямой функции нет, но вы можете добавить пустой поток в 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 - длительностью задержки в секундах.