Samsung na akci Galaxy Unpacked July 2026 (YouTube) představil své nové telefony Galaxy Z Fold8 Ultra, Fold8 a Flip8, hodinky Galaxy Watch Ultra2 a Watch9 a chytré brýle ve spolupráci s Gentle Monster a Warby Parker.
Po pěti letech vývoje vyšla česká počítačová hra Scarlet Deer Inn (ProtonDB). Scarlet Deer Inn je vyšívaná temná středověká pohádka. Zatímco život ve zdánlivě obyčejné vesnici se točí kolem běžných povinností a sousedských drbů, v podzemí se skrývají zlověstná tajemství.
Představen byl Raspberry Pi Touch Display 2 s uhlopříčkou 10 palců a rozlišením 1200 × 1920 pixelů. Cena je 80 dolarů.
RPCS3 (Wikipedie), tj. open source emulátor Sony PlayStation 3, snížil minimální požadavky. Nově jsou podporovány starší grafické karty ATI Radeon řady HD 2000, 3000 a 4000 z let 2007 až 2009. Na PC běží už 75 % všech her pro PlayStation 3. V budoucnu bude RPCS3 fungovat bez firmwaru z PS3. V RPCS3 byl implementován systémový modul cellSysmodule (𝕏).
Vyšel open-source nástroj winetop (MIT) — nativní CLI/TUI pro sledování a ukončování Wine, Proton, Lutris, Heroic a Bottles sezení. Seskupuje procesy podle WINEPREFIX / Steam AppId, umí bezpečně zabít jen hru (včetně Steam reaperu) a nabízí i skriptovatelné příkazy (list, kill, orphans, …). Balíčky jsou mimo jiné na crates.io, Copru (dnf copr enable kovariadam/winetop), PPA ppa:kovariadam/winetop a AUR (winetop-bin).
Ve spolupráci společností OpenAI a Work Louder byla představena (𝕏) hardwarová klávesnice Codex Micro pro práci s AI agenty. Cena klávesnice je 230 dolarů.
Byl vydán Mozilla Firefox 153.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 153 bude brzy k dispozici také na Flathubu a Snapcraftu.
V linux-cve-announce bylo oznámeno 433 zranitelností za jediný den (19. července).
Byla vydána nová verze 5.44 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 71 vývojářů. Změněno bylo přibližně 270 tisíc řádků v 1 300 souborech. Přehled novinek a změn v podrobném seznamu.
Na 23. září 2026 je do bratislavské Nové Cvernovky naplánovaná jednodenní konference #nobullshit.camp pro tech leadery, DevOps a platform inženýry. Mají tu zaznít upřímné příběhy z praxe o tom, co v produkčních systémech reálně fungovalo, co se pokazilo a co si z toho lidé odnesli. Témata pokrývají tři oblasti – DevOps a platformy (Kubernetes, cloud, provoz systémů), firemní kulturu a leadership. Program běží ve dvou formátech: hlavní
… více »UPDATE: nyní to funguje jednoduše pomocí yt-dlp, viz tento issue, takže stačí v řádku zadat yt-dlp URL_PORADU_NA_rozhlas.cz (poradí si i s vícedílnými pořady, viz komentáře).
Z webu českého rozhlasu si již nějakou dobou stahuji obsah pomocí rozšíření do prohlížeče VideoDownloadHelper. Bohužel se obsah stále častěji streamuje pomocí protokolu DASH v XML verzi, který není tímto rozšířením zatím podporován. Stále ale funguje stahování ručně, k čemuž jsem si napsal malý skript.
Nejprve je pomocí vývojářských nástrojů potřeba zjistit adresu manifestu, což je popsáno zde.
V případě, že je souborů na stránce více je lze všecchny zkopírovat postupem zde, což spočívá v zásadě na tom, že vývojářské nástroje běží v okně, pak se spustí vývojářské okno (CTRL+SHIFT+I) na toto okno a do konzole se napíše:
copy(UI.panels.network.networkLogView.dataGrid.rootNode().flatNodes.map(n => n.request().url()).join('\n'))
Samotný skript (uložil jsem si ho jako stahni_rozhlas.sh) je pak takovýto:
#!/bin/bash
for i in ./*
do COUNTER=0
sed -i '/^$/d' "$i" # odstraní případné prázné řádky na konci souboru
name=$( tail -n 1 "$i" ) # Jméno adresáře a souborů z posledního řádku souboru
mkdir "$name"
while IFS= read -r line || [ -n "$line" ] # přečte soubor řádku po řádce
do
if [[ $line == *.mpd ]] # stahujeme jen manifesty
then let COUNTER=COUNTER+1
echo "$line"
printf -v COUNTER_dec '%02d' $COUNTER # soubory číslujeme vždy dvěma číslicemi
yt-dlp $line -o "$name"/"$COUNTER_dec"_"$name".m4a
fi
done < "$i"
done
Předpokládá, že bude spuštěn v adresáři, kde jsou pouze soubory následující struktury:
https://croaod.cz/stream/b00ffa1f-90c1-4f56-8a31-f185325f606e.m4a/manifest.mpd https://croaod.cz/stream/ac2e5f60-295f-4d24-8641-0f52f623b4cb.m4a/manifest.mpd https://croaod.cz/stream/87d6504d-e8e6-4cd2-bdf5-d29b8b06fcde.m4a/manifest.mpd https://croaod.cz/stream/f7a34e65-680d-49c8-bd1c-474450546284.m4a/manifest.mpd https://croaod.cz/stream/ed0f47af-a475-4b9a-a2a2-cb259aee7496.m4a/manifest.mpd Osudy Jana Vlasáka
Poslední řádek je název adresáře, kam budou jednotlivé díly staženy do stejnojmených souborů očíslovaných vepředu dvěma číslicemi od 01. Všechny ostatní řádky jsou pak odkazy na manifesty jednotlivých dílů. Očekává se, že jsou popořadě.
Doufám, že VDH se tento typ stahování brzo naučí, otázal jsem se na to.
Tiskni
Sdílej:
něco podobnýho se tady už jednou řešilo hele :O ;D
ffmpeg -i "https://croaod.cz/stream/83478896-a9a9-4bf3-9b53-261cdff893ef.m4a/playlist.m3u8" cro_track.mp3
#!/bin/bash
echo
# Funkce pro získání řetězce mezi dvěma řetězci
get_string_between() {
start_str=$1
end_str=$2
input_str=$3
result=$(echo "$input_str" | awk -v a="$start_str" -v b="$end_str" 'BEGIN{FS=a} {split($2, parts, b); print parts[1]}')
echo "$result"
}
# Získání URL seriálu a názvu
read -p "Zadejte URL seriálu: " url
read -p "Zadejte název seriálu: " series_name
# Stažení obsahu URL adresy
echo
echo
echo
echo "Stahování obsahu URL adresy: $url ..."
echo
echo
echo
# Načtení stránky
page_content=$(curl -s "$url")
# Získání odkazů na audio soubory
audio_link=$(echo "$page_content" | grep -oE '"part"[^ ]*mpd')
#echo "RAW odkaz na audio soubor:"
#echo "$audio_link"
# Úprava odkazů pro stažení - odstranění zpětných lomítek a výměna "stream" za "download"
audio_link=$(echo "$audio_link" | sed -e 's/\\//g' -e 's/stream/download/g')
#echo "Upravený odkaz pro stažení:"
#echo "$audio_link"
readarray -t links_array <<< "$audio_link"
echo "----------------------------------------------------------"
# Procházení řádků s odkazy
for ((i=0; i<${#links_array[@]}; i++)); do
#echo ${links_array[$i]}
# Vyseparování čísla dílu
part_str='"part":"'
part=$(get_string_between "$part_str" '"' "${links_array[$i]}")
#echo "Číslo dílu: $part"
# Vyseparování odkazu na soubor
link=$(get_string_between "https" "m4a" "${links_array[$i]}")
odkaz="https"$link"m4a"
echo "$odkaz"
# vytvoření názvu ukládaného souboru s číslem dílu
# Pokud je číslo dílu menší než 10, vlož na začátek nulu kvůli řazení při přehrávání. Taky přidáme příponu
if [ $(( $part )) -lt 10 ]; then
new_filename="${series_name} 0$part.m4a"
else
new_filename="${series_name} $part.m4a"
fi
echo "$new_filename"
# Kontrola jestli již soubor existuje a pokud ne, tak jeho stažení
if [ -e "$new_filename" ]; then
echo "Soubor již existuje"
else
echo "Stahuji"
curl ${odkaz} -o "$new_filename"
#curl ${links_array[$i]} -o "$new_filename"
fi
echo "----------------------------------------------------------"
done
echo
echo
echo
echo "Stahování dokončeno."
echo
echo
echo
if [ $(( $part )) -lt 10 ]; then
new_filename="${series_name} 0$part.mp3"
else
new_filename="${series_name} $part.mp3"
fi
echo "$new_filename"
# Kontrola jestli již soubor existuje a pokud ne, tak jeho stažení
if [ -e "$new_filename" ]; then
echo "Soubor již existuje"
else
echo "Stahuji"
ffmpeg -v quiet -stats -i "${odkaz}" "$new_filename"
#!/bin/sh
IFS=$'
'
list=`cat $1`
#echo "$list"
for item in $list
do
yt-dlp -c --replace-in-metadata 'title,uploader,playlist' ':' ' -' "$item"
done
Když je více dílů (uloží se do společného adresáře)
#!/bin/sh
IFS=$'
'
list=`cat $1`
#echo "$list"
for item in $list
do
yt-dlp -c --replace-in-metadata 'title,uploader,playlist' ':' ' -' -o '%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' "$item"
done
Skripty říkají yt-dlp, aby přemazala metadata, pak používám easytag, který umí velmi jednodue hromadně vyplnit metadata tak, aby tag name odpovídal názvu souboru (včetně očíslování) - to se pak hodí pro přehrávání v přehrávači antennapod na Androidu.