Jack Dorsey představil (𝕏, Nostr) svůj nový projekt bitchat. Jedná se o bezpečnou decentralizovanou peer-to-peer aplikaci pro zasílání zpráv bez potřeby internetu, serverů a telefonních čísel. Využívá se Bluetooth Mesh Network. Detaily v technické dokumentaci. Zdrojové kódy jsou k dispozici pod licencí Unlicense.
Hudební přehrávač Amarok byl vydán v nové verzi 3.3 "Far Above the Clouds". Nově je postaven na Qt6/KF6 a využívá GStreamer místo Phononu.
Společnost IBM představila novou generaci svých serverů: IBM Power11.
Multiplatformní digitální pracovní stanice pro práci s audiem Ardour byla postavena na GTK2. Vývojáři neplánovali její portaci na GTK3 nebo GTK4. Naopak, v lednu loňského roku si vytvořili vlastní fork GTK2 s názvem YTK. Ten v únoru letošního roku přestal být volitelným a nově byla zcela odstraněna podpora GTK2.
Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.
… více »Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.
Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.
Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.
Resim nasledujici - mam hlavni adresar v kterém jsou podadresare do 3-4 urovne. V techto adresarich jsou mkv, ktere budou po rsyncu na sekundarnim storage konvertovany na mp4. Vzhledem k tomu, ze rsync se bude z hlavniho na sekundarni storage v pravidelne opakovat, protoze nove soubory neustale pribyvaji, hledam jak provest opakovany rsync tak, aby se nahraly pouze nove mkv a ne originalne rsyncovane, aktualne uz na sekundarnim storage prejmenovane na mp4. Jak na to?
ssh sekundární "ls -lr" > tmp1
, ls -lr > tmp2
, ... | sed -re "s/mp4/mkv/" | ...
, comm -3 tmp1 tmp2
).
Předpokládám, že na cílovém disku se mají původní .mkv
po konverzi na .mp4
smazat, jinak by celá otázka měla velmi triviální řešení (nemazat).
Inu, tady mě napadá ošklivé, prasácké, ale účinné řešení založené na rsync
: Místo mazání původní .mkv
ponechat na místě, ale zmenšit je (například pomocí truncate
) na nulu a obnovit jejich původní datum změny. Pak si rsync
bude myslet, že už tam jsou, ale zároveň nebudou zabírat místo. Při konverzi do .mp4
je pak potřeba odfiltrovat ty .mkv
, které mají nulovou velikost. Problém tohoto postupu: bitrot — Tedy nelze použít rsync -c (ze zjevných důvodů) a není tam vůbec žádná „end to end“ ochrana proti silent data corruption. Ale pokud jde jen a pouze o to „přeskočit“ už zpracované soubory, tohle by mohlo fungovat.
Gah. No to se mi povedlo, tahle↑ „rada“. Tohle je problém:
rsync
finds files that need to be transferred using a "quick check" algorithm (by default) that looks for files that have changed in size or in last-modified time.
Dobře, tak úplně jednoduše a „implicitně“ to nepůjde. Existuje sice --size-only
, ale není tam žádný ekvivalent --time-only
, který by pomohl v tomto případě.
Takže podle mě by mohlo být řešením --ignore-existing
(skip updating files that exist on receiver). To vypadá, že by to mohlo (správně) přeskočit přenos již zpracovaných .mkv souborů — pokud na cíli budou ponechané ty placeholdery zmenšené na nulu (kvůli úspoře místa).
#!/bin/bash # Directory to watch for new MKV files WATCH_DIR="/path/to/watch" # Loop to keep checking for new MKV files inotifywait -m -e create --format "%f" "$WATCH_DIR" | while read NEW_FILE do # Check if the new file is an MKV file if [[ "$NEW_FILE" =~ \.mkv$ ]]; then # Full path to the new MKV file MKV_FILE="$WATCH_DIR/$NEW_FILE" # Full path to the target MP4 file MP4_FILE="${MKV_FILE%.mkv}.mp4" # Convert the MKV file to MP4 using ffmpeg ffmpeg -i "$MKV_FILE" -codec:v libx264 -codec:a aac -strict experimental "$MP4_FILE" # Check if conversion was successful if [[ $? -eq 0 ]]; then # Remove the original MKV file after successful conversion rm "$MKV_FILE" echo "Converted and removed $MKV_FILE" else echo "Error converting $MKV_FILE" fi fi done
Tiskni
Sdílej: