V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).
Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.
Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.
Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.
Vláda dne 16. července 2025 schválila návrh nového jednotného vizuálního stylu státní správy. Vytvořilo jej na základě veřejné soutěže studio Najbrt. Náklady na přípravu návrhu a metodiky činily tři miliony korun. Modernizovaný dvouocasý lev vychází z malého státního znaku. Vizuální styl doprovází originální písmo Czechia Sans.
Vyhledávač DuckDuckGo je podle webu DownDetector od 2:15 SELČ nedostupný. Opět fungovat začal na několik minut zhruba v 15:15. Další služby nesouvisející přímo s vyhledáváním, jako mapy a AI asistent jsou dostupné. Pro některé dotazy během výpadku stále funguje zobrazování například textu z Wikipedie.
Více než 600 aplikací postavených na PHP frameworku Laravel je zranitelných vůči vzdálenému spuštění libovolného kódu. Útočníci mohou zneužít veřejně uniklé konfigurační klíče APP_KEY (např. z GitHubu). Z více než 260 000 APP_KEY získaných z GitHubu bylo ověřeno, že přes 600 aplikací je zranitelných. Zhruba 63 % úniků pochází z .env souborů, které často obsahují i další citlivé údaje (např. přístupové údaje k databázím nebo cloudovým službám).
Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.
Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.
mencoder -input video.mov -output video.avi
Řešení dotazu:
ffmpeg -i vstup.mov vystup.avi
Když si s nastavením nechci lámat hlavu, tak to stačí takhle, jen bývá rozumné použít parametr -sameq
, který omezí kompresi na minimum (same quality)
Když potřebuju složitější parametry, tak si je většinou vygooglím...
-acodec
(audio) a -vcodec
(video)
A je potřeba najít ty, které člověk potřebuje... Vypadá to pak nějak takto:
ffmpeg -vcodec libtheora -acodec libvorbis -sameq -i infile.avi outfile.ogv
ffmpeg -vcodec libtheora -acodec libvorbis -sameq -i P1020196.MOV outfile.ogv FFmpeg version SVN-r0.5.6-4:0.5.6-3, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --extra-version=4:0.5.6-3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Dec 31 2011 15:16:11, gcc: 4.4.5 Unknown decoder 'libtheora'
ffmpeg -i P1020196.MOV -ab 128 -b 1024k -vcodec mpeg4 -acodec libmp3lame converted.mp4 FFmpeg version SVN-r0.5.6-4:0.5.6-3, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --extra-version=4:0.5.6-3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Dec 31 2011 15:16:11, gcc: 4.4.5 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'P1020196.MOV': Duration: 00:00:12.50, start: 0.000000, bitrate: 23279 kb/s Stream #0.0(eng): Video: mjpeg, yuvj420p, 1280x720, 30 tbr, 30 tbn, 30 tbc Stream #0.1(eng): Audio: pcm_s16be, 16000 Hz, mono, s16, 256 kb/s WARNING: The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s Unknown encoder 'libmp3lame'
ffmpeg -i P1020196.MOV -ab 128 -b 1024k -vcodec mpeg4 -acodec aac converted.mp4 FFmpeg version SVN-r0.5.6-4:0.5.6-3, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --extra-version=4:0.5.6-3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Dec 31 2011 15:16:11, gcc: 4.4.5 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'P1020196.MOV': Duration: 00:00:12.50, start: 0.000000, bitrate: 23279 kb/s Stream #0.0(eng): Video: mjpeg, yuvj420p, 1280x720, 30 tbr, 30 tbn, 30 tbc Stream #0.1(eng): Audio: pcm_s16be, 16000 Hz, mono, s16, 256 kb/s WARNING: The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s Unknown encoder 'aac'
No popravde neni to jednoduche provest konverzi pomoci ffmpegu. At volim jako kodeky cokoliv tak mi to nikdy neprojde:(A co číst chybové hlášky? Ty tam nejsou jen tak z legrace. Prvních pár odstavců manuálnu taky lecos osvětlí.
System je Debian Squeeze 32bitAno,ffmpeg -vcodec libtheora -acodec libvorbis -sameq -i P1020196.MOV outfile.ogv FFmpeg version SVN-r0.5.6-4:0.5.6-3, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --extra-version=4:0.5.6-3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Dec 31 2011 15:16:11, gcc: 4.4.5 Unknown decoder 'libtheora'
-vcodec
před -i
znamená, že chceš nastavit decoder. Na což to správně hlásí že takový decoder nezná. Na nastavení encoderu musíš přesunout -vcodec
před název výstupního souboru.
0.5 je prehistorie. Silně doporučuju upgradovat na nějakou novější verzi. Jinak snažíš se nastavit audio bitrate nad 128 bitů za sekundu, což by asi stejně nefungovalo.ffmpeg -i P1020196.MOV -ab 128 -b 1024k -vcodec mpeg4 -acodec libmp3lame converted.mp4 FFmpeg version SVN-r0.5.6-4:0.5.6-3, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --extra-version=4:0.5.6-3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Dec 31 2011 15:16:11, gcc: 4.4.5 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'P1020196.MOV': Duration: 00:00:12.50, start: 0.000000, bitrate: 23279 kb/s Stream #0.0(eng): Video: mjpeg, yuvj420p, 1280x720, 30 tbr, 30 tbn, 30 tbc Stream #0.1(eng): Audio: pcm_s16be, 16000 Hz, mono, s16, 256 kb/s WARNING: The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s Unknown encoder 'libmp3lame'
-sameq
NEZNAMENÁ "same quality", ale "same quantizer" (v avconvu jsme tuhle volbu přejmenovali na -same_quant
právě z tohohle důvodu). V praxi to znamená to, že při překodování videa z mpegovitého formátu na mpegovitý formát (nikdy jindy to nefunguje) se pro každý frame použije stejný quantizer jako pro příšlušný vstupní frame. V závislosti na situaci se to může více či méně blížit tomu, co si člověk představuje pod pojmem "same quality". Obecně se ale na tuhle volbu díváme s nedůvěrou, protože většinou ji lidi používají aniž vědí co činí, a v tom případě nedělá co asi chtějí.
ffmpeg -threads 4 -i INPUT_FILE -deinterlace -vcodec libx264 -ac 1 -ab 128k -acodec aac -strict experimental -vol 1000 -b 400k -ss 100 -t 3600 -y OUTPUT_FILE.mkv
susímu ffmpegu se musí narvat -strict experimental, aby kódoval do AAC :)Protože náš aac encoder je experimentální hrůza. Při vyšších bitratech by se snad dal poslouchat, ale faac je lepší. Netrváš-li na AAc, tak ještě lepší je lame a úplně nejlepší libvorbis (pokud nepočítáme lossless).
-deinterlace, protože grabujeme z kamery, ze které leze prokládaný obraz
-deinterlace
je vraždění štěňat, ve jménu všeho co je dobré a správné použij -vf yadif
.
-deinterlace, protože grabujeme z kamery, ze které leze prokládaný obraz-deinterlace
je vraždění štěňat, ve jménu všeho co je dobré a správné použij-vf yadif
.
-deinterlace
používá hodně nekvalitní algoritmus, což je zřejmé už z toho, že deinterlacing dělá pouze z jednoho snímku. V novém avconvu je -deinterlace
deprecated a bude odstraněna.
Yadif už pořádný deinterlacer portovaný z mplayeru.
ale faac je lepšíHmm, tenhle susí ffmpeg je očividně bez něj :(. Že bych si zakompiloval?
tak ještě lepší je lameJsem měl za to, že MP3 má mnohem horší možnosti než AAC. To je faac taková hrůza?
-deinterlace je vraždění štěňat, ve jménu všeho co je dobré a správné použij -vf yadifDík, zkusím. (stejně se tam nic nehýbe…)
To sice má, ale kvalita encoderu má na výsledek mnohem větší vliv než rozdíly mezi specifikacemi (viz např. test kde mpeg4 ASP encoder v libavcodecu porazil některé odpadní H.264 encodery). A co se týče kvality, tak AFAIK lame je vysoko nad faac.ale faac je lepšíHmm, tenhle susí ffmpeg je očividně bez něj :(. Že bych si zakompiloval?tak ještě lepší je lameJsem měl za to, že MP3 má mnohem horší možnosti než AAC. To je faac taková hrůza?
#!/bin/sh NAME=`basename ${0}` case "$NAME" in mpeg2avi-[0-9]*) BITRATE=${NAME##mpeg2avi-} ;; *) BITRATE=2000 ;; esac BITRATE_A=128 BITRATE_V=$((${BITRATE}-${BITRATE_A})) INPUT="${1}" OUTPUT="${INPUT%.*}.avi" PASSLOG="${1}.pass" /usr/bin/nice -n 20 \ /usr/bin/ffmpeg \ -vf "yadif" \ -i "${INPUT}" \ -vcodec libxvid -g 250 -bf 2 -r 25 -b ${BITRATE_V}k \ -an \ -pass 1 -passlogfile "${PASSLOG}" \ -f rawvideo -y /dev/null /usr/bin/nice -n 20 \ /usr/bin/ffmpeg \ -vf "yadif" \ -i "${INPUT}" \ -vcodec libxvid -g 250 -bf 2 -r 25 -b ${BITRATE_V}k \ -acodec libmp3lame -ab ${BITRATE_A}k -ar 48000 -async 48000 -ac 2 \ -pass 2 -passlogfile "${PASSLOG}" \ -f avi \ -y "${OUTPUT}" if [ -f "${PASSLOG}" ]; then rm "${PASSLOG}"; fi
#!/bin/bash #Run as $bash prevod.sh ;because with $sh it`s not work. This bash script need function which sh dont support. That`s all.function checkyn { read yesnodel } echo " Please set the folder name for future save your video(s) (~/Videos/" read fold mkdir ~/Videos/$fold echo "Delete original videos after the video compress will be done? (y/n)" yesnodel="" checkyn while [ "$yesnodel" != "y" ] && [ "$yesnodel" != "n" ] do echo "Repeat your answer: (y/n)" checkyn done for F in *.avi do nameMP4=`echo "$F" |sed -e 's/.avi/.mp4/'` echo "Compressing video "$F" at "$nameMP4 ffmpeg -y -i $F -r 25 -b 1200k -ar 22050 -acodec libmp3lame -ab 128000 ~/Videos/$fold/$nameMP4 echo "Compressing video "$F" at "$nameMP4" done." if [ "$yesnodel" = "y" ];then rm $F fi done
ffmpeg -i 01-kreslo.flv -vcodec libxvid -acodec libmp3lame -b:v 1600k -b:a 128k 01-kreslo.avi
Tiskni
Sdílej: