18.10.2018, 21:48
@Rene.hav V podstatě tam nic špatného nevidím. Já používám ve scriptu toto:
ffmpeg -fflags +genpts -loglevel fatal -i ${stream} -probesize 32 -c copy -f mpegts -mpegts_service_type digital_tv pipe:1
Použití -loglevel fatal ušetří pár desítek (až jednu dvě stovky) ms, každopádně je s ním výpis logu Tvheadend přehlednější, na druhou stranu, když tam není, tak zase vidíš v Tvheadend logu skladbu streamu. Použití -probesize 32 je diskutabilní, pokud nějaký vliv má, tak opravdu je pár ms.
Ještě se zkus podívat do na stav v Tvheadend Stav > Odběry. Tam je hezky vidět, kdy začne dostávat server data z ffmpeg a začně je přijímat. Dokud je nemá, ve sloupci stav se po spuštění kanálu objeví Testování, tzn. že čeká na data od ffmpeg. Vlastně ta doba, po kterou je tam stav Testování dělá největší prodlevu. To je čas od spuštění ffmpeg do doby, než server rozpozná data streamu. Pak se ten stav změní na Běží. Dobré je podívat se na to, v jaké relaci jsou hodnoty ve sloupci Vstup a Výstup. Po spuštění kanálu, pokud se používá ffmpeg bez -re se většinou ta vstupní hodnota nafoukne (mě například běžně vyletí až na 9-12 Mb/s) to jsou ty 2 vteřiny prodlevy, které se nabufferují v ffmpeg. Poté se to usadí a pokud je propustnost toku streamu stabilní, pak Vstup=Výstup. Docela by mě zajímalo, co se u tebe děje v té době 15 sekund, co trvá přepnutí kanálu.
ffmpeg -fflags +genpts -loglevel fatal -i ${stream} -probesize 32 -c copy -f mpegts -mpegts_service_type digital_tv pipe:1
Použití -loglevel fatal ušetří pár desítek (až jednu dvě stovky) ms, každopádně je s ním výpis logu Tvheadend přehlednější, na druhou stranu, když tam není, tak zase vidíš v Tvheadend logu skladbu streamu. Použití -probesize 32 je diskutabilní, pokud nějaký vliv má, tak opravdu je pár ms.
Ještě se zkus podívat do na stav v Tvheadend Stav > Odběry. Tam je hezky vidět, kdy začne dostávat server data z ffmpeg a začně je přijímat. Dokud je nemá, ve sloupci stav se po spuštění kanálu objeví Testování, tzn. že čeká na data od ffmpeg. Vlastně ta doba, po kterou je tam stav Testování dělá největší prodlevu. To je čas od spuštění ffmpeg do doby, než server rozpozná data streamu. Pak se ten stav změní na Běží. Dobré je podívat se na to, v jaké relaci jsou hodnoty ve sloupci Vstup a Výstup. Po spuštění kanálu, pokud se používá ffmpeg bez -re se většinou ta vstupní hodnota nafoukne (mě například běžně vyletí až na 9-12 Mb/s) to jsou ty 2 vteřiny prodlevy, které se nabufferují v ffmpeg. Poté se to usadí a pokud je propustnost toku streamu stabilní, pak Vstup=Výstup. Docela by mě zajímalo, co se u tebe děje v té době 15 sekund, co trvá přepnutí kanálu.