Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:12) чморылое одоробло |
Решил от нехуй делать сравнить несколько распространенных видео (и аудио) кодеков. Методика сравнения - пережать один видеофайл с изменением разрешения кадров до 640*480 каждым из сравниваемых кодеков с понижением битрейта видео до 512 кбит/с и аудио до 64 кбит/с, и сравнить качество и потраченное на кодирование время.
Испытательный стенд - комп на базе проца Athlon 64 x2 4000+ (2,11 Ггц) , 3 Гб ОЗУ, ОС Debian Squeeze(testing) i386, ffmpeg 0.6 SVN-r24504 built on Jul 26 2010 плюс гуй к нему WinFF 1.3.0.
Тестируемые кодеки .
Видео - MPEG-4(совместимый с DivX 4 и выше), XviD, Microsoft MPEG-4 Version 3(aka DivX 3.11), H264 AVC, FLV (Sorenson H263), Theora, VP8.
Аудио - MP3(Lame), AAC, Vorbis, WMA.
Для большинства видео энкодеров было применено кодирование в два прохода с целью повышения качества полученного видео, первый проход без аудиопотока для ускорения процесса.
Исходный файл - трейлер к мультфильму "Планета 51" в формате MP4 (видео H264 HD 1920*1080 6000 кбит/с 29,97 кадров/с , аудио AAC 128 кбит/с 44100 Гц стерео) ахуительнейшего качества, длительность 1:49 , вес 78 Мб.
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:13) чморылое одоробло |
"Родной" кодек библиотеки libavcodec, используемой в ffmpeg.
Кодирование в два прохода, командой
ffmpeg -i "/media/hdb5/51.mp4" -f mp4 -r 25 -vcodec mpeg4 -b 512k -s 640x360 -aspect 16:9 -an -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 1 -y /dev/null && ffmpeg -y -i "/media/hdb5/51.mp4" -f mp4 -r 25 -acodec libfaac -vcodec mpeg4 -b 512k -ab 64k -s 640x360 -aspect 16:9 -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 2 "/home/john77/Desktop/2/51/51_mpeg4.mp4"
Полученный файл весит 7 метров, время кодирования 4:43 (это не дохуя, учитывая разрешение исходника 1920 на 1080) , качество на динамических сценах оставляет желать лучшего, вылазят кубеки
Изм. Добрый_Ээх (26.08.2010 / 15:15) [1]
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:14) чморылое одоробло |
Кодирование в два прохода, командой
ffmpeg -i "/media/hdb5/51.mp4" -f mp4 -r 25 -vcodec mpeg4 -b 512k -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 -s 640x360 -aspect 16:9 -an -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 1 -y /dev/null && ffmpeg -y -i "/media/hdb5/51.mp4" -f mp4 -r 25 -acodec libfaac -vcodec mpeg4 -b 512k -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 -ab 64k -s 640x360 -aspect 16:9 -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 2 "/home/john77/Desktop/2/51/51_mpeg4_hq.mp4"
Вес выходного файла 7 метров, затраченное время 6:18 . Кубеков намного меньше, но таки присуцтвуют
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:15) чморылое одоробло |
Замечу, подключаемый кодек libxvid требователен к исходному материалу, если он (материал тоисть) скодирован без указания соотношения сторон(4:3 например или 16:9), то при перекодировании вылетает ошибка Invalid pixel aspect ratio.
Двухпроходное кодирование
ffmpeg -i "/media/hdb5/51.mp4" -f avi -r 29.97 -vcodec libxvid -vtag XVID -maxrate 520k -b 512k -s 640x360 -aspect 16:9 -an -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 1 -y /dev/null && ffmpeg -y -i "/media/hdb5/51.mp4" -f avi -r 29.97 -acodec libmp3lame -vcodec libxvid -vtag XVID -maxrate 520k -b 512k -ab 64k -ac 2 -s 640x360 -aspect 16:9 -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 2 "/home/john77/Desktop/2/51/51_xvid.avi"
Bec файла 6.5 метра, затраченное время 4:58. По сравнению с тестируемым выше mpeg4 качество несколько лучше, но всеравно кубеки видны
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:16) чморылое одоробло |
Два прохода
ffmpeg -i "/media/hdb5/51.mp4" -f avi -r 29.97 -vcodec libxvid -vtag XVID -maxrate 520k -b 512k -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 -s 640x360 -aspect 16:9 -an -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 1 -y /dev/null && ffmpeg -y -i "/media/hdb5/51.mp4" -f avi -r 29.97 -acodec libmp3lame -vcodec libxvid -vtag XVID -maxrate 520k -b 512k -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 -ab 64k -ac 2 -s 640x360 -aspect 16:9 -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 2 "/home/john77/Desktop/2/51/51_xvid_hq.avi"
Вес файла 6.3 метра, затраченное время 6:57 . Кубеки практически не бросаютца в глаза, разве што если сидеть в полуметре от монитора - видно.
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:17) чморылое одоробло |
Взломанная версия етого кодека была родоначальницей семейства DivX и получила индекс 3.11 .
Два прохода
ffmpeg -i "/media/hdb5/51.mp4" -f asf -vcodec msmpeg4 -b 512k -s 640x360 -aspect 16:9 -an -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 1 -y /dev/null && ffmpeg -y -i "/media/hdb5/51.mp4" -f asf -vcodec msmpeg4 -b 512k -acodec wmav2 -ac 2 -ab 64k -s 640x360 -aspect 16:9 -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 2 "/home/john77/Desktop/2/51/51_msmpeg4.asf"
Вес файла 7.7 метра, затраченное время 4:40. Ну чо сказать? Древнее ужасное унылое гавно. Полученное видео годитца лиш для просмотра под вендой без установки дополнительных плееров и кодеков, а также на некоторых древних моделях двд-mpeg4-плееров без поддержки DivX и XviD.
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:18) чморылое одоробло |
Два прохода
ffmpeg -i "/media/hdb5/51.mp4" -f matroska -r 25 -vcodec libx264 -vpre ultrafast_firstpass -b 512k -bt 512k -s 640x360 -aspect 16:9 -an -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 1 -y /dev/null && ffmpeg -y -i "/media/hdb5/51.mp4" -f matroska -r 25 -vcodec libx264 -vpre ultrafast -b 512k -bt 512k -acodec libvorbis -aq 0 -ac 2 -ar 44100 -s 640x360 -aspect 16:9 -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 2 "/home/john77/Desktop/2/51/51_x264_ultrafast.mkv"
Bec 7.4 метра, затраченное время 4:42 . Таки имеютца кубеги и некоторое размытие картинки
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:19) чморылое одоробло |
Два прохода
ffmpeg -i "/media/hdb5/51.mp4" -f matroska -r 25 -vcodec libx264 -vpre fast_firstpass -b 512k -bt 512k -s 640x360 -aspect 16:9 -an -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 1 -y /dev/null && ffmpeg -y -i "/media/hdb5/51.mp4" -f matroska -r 25 -vcodec libx264 -vpre default -b 512k -bt 512k -acodec libvorbis -aq 0 -ac 2 -ar 44100 -s 640x360 -aspect 16:9 -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 2 "/home/john77/Desktop/2/51/51_x264.mkv"
Вес 7.4 метра, затраченное время 7:22 . Кубегов - нет! Размытия кадров - нет! На весь экран практически неотличимо от оригинала, несмотря на трехкратное уменьшение длины и ширины.
Ещо я кодировал H264 c пресетом hq (high quality тоисть), вес файла тот же, затраченное время 8:50, но никакой разницы не увидел, мб это важно на более высоких разрешениях, хз.
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:19) чморылое одоробло |
Кодек аналогичный применяемому в 3GP.
Два прохода
ffmpeg -i "/media/hdb5/51.mp4" -f flv -r 25 -vcodec flv -b 512k -s 640x360 -aspect 16:9 -an -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 1 -y /dev/null && ffmpeg -y -i "/media/hdb5/51.mp4" -f flv -r 25 -vcodec flv -b 512k -acodec libmp3lame -ar 22050 -ac 2 -ab 64k -s 640x360 -aspect 16:9 -passlogfile "/home/john77/Desktop/2/51/51.log" -pass 2 "/home/john77/Desktop/2/51/51_flv.flv"
Вес 7.3 метра, затраченное время 4:40 . Ну што есть такое FLV многие знают по вконтакту и ютубу. На весь экран лучше не открывать. Кубеки, размытие, все как положено. Иногда канешна попадаютца ролики с видео в h264, но таких меньше, пока.
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:20) чморылое одоробло |
Типа, продвинутый кодек для видео в HTML5. Двухпроходное кодирование не держит.
Один проход
ffmpeg -i "/media/hdb5/51.mp4" -f ogg -vcodec libtheora -b 512k -acodec libvorbis -aq 0 -ac 2 -ar 44100 -s 640x360 -aspect 16:9 "/home/john77/Desktop/2/51/51_theora.ogv"
Вес 7.2 метра, затраченное время 3:28 . Ожидал лучшего. Качество хуже чем у mpeg4 c дефолтными настройкаме. Единственное достоинство данного кодека в том што он свободный.
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:21) чморылое одоробло |
Ещо один кодек для HTML5, активно продвигаемый гуглом. Двухпроходное кодирование не держит.
Один проход
ffmpeg -i "/media/hdb5/51.mp4" -f webm -acodec libvorbis -aq 0 -ac 2 -ar 44100 -vcodec libvpx -b 512k -bt 512k -s 640x360 -aspect 16:9 "/home/john77/Desktop/2/51/51_vp8.webm"
Вес 7.7 метра, затраченное время 7:24 (на фоне остальных примеров для одного прохода - это очень дохуя). Ни кубеков, ни размытия, таки неплохой результат, но сцуко долго. И кстате ЕМНИП етот кодек тоже свободный
Изм. Добрый_Ээх (26.08.2010 / 15:44) [1]
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:21) чморылое одоробло |
По звуку сказать могу лиш што кодек Vorbis уёбывает все остальные по всем пераметрам. Особенно на низких битрейтах. Из видео кодеков лучший по соотношению качество/время кодирования - H264 c дефолтными настройками качества. Если коллекция видео просматриваетца только на компе, лучший вариант - скукоживать двд и прочее видео кодеком H264 и засовывать вместе с аудио Vorbis в матрёшку (MKV). На второе место я бы поставил XviD (high quality), для просмотра на бытовых mpeg4-плеерах самое оно. Да и для смартфонов тоже, таки для декодирования H264 мощный проц нужен. Для трансляции видео на сайте выбирать нужно из H264(Flash) и VP8(HTML5)
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:30) чморылое одоробло |
хм это тока для декодирования иль для просмотра тож?всмысле? Ето инфа по конвертированию, но все указанные кодеки и форматы( и очень дохуя еще) под линухом читаютца без проблем
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:40) чморылое одоробло |
бля щас на винде сижу жду када шареман фильмы скачает. Потом заценюога..
просмотр доступных форматов ffmpeg -formats
Просмотр доступных видео энкодеров (тоисть чем можно конвертировать) ffmpeg -codecs | grep EV
Просмотр доступных аудио энкодеров ffmpeg -codecs | grep EA
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:43) чморылое одоробло |
это в консоли?да
Добрый_Ээх (SV!) [Off] [#] (26.08.2010 / 15:46) чморылое одоробло |
кстати прикинь. сеня ездили хотели 4х ядерник или 6ти взять но хуй на рыло. все компы скупили. охуетьбугага))) хуле, ща без компа никуда
Добрый_Ээх (SV!) [Off] [#] (27.08.2010 / 10:40) чморылое одоробло |
Создаем (под рутом) файл например /usr/share/ffmpeg/libvpx-400k примерно такого содержания:
vcodec=libvpx
bt=400k
g=120
level=216
profile=0
qmax=51
qmin=1
rc_buf_aggressivity=0.95
vb=384k
#ignored unless using -pass 2
maxrate=480k
minrate=40k
теперь штоп скодировать фаел, пишем в консоле:
ffmpeg -i входной_фаел -f webm -vpre libvpx-400k выходной_фаел.webm
Звук по умалчанию Vorbis 64 кбит/с , етого с головой хватит
Изм. Добрый_Ээх (27.08.2010 / 10:44) [1]
Скачать темуНовые вверху