Конвертить mpegts поток в audio/aac на лету
От: aik Австралия  
Дата: 26.02.25 11:38
Оценка: 5 (1)
Есть годное радио BBC 6 Music: https://as-hls-ww.live.cf.md.bbci.co.uk:443/pool_01505109/live/ww/bbc_radio_one/bbc_radio_one.isml/bbc_radio_one-audio=320000-271960580.ts
Есть "умная колонка" Sonos Roam, которая понимает полтора формата, но aac в обёртке mpegts оно не желает играть, ну, бывает.
У меня есть роутер со свежей openwrt и nginx + ngx_rtmp_module, как бы должно работать, но что то... никак. Конфиг ниже.

Первый вопрос — если заводить этот hls (или играть rtmp?), то что подавать плееру? "mpv http://192.168.10.201/hls/radio" или "mpv rtmp://192.168.10.201/radio" не работают с ffplay/mpv на линухе (пока не до соноса долбаного).

Второй — а нет ли чего по-современнее к nginx? Sonos, можно сказать, софта не имеет.


"модуль":
load_module /usr/lib/nginx/modules/ngx_rtmp_module.so;
rtmp {
        server {
                listen 1935;
                application radio {
                        live on;
                        exec_options on;
                        exec_push ffmpeg -re -i https://as-hls-ww.live.cf.md.bbci.co.uk:443/pool_01505109/live/ww/bbc_radio_one/bbc_radio_one.isml/bbc_radio_one-audio=320000-271960580.ts -acodec copy -f adts rtmp://localhost/$app/$name;
                }
                application hls {
                        live on;
                        hls on;
                        hls_path /tmp/hls;
                        hls_fragment 5s;
                }
        }
}


"сервер":
server {
        listen 192.168.10.201:80 default_server;
        location /hls {
                types {
                        application/vnd.apple.mpegurl m3u8;
                }
                root /tmp;
                add_header Cache-Control no-cache;
                add_header Access-Control-Allow-Origin *;
        }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.