@otava5 Ano, rozumíš tomu dobře.
No, pro tebe by stačilo místo "^ffmpeg" dát "^http". Ale ono je to možná zbytečně složité a není důvod kontrolovat, čím řádek začíná. To byla taková moje prvotní idea, udělat to hodně univerzální. Pokud má ten playlist normální strukturu, tzn. za řádkem #EXTINF následuje hned řádek se streamem, stačí vzít hned následující řádek. Pak by ten parser mohl například vypadat:
Ten head -n 2 je tam pro jistotu, kdybys měl v playlistu řádky se stejným jménem programu. Takže pokud tam někde budou dva stejné programy, vezme se jen ten první z nich a o ten druhý prostě přijdeš. Ale to by se v běžném playlistu stávat nemělo, tak jsem to neřešil.
Já jsem ale odkaz přímo na http: stream nezkoušel. Zatím jedu vždy přes ffmpeg, ale podle mne by to fungovat mělo. Kdyby něco, tak napiš.
EDIT: Informace v tomto postu je nesprávná, objasněno v dalších postech...
No, pro tebe by stačilo místo "^ffmpeg" dát "^http". Ale ono je to možná zbytečně složité a není důvod kontrolovat, čím řádek začíná. To byla taková moje prvotní idea, udělat to hodně univerzální. Pokud má ten playlist normální strukturu, tzn. za řádkem #EXTINF následuje hned řádek se streamem, stačí vzít hned následující řádek. Pak by ten parser mohl například vypadat:
Kód:
#! /bin/sh
command=`grep -A 1 "$*$" ...playlist.m3u8 | head -n 2 | tail -n 1`
$command
Ten head -n 2 je tam pro jistotu, kdybys měl v playlistu řádky se stejným jménem programu. Takže pokud tam někde budou dva stejné programy, vezme se jen ten první z nich a o ten druhý prostě přijdeš. Ale to by se v běžném playlistu stávat nemělo, tak jsem to neřešil.
Já jsem ale odkaz přímo na http: stream nezkoušel. Zatím jedu vždy přes ffmpeg, ale podle mne by to fungovat mělo. Kdyby něco, tak napiš.
EDIT: Informace v tomto postu je nesprávná, objasněno v dalších postech...