Správce nástroje curl Daniel Stenberg na GitHubu průběžně vytváří svou novou knihu Uncurled, v níž shrnuje své dlouhodobé zkušenosti s údržbou open-source projektu: od odpozorovaných pouček po vtipné a ne až tak vtipné příklady e-mailů od uživatelů.
Byla vydána nová major verze 25.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.
Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript a TypeScript, bylo vydáno ve verzi 1.22. Přehled novinek v poznámkách k vydání.
Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 9.0. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Lars Knoll oznámil, že po 25 letech v ekosystému Qt, z toho 22 let pracující pro různé společnosti vlastnící Qt, odchází ze společnosti The Qt Company do malého norského startupu.
Na Kickstarteru běží kampaň na podporu mini ITX desky Turing Pi 2 Cluster Computer. Vložením 4 výpočetních modulů, podporovány jsou Raspberry Pi 4, Turing RK1 a Nvidia Jetson, lze získat 4uzlový cluster. Cena desky je 219 dolarů.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 198. brněnský sraz, který proběhne v pátek 20. května tradičně od 18 hodin v Pivovarské restauraci Moravia.
Byla vydána nová verze 0.25 herního enginu Fyrox, původně rg3d. Přehled novinek s kódy, náhledy i videi v příspěvku na blogu.
Multiplatformní audio přehrávač Qmmp (Wikipedie) byl vydán ve verzi 2.1.0. Z novinek lze zmínit například podporu XDG Base Directory Specification.
Letošní konference LibreOffice proběhne 28. září až 1. října v Bolzanu. The Document Foundation hledá přednášející.
Když jsem nedávno psal zápisek o prvních zkušenostech s DVB-T, netušil jsem, jaké možnosti poskytuje program dvbstreamer. V diskuzi mne jam001 nakopnul, tak jsem se na něj podíval znovu, lépe a radostněji
Zopakuji, že první inicializace se dělá příkazem
$ setupdvbstreamer -t ~/.mplayer/channels.confa program se spouští jednoduše
$ dvbstreamerMůžeme ho spouštět rovnou s parametrem -o, kterým definujeme, kam nasměrujeme primární výstup. Například takto:
$ dvbstreamer -o udp://localhost:1234
Service filters
Při používání dvbstreameru používáme takzvané service filters. Na každý televizní kanál a na každé jeho směrování potřebujeme jeden filtr. Defaultně máme jeden primární – nazývá se <Primary>
a součástí jeho názvu jsou i uvedené závorky. Další filtry si musíme sami vytvořit. To se dělá příkazem
addsf <NázevFiltru> <CílovýMRL>Cílovým MRL mohou být udp (
udp://<IP adresa>:<port>
), rtp (rtp://<IP adresa>:<port>
), soubor, do něhož se bude vysílaná stanice ukládat (file:///cesta/k/souboru
), nebo null, který to bude zahazovat (null://
)
Volba televizního kanálu
Takže filtry bychom měli (pokud jsme nespustili program s parametrem -o
, nemáme nikam nasměrován primární filtr – jak na to, popíšu o něco níže). Teď do nich ještě musíme nějak poslat kanály, jejichž seznam získáme příkazem
lsservicesProvádí se to pro primární filtr příkazem:
select <channel>(zároveň tím omezíme provoz na multiplex, ve kterém tento kanál je - teda vlastně neomezíte, ale pokud se o to pokusíte, zhroutí se s neoprávněným přístupem do paměti)
Pro další filtry se používá příkaz:
setsf <NázevFiltru> <channel>Pokud chceme některý kanál změnit, uděláme to opětovným zadáním příkazu s názvem jiného kanálu.
Nastavení/změna cílového MRL
Cílový MRL jsme zadávali již při tvorbě filtrů. Ale vynechal jsem ten hlavní, primární, kanál.
Obecně se MRL nastavuje a mění takto:
setsfmrl <NázevServiceFiltru> <CílovýMRL>Primární kanál má ještě i svou zjednodušenou verzi, a to
setmrl <CílovýMRL>Pár příkladů:
setsfmrl <Primary> udp://localhost:2222 který odvede stejnou práci jako jednodušší setmrl udp://localhost:2222 setsfmrl sfNovaCinema-1 udp://localhost:2223 setsfmrl sfNovaCinema-2 file:///home/ota/zaznam.mpg setsfmrl sfPrima null://Ohledně null: Proč vůbec posílat stream do nikam? Může se to hodit, když například nahráváme program, chceme to ukončit, ale ponechat si filtr. Přesměrujeme tok dat do null, filtr zůstane, soubor se uzavře a je spokojenost
Analogicky k setsfmrl můžeme pro zjištění MRL některého filtru využít příkaz
getsfmrl <NázevFiltru>nebo pro primární zjednodušeně
getmrl
Likvidace filtru
Když se nám filtr omrzí, zlikvidujeme ho (kupodivu) příkazem
rmsf <NázevServiceFiltru>
Další užitečné příkazy:
help [command]
– zobrazí nápovědufestatus
– zobrazí informace o tuneru, sílu signálu…lssfs
– zobrazí všechny nastavené filtry včetně informací o nich ve formátu NázevFiltru : MRL (channel)
muxinfo <frekvence multiplexu>
– zobrazí detailní informace o multiplexuserviceinfo <název kanálu>
– informace o televizním kanálulsmuxes
– zobrazí seznam všech multiplexů, o nichž program vídumpxmltv
– zobrazí databázi EPG ve formátu XMLTV. Ale nedokázal jsem to odsud přesměrovat do souboru.quit
– konecDVBStreamer umí i nějaké další kejkle, jako třeba odfiltrování části streamu na různé MRL. Podařilo se mi to udělat jen se signálem z primárního filtru. Popíšu na konkrétním příkladu:
# naladím Primu:
DVBStreamer>select PRIMA
20cb.0202.0301 : "PRIMA"
# nechám si zobrazit všechny její PIDy:
DVBStreamer>lspids PRIMA
3 PIDs for "PRIMA" (Cached)
201 ITU-T Rec. H.262 | ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream
211 ISO/IEC 11172 Audio
221 ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets containing private data
# vytvořím manuální filtry pro zvuk a obraz:
DVBStreamer>addmf mfobraz file:///home/ota/test.m2v
DVBStreamer>addmf mfzvuk file:///home/ota/test.m2a
# a těmto filtrům přidělím PIDy, které jsem získal příkazem lspids:
DVBStreamer>addmfpid mfobraz 201
DVBStreamer>addmfpid mfzvuk 211
# V tuto chvíli se začnou na uvedená MRL cpát data. Pokud chci, aby se
# začaly soubory plnit současně (takhle to začne vždy ve chvíli odeslání
# příkazu addmfpid), zadám příkaz select PRIMA
až jako poslední.
# Odesílání dat potom začne až po jeho zadání. Když chci plnění souborů
# přerušit, odeberu PIDy:
DVBStreamer>rmmfpid mfobraz 201
DVBStreamer>rmmfpid mfzvuk 211
Jinak celkově – dokumentace na webu vůbec neodpovídá realitě, program obsahuje úplně jiné příkazy, než jaké jsou tam uvedeny. Příkazy na webu se slovním kořenem output
mají v reálu kořen mf
- tedy manuální filtr, o němž jsem se zmínil. Dále jsou tam příkazy s kořenem xpes
, s nimiž jsem úspěšného výsledku nedosáhnul. I interní nápověda je velmi odfláknutá, help vám nevypíše parametry, ale příkaz řve, že jich má málo. Je to velká škoda, protože jinak tento program vypadá velmi použitelně a schopně.
A ještě jedna drobnost, se kterou si nevím rady: jak naladit Novu. Její název je totiž " NOVA" (bez těch uvozovek, ovšem včetně té mezery na začátku) – vyřešeno, děkuji Limotovi
Tiskni
Sdílej:
UPDATE services SET name = 'NOVA' WHERE id =513
DVBStreamer>lsservices NOVA NOVA CINEMA PRIMA Prima COOL BARRANDOV TV CT1 (MPEG-4 HD) Nova (MPEG-4 HD) O2 Info (MPEG-2) Ocko TV (MPEG-2) CT 1 JM CT 2 CT 24 CT 4 TV Public Z1 CRo1-Radiozurnal CRo2-Praha CRo3-Vltava CRo Radio Wave CRo D-dur CRo Leonardo CRo Radio Cesko Proglas DVBStreamer>select NOVA 20cb.0202.0201 : "NOVA" DVBStreamer>lsservices NOVA NOVA CINEMA PRIMA Prima COOL BARRANDOV TV CT1 (MPEG-4 HD) Nova (MPEG-4 HD) O2 Info (MPEG-2) Ocko TV (MPEG-2) CT 1 JM CT 2 CT 24 CT 4 TV Public Z1 CRo1-Radiozurnal CRo2-Praha CRo3-Vltava CRo Radio Wave CRo D-dur CRo Leonardo CRo Radio Cesko Proglas DVBStreamer>A při tom opětovném měnění jsem se to tedy snažil naklikat, ale po 10 minutách jsem to vzdal a lupnul tam příkaz UPDATE