Вопрос или проблема
Я хочу отправить аудио с помощью ffmpeg на приемник DEVA DB90/91 через RTP. Отправляемый файл — это mp3 файл со скоростью 128 кбит/с, стерео и частотой 48 кГц. Командная строка:
ffmpeg -protocol_whitelist file,rtp,udp -i <файл> -c copy -f rtp rtp://<IP DEVA>:<порт DEVA>
Я получаю что-то очень странное. На DB90RX: работает 1 секунду, затем не работает 1 секунду и так далее… На DB91RX: работает около 5 секунд, затем всё заканчивается.
Я не получил никаких сообщений об ошибках от ffmpeg, но результат ужасен. Прошу прощения за мой английский, если я не прав, я могу предоставить дополнительную информацию, если это необходимо.
Любая помощь будет bienvenida.
Ответ или решение
Чтобы отправить аудио с помощью FFmpeg на приемники DEVA DB90/91 RX через RTP, важно учитывать несколько моментов, которые могут влиять на стабильность и качество трансляции. Судя по вашему описанию, возможные проблемы могут быть связаны с настройками кодирования, сетевыми параметрами или самой командой.
Вот несколько шагов и рекомендаций, чтобы решить вашу проблему:
-
Проблемы с кодированием: Дело в том, что ваш файл MP3 (128 kbps, стерео, 48 kHz) может не подходить по параметрам для RTP-потока. Попробуйте перекодировать файл в AAC (AAC-LC) или другой формат, более совместимый с RTP. Например, можно использовать следующую команду:
ffmpeg -i <file> -c:a aac -b:a 128k -ar 48000 -f rtp rtp://<IP DEVA>:<port DEVA>
-
Проблемы с сетью и быстрой передачей: Обратите внимание на стабильность вашей сети. Задержки или пакеты, которые теряются в процессе передачи, могут вызывать прерывания в воспроизведении. Убедитесь, что сеть, по которой отправляется RTP, имеет достаточную пропускную способность и низкую задержку.
-
Долгосрочный поток: Если вы хотите отправить поток более чем на короткий промежуток времени, убедитесь, что вы не используете параметр
-t
, который ограничивает длину передаваемой записи. Если вы хотите отправлять поток постоянно, убедитесь, что вы запускаете процесс передачи без ограничения по времени. -
Корректная настройка приема: Проверьте настройки на самом приемнике DEVA DB90/91 RX. Возможно, имеются какие-либо конфигурации или специальные параметры, которые необходимо настроить для корректного приема RTP-потока.
-
Использование другого контейнера: Если RTP не работает должным образом, можно попробовать использовать другой контейнер для передачи, например, MPEG-TS:
ffmpeg -i <file> -c:a aac -b:a 128k -ar 48000 -f mpegts udp://<IP DEVA>:<port DEVA>
-
Проверка логов FFmpeg: Запустите FFmpeg с увеличением уровня логирования, чтобы получить больше информации о проблемах, если они возникают. Это можно сделать с помощью следующей команды:
ffmpeg -loglevel debug -i <file> -c:a aac -b:a 128k -ar 48000 -f rtp rtp://<IP DEVA>:<port DEVA>
-
Организация потока: Убедитесь, что вы используете параметры тайминга пакетов RTP. Например, установите параметры
-rtp_hey
для управления задержками.
Если после выполнения всех вышеуказанных рекомендаций проблема остается, пожалуйста, сообщите, какие результаты вы получили, чтобы можно было более детально проанализировать ситуацию и предложить дальнейшие шаги для диагностики и устранения проблемы.