Google Chrome 150 byl prohlášen za stabilní. Nejnovější stabilní verze 150.0.7871.46 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 433 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.
Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.
Francúzska organizácia na ochranu spotrebiteľa, po viac než ôsmych rokoch skúmania, žaluje Epson za plánované zastarávanie tlačiarní. Súd sa začína dnes, 2. 7. 2026, vo francúzskom Nanterre.
Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.
Byla vydána nová verze 4.0.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.
Český statistický úřad (ČSÚ): Průměrná hrubá měsíční mzda ICT specialistů v roce 2025 meziročně vzrostla o 6 % na téměř 100 tisíc korun. Nejlépe placeni byli vývojáři softwaru. Dlouhodobým trendem zůstává nízké zastoupení žen, a to jak mezi specialisty, tak studenty těchto oborů.
Ochranný svaz autorský (OSA) připravuje žalobu na společnost Suno, která umožňuje generování hudby pomocí umělé inteligence (AI). ČTK to sdělil předseda představenstva OSA Roman Strejček. Suno podle něj bez souhlasu využívá k trénování svých modelů hudbu autorů, které svaz zastupuje. Nedávný investigativní materiál magazínu The Atlantic ukázal, že firmy jako Suno nebo Udio k trénování modelů používají rozsáhlé databáze obsahující miliony skladeb. V databázích, které časopis zveřejnil, lze dohledat i písně řady českých a slovenských umělců.
Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vyřešen byl problém s macOS 27 Golden Gate. Vývoj lze podpořit na Open Collective a GitHub Sponsors.
EU dnešním dnem zavedla clo ve výši 3 eur na balíky nízké hodnoty dovážené ze zemí mimo EU. To zahrnuje širokou škálu výrobků běžně nakupovaných on-line, jako jsou oděvy, hračky, elektronika a další spotřební zboží v hodnotě až 150 EUR.
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.