• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 0 Hlas(ů) - 0 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Streamlink a jeho použití v Tvheadend
#21
@bojler: Hmm, já nevím, jak vypadá celé to volání. To co jsem napsal byl jen příklad, jak ty dvě aplikace zřetězit a jak si mají předat parametry. Záleží samozřejmě na tom, co a jak v parametrech Streamlink i ffmpeg ty běžně používáš. Podstatné pro ten piping je to, že streamlink musí poslat výstup na stdout a ffmpeg ho musí přečíst ze stdin, což je v jeho logice parametrů pipe:0 a poslat to pak zase na stdout, tedy pipe:1, kde na to čeká na stdidn tvheadend. Ostatní parametry si už nastav podle toho, jak to máš celé nakoncipované. To já nevím.

Ještě jedna maličkost mě napadla. Kolem toho znaku pro rouru, tedy "|", musí být samozřejmě z obou stran mezery. Ono to v tom příspěvku není moc zřetelné, vypadá to tak, jako by tam ta mezera před "|" nebyla (i když ve zdrojovém textu příspěvku uvedená je). Tak možná ještě zkontroluj i to.

Musím se přiznat, že teď jsem trochu znejistěl, protože já ty scripty mám v python a tam se to volání streamlink i ffmpeg samozřejmě skládá trochu jinak. Ale každopádně si projdi tvé vlastní parametry pro streamlink a ffmpeg které používáš a doplň tam jen to zřetězení "|" a nahraď ty výstupní a vstupní adresy těmi stdout, pipe:0.
 
Citovat
#22
@JiRo

Ano medzera je na oboch stranach. Je zaujinave ze ten urlstream mi cez samotny streamlink ide, ale cez ffmpeg nie. Preto som to chcel skombinovat. Aj tak dakujem za pomoc.
 
Citovat
#23
@bojler: To, že ti stream jde přes steramlink a ne přes ffmpeg, na tom není nic divného. Ale to bychom pak už museli řešit, co je to za stream, jakým protokolem je přenášený, jakou verzi streamlink a jakou verzi ffmpeg používáš. Těch stupňů volnosti tam je více...

Jinak já jsem se tedy podíval do kódu mého streameru a mám to takto:

parametry streamlink:
 
Kód:
---stdout --loglevel info ---url <url> --default_stream best ---hls-live-edge 3

Pak tam mám u streamlik ještě user agent a referer. ale to není třeba řešit, pokud ti streamlink funguje bez toho.

parametry ffmpeg:
 
Kód:
-hide_banner loglevel verbose -fflags +genpts -i pipe:0 -c copy -f mpegts -mpegts_flags +resend_headers -mpegts_service_type digital_tv -metadata  service_provider="<provider> -metadata service_name=<service> pipe:1

Používám kombinaci Streamlink a ffmpeg s těmito parametry pro dva zdroje Live TV. Jeden zdroj tu bohužel uvést nemůžu, druhým jsou Live TV kanály z Youtube.

Jinak, když o tom přemýšlím, co za hlášku jsi dostal, tak je to chyba syntaxe parametrů, takže hledej tam. Ideálně tak, že si celý ten řetezec parametrů kromě toho, že ho zavoláš v rámci scriptu, ještě před tím uložíš do souboru. Abys věděl, jak se ti ten výsledný tvar jednotlivých formálních parametrů substituuje. Uvidíš, co pak vlastně dostane shell jako příkazovou řádku a možná tam tu chybu uvidíš. Já jsme to takto dělával.
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)