Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.
Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.
Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.
Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
Alyssa Anne Rosenzweig v příspěvku na svém blogu oznámila, že opustila Asahi Linux a nastoupila do Intelu. Místo Apple M1 a M2 se bude věnovat architektuře Intel Xe-HPG.
EU chce (pořád) skenovat soukromé zprávy a fotografie. Návrh "Chat Control" by nařídil skenování všech soukromých digitálních komunikací, včetně šifrovaných zpráv a fotografií.
Byly publikovány fotografie a všechny videozáznamy z Python konference PyCon US 2025 proběhlé v květnu.
Společnost xAI a sociální síť X amerického miliardáře Elona Muska zažalovaly firmy Apple a OpenAI. Viní je z nezákonné konspirace s cílem potlačit konkurenci v oblasti umělé inteligence (AI).
Byla vydána nová verze 9.16 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.
Bash skript pre zlúčenie dvoch textových titulkov do jednoho. Výsledkom je súčasné zobrazenie 2 titulkov na spodku/vrchu okna prehrávača (podobnú funkciu má napr. PowerDVD, ale len pri dvd titulkoch). Opravy a vylepšenia sú vítané.
#!/bin/bash # merge2ass.sh - script for merging two text-subtitles into an ass subtitle file # version 0.9b, 02-feb-2013 # comments/criticism/praise to jose1711-gmail-com # dependencies: mplayer (if your subtitle files need to be converted to srt), gnu utils # thanks to: # - d.watzke for comments # - belisarivs for testing # - boris dušek <boris (dot) dusek - gmail - com> for testing/ideas # - swans100 - patch for milliseconds precision srt subs # # $1 is a movie file # $2 is a subtitle1 # $3 is a subtitle2 # $4 is optional and could be "-pm" or "--play-movie" for instant watching of the movie # example: # merge2ass.sh movie.avi english.srt slovak.sub # mplayer -noautosub -ass movie.avi -sub movie-bilingual.ass -subcp utf8 # # or just # merge2ass.sh movie.avi english.srt slovak.sub -pm # # or even only # merge2ass.sh --detect movie.avi -pm # ## # release history: # 0.8a (29. 7. 2007) # - initial public release # 0.8.1a (30. 7. 2007) # - check_syntax fixed (d.watzke) # - multiline echo -> cat (d.watzke) # - removes temp files after conversion # 0.8.2 (1. 8. 2007) # - check whether the input files exist prior to running MPlayer # - check for MPlayer binary # - help page added # - new optional CLI parameters: -pm (plays movie after conversion), --help # 0.8.2.1 (2. 8. 2007) # - timestamp in output more compatible (reported by belisarivs) # 0.9 (8. 8. 2007) # - performs a check for writable output # - check for MPlayer's support of ass/ssa if -pm is used # - pointers to subtitle files stored as arraysF # - autorecognition of subtitles based on MPlayer's -sub-fuzziness feature (--detect) # - output filename based on movie filename (+bilingual.ass) # - bash now mandatory (non-POSIX syntax used) # - flag -pm has a long alias (--play-movie) # 0.9a (27. 4. 2012) # - added compatibility with SRT subtitles using milliseconds precision (thanks juan!) # 0.9b (2. 2. 2013) # - define encoding in ssa header (thanks mathieuu!) # # some future thoughts: # - more optional flags (do_not_remove_temp_files, play_but_dont_delete_output_afterwards,dont_do # the_conversion_just_merging,output_file..) # - cleaner sed/awk code # - support for other players (xine, totem, kmplayer, vlc..) # - subtitle encoding detection based on enca (if present) - boris? # # docs: # - http://en.wikipedia.org/wiki/SubStation_Alpha # - http://www.perlfu.co.uk/projects/asa/ass-specs.doc # # THE STORY ENDS HERE # set -x # normally you do not want to see mplayer's error output #mplayer_err=/dev/stderr mplayer_err=/dev/null arg_count="$#" movie="$1" sub[1]="$2" sub[2]="$3" show_help(){ cat << EOF ---------------------------------------------------------------------------------- | | | Merge2ass - a script for merging two text subtitles into ass/ssa subtitle file | | author: jose1711 - gmail - com, 2007/08 | ---------------------------------------------------------------------------------- Usage: merge2ass.sh [--help] [movie subtitle1 subtitle2] [-pm|--play-movie] or merge2ass.sh --detect movie [-pm|--play-movie] --help show this help page and exit --detect try to detect subtitles using MPlayer's sub-fuzziness=1 flag movie movie file (anything that MPlayer recognizes) subtitle[12] file(s) containing text subtitles that MPlayer recognizes -pm play movie immediately and remove the output after finishing --play-movie EOF } detect_subtitles(){ while read -r line; do sub[++i]="$line" done < <(mplayer -sub-fuzziness 1 -frames 0 "$movie" 2>/dev/null | sed -n "s/^SUB: Added subtitle file ([0-9]*): \(.*\)$/\1/p") echo "$i subtitles were detected in total." echo "These two will be used:" echo "${sub[1]}" echo "${sub[2]}" } convert_subs(){ type mplayer || { echo "MPlayer not installed or binary not in path, please investigate. Exiting.."; exit 1; } echo "Converting the 1st subtitle file (${sub[1]}) to a time-based format..." # slower but does not require the video file for conversion # mplayer /dev/zero -rawvideo pal:fps=25 -demuxer rawvideo -vc null -vo null -noframedrop -benchmark -sub "$movie" -dumpsrtsub mplayer -dumpsrtsub -noautosub -really-quiet -frames 0 -sub "${sub[1]}" "$movie" 2>>"$mplayer_err" && echo "Done" mv dumpsub.srt "${sub[1]}-temp" echo "Converting the 2nd subtitle file (${sub[2]}) to a time-based format..." mplayer -dumpsrtsub -noautosub -really-quiet -frames 0 -sub "${sub[2]}" "$movie" 2>>"$mplayer_err" && echo "Done" mv dumpsub.srt "${sub[2]}-temp" } generate_ssa_header(){ cat > "$output" << EOF [Script Info] Title: Original Script: Original Translation: Original Editing: Original Timing: Original Script Checking: ScriptType: v4.00 Collisions: Normal PlayResY: 1024 PlayDepth: 0 Timer: 100,0000 [V4 Styles] Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding Style: lang1style,Arial,64,65535,65535,65535,-2147483640,-1,0,1,3,0,6,30,30,30,0,0 Style: lang2style,Arial,64,15724527,15724527,15724527,4144959,0,0,1,1,2,2,5,5,30,0,0 Encoding:0 [Events] Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text EOF } generate_ssa_dialogs(){ sed -e "/ --> /s/,/./g" "${sub[1]}-temp" | tr -d "\r" | awk 'BEGIN{ORS="";print " "} / --> /,/^$/ {ORS=" ";print} /^$/{print "\n"}' | sed -e "s/ --> /,/g" -e "s/^ \([^ ]*\) \(.*\)/Dialogue: Marked=0,\1,lang1style,Cher,0000,0000,0000,,\2/" -e "s/,00:/,0:/g" -e "s/\([:,]\)0\([0-9]\)/\1\2/g" -e "s/\([0-9]\)\(\.\)\([0-9]\)\([0-9]\)0\(,\)/\1\2\3\4\5/g" >>"$output" sed -e "/ --> /s/,/./g" "${sub[2]}-temp" | tr -d "\r" | awk 'BEGIN{ORS="";print " "} / --> /,/^$/ {ORS=" ";print} /^$/{print "\n"}' | sed -e "s/ --> /,/g" -e "s/^ \([^ ]*\) \(.*\)/Dialogue: Marked=0,\1,lang2style,Cher,0000,0000,0000,,\2/" -e "s/,00:/,0:/g" -e "s/^ *//g" -e "s/\([:,]\)0\([0-9]\)/\1\2/g" -e "s/\([0-9]\)\(\.\)\([0-9]\)\([0-9]\)0\(,\)/\1\2\3\4\5/g" >>"$output" } remove_temp_files(){ rm "${sub[1]}-temp" "${sub[2]}-temp" } play_movie(){ mplayer -ass 2>/dev/null >/dev/null || { echo "Too old MPlayer version, can't understand ASS/SSA subs. Install a newer version."; exit 1; } mplayer -really-quiet -fs "$movie" -sub "$output" -ass -subcp utf8 -noautosub } delete_output(){ rm "$output" } eval last_arg='$'${arg_count} if [ $arg_count -eq 0 ]; then show_help exit 0 fi for param in $* do if [ $param = "--help" ]; then show_help; exit 0; fi done if [ "$movie" = "--detect" ]; then movie="${sub[1]}" output="${movie%.*}-bilingual.ass" > "$output" #|| { echo "Can't write here! Exiting.." && echo 1; } detect_subtitles fi if [ ! -f "$movie" ]; then echo "Movie file ($movie) does not exist. Going back to shell.."; exit 1; fi if [ ! -f "${sub[1]}" ]; then echo "Subtitle1 file (${sub[1]}) does not exist. Going back to shell.."; exit 1; fi if [ ! -f "${sub[2]}" ]; then echo "Subtitle2 file (${sub[2]}) does not exist. Going back to shell.."; exit 1; fi echo "Processing.." # reset output output="${movie%.*}-bilingual.ass" > "$output" #|| { echo "Can't write here! Exiting.." && echo 1; } convert_subs generate_ssa_header generate_ssa_dialogs remove_temp_files if [ "$last_arg" = "-pm" -o "$last_arg" = "--play-movie" ]; then play_movie delete_output fi exit 0 # set +x
Tiskni
Sdílej:
vim ~/.emacs
check_syntax()
se nikdy neukončí, díky nesmyslnému použití subshellu. Použij if
.
[[ $# -ne 3 ]]
je rychlejší.
cat > soubor << EOF obsah souboru EOF