Вопрос или проблема
Я хочу отправить аудио с помощью 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, но результат ужасен.
Ответ или решение
Чтобы решить проблему с отправкой аудио через FFmpeg на декодеры Deva DB90 и DB91 с использованием RTP, рассмотрим несколько важных аспектов.
1. Проверка исходного файла
Первым делом убедитесь, что файл mp3, который вы используете, корректен и его можно воспроизвести без каких-либо проблем. Попробуйте воспроизвести файл на локальном медиаплеере, чтобы убедиться, что он не поврежден.
2. Использование правильных параметров кодирования
Вы указали, что файл mp3 имеет битрейт 128 kbps, стерео и частоту дискретизации 48 KHz. Поскольку кодек mp3 не является оптимальным для RTP, рекомендуется использовать кодек, который более совместим с RTP, например, AAC или PCM. Попробуйте перекодировать файл следующим образом:
ffmpeg -i <file> -c:a aac -b:a 128k -ar 48000 -f rtp rtp://<IP DEVA>:<port DEVA>
Если ваш декодер не поддерживает AAC, вы можете использовать PCM:
ffmpeg -i <file> -f s16le -ar 48000 -ac 2 -c:a pcm_s16le -f rtp rtp://<IP DEVA>:<port DEVA>
3. Настройка RTP-параметров
Также стоит проверить, какие кодеки поддерживает ваш декодер. Декодеры Deva могут иметь определенные требования к порядку и формату пакетов RTP. Убедитесь, что вы используете правильный порт и IP-адрес, и проверьте, что между вашей машиной и декодером нет сетевых проблем.
4. Тестирование с другими форматами
Если проблема не решается, попробуйте отправить другой формат звукового файла, например WAV:
ffmpeg -i <file> -acodec pcm_s16le -ar 48000 -ac 2 -f wav rtp://<IP DEVA>:<port DEVA>
5. Отслеживание потоков RTP
Вы можете использовать инструменты анализа, такие как Wireshark, чтобы отследить RTP-поток и проверить, корректно ли пакеты передаются и принимаются. Это поможет вам выявить, если пакет теряется или выходит за временные рамки.
6. Проверка настроек на Deva DB RX
Убедитесь, что ваш декодер настроен на правильный кодек и параметры RTP. Проверьте документацию Deva для получения актуальной информации о совместимых кодеках и настройках сети.
Заключение
Попробуйте данные рекомендации, начиная с перекодирования аудиофайла и проверки настроек как на стороне отправителя, так и на стороне получателя. Если проблемы сохраняются, рассмотрите возможность обращения в техническую поддержку Deva для получения дополнительной информации о совместимости потоков RTP.