Byla vydána nová verze 0.4.15 (𝕏) svobodného operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows. Přehled novinek i s náhledy v oznámení o vydání.
Byl představen rpi-image-gen, tj. oficiální nástroj pro vytváření vlastních softwarových obrazů pro zařízení Raspberry Pi.
Byla vydána nová major verze 8.0, aktuálně 8.0.1, softwaru pro správu elektronických knih Calibre (Wikipedie). Přehled novinek v poznámkách k vydání. Vypíchnuta je lepší podpora Kobo KEPUB formátu nebo integrovaný lokálně běžící engine Piper pro převod textu na řeč používaný pro čtení nahlas (již od verze 7.18).
Společnost OpenAI rozšířila své API o nové audio modely. Nový model pro převod textu na řeč (text-to-speech model) lze bez přihlašování vyzkoušet na stránce OpenAI.fm.
Příspěvek Bezpečnost paměti pro webové fonty na blogu Chrome pro vývojáře rozebírá, proč se pro zpracování webových fontů v Chrome místo FreeType nově používá v Rustu napsaná Skrifa z Fontations.
V pátek 21. a v sobotu 22. března proběhnou Arduino Days 2025, tj. každoroční „narozeninová oslava“ platformy Arduino. Na programu je řada zajímavých přednášek. Sledovat je bude možné na YouTube. Zúčastnit se lze i lokálních akcí. V sobotu v Praze na Matfyzu.
Komunitná konferencia Bratislava OpenCamp, ktorá sa uskutoční už o tri týždne 5. 4. 2025 na FIIT STU pozná svoj program – návštevníkom ponúkne 3 paralelné behy prednášok a workshopov na rôzne témy týkajúce sa otvoreného softvéru či otvorených technológií.
Časopis MagPi od nakladatelství Raspberry Pi se s číslem 151 přejmenoval na Raspberry Pi Official Magazine. I pod novým názvem zůstává nadále ve formátu pdf zdarma ke čtení.
Japonská SoftBank Group kupuje firmu Ampere Computing za 6,5 miliardy dolarů. Ampere Computing vyrábí 32-128jádrové procesory Ampere Altra a 192jádrové procesory AmpereOne.
Byla vydána (𝕏) nová verze 2025.1a linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek v oficiálním oznámení na blogu.
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: