LINUX.ORG.RU
ФорумAdmin

UDP-proxy для MPEG-TS

 , , , ,


0

2

Приветствую.

Нужно решить следующую проблему.

Есть система по анализу медиапотока. Он приходит по udp в формате mpegts с 32 каналами (программами). Этот поток принимает ffmpeg, который транслирует его в icecast и сохраняет в файлы определённой длительности и в нужном формате.

Дело в том, что этот udp-поток крайне нестабилен и время от времени отваливается. Ffmpeg падает, чего допускать нельзя.

По требованиям к системе файлы должны быть целыми (в данном случае часовыми отрезками) и в них должны сохраняться все проблемы со звуком, сетью и т.д., т.е. во время отсутствия подключения должна писаться «тишина».

Как это можно сделать?

Есть идея использовать какой-нибудь udp-прокси, который будет на лету менять каналы-источники и при проблемах с доступностью аудиопотока перенаправлять ffmpeg на подготовленный пустой файл с «тишиной», который можно вещать каким-нибудь проигрывателем.

Может быть, кто-то сталкивался с такой задачей?


дай какой командой запускаешь и вообще можно заавтоматизировать скрипт падение ffmpeg

pinachet ★★★★★
()
Ответ на: комментарий от pinachet

Команда получения сигнала:

ffmpeg -i  udp://@1.2.3.4:1234 -map 0:p:4098 \
              -content_type audio/mpeg \
              -ice_name "Имя канала" \
              -ice_description "Описание канала" \
              icecast://source:password@icecast/mountpoint \
           \
           -segment_list "./files_archive.csv" \
           -segment_list_entry_prefix "$ARCHIVE_DIR" \
           -segment_list_type "csv" \
           -segment_list_flags "live" \
           -segment_atclocktime 1 \
              -acodec "$FORMAT" -f segment \
              -segment_time   "$ARCHIVE_TIME" \
              -segment_format "$FORMAT" \
              -strftime 1     "$ARCHIVE_DIR/$FILE_NAME"

ffmpeg можно и перезапускать, но задача несколько иная: в итоговых файлах (сегментах) должно быть зафиксировано пропадание полезного сигнала.

iter
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.