Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.
Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.
Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.
Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".
Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).
Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".
Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.
OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.
Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).
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 V první příloze je screenshot, jak to vypadá, když jen klikám, ve druhém jsem udělal výběr pomocí SELECT a chtěl to změnit v okýnku, ale je tam vidět, že to píše, že je to jen pro čtení. Takže fakt nevím, jak to naklikat, ale UPDATE to naštěstí jistí