Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. 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.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
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.
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'
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.
-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-deinterlaceje 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: