![]() |
|
![]() |
#1 | |||
.:V.I.P.:.
![]() ![]()
|
![]() Пересжатие DVD в MKV (x264, AAC) для GNU/Linux
Содержание статьи: Нажми для просмотра
Вступление
Установка ПО Делаем пережатку 1) Готовим исходник 2) Изучаем DVD 3) Извлекаем необходимые данные а) Изображение без пережатия б) Звук без пережатия в) Звук с пережатием в AAC г) Главы д) Субтитры 4) Пережимаем изображение I Подбираем обрезку II Выбираем битрейт III Пережимаем 5) Собираем матрёшку Советы Список полезных статей Вступление В данном руководстве я опишу один из способов с минимальными потерями перевести фильм из DVD в матрёшку MKV. За счёт использования более мощных, продвинутых алгоритмов сжатия и сохранения только нужных данных размер матрёшки будет в разы меньше при незначительных потерях качества. Для пережатия изображения будет использоваться библиотека x264, осуществляющая стандарт H.264/MPEG-4 AVC, для звука - faac, оба кодека в своей области являются наиболее подходящими для нас по соотношению качества изображения и звука соответственно к размеру файла. Руководство с незначительными изменениями применимо к любому юниксу или линуксу, установку ПО рассмотрю на примере Gentoo linux, в качестве исходного материала подразумевается PAL DVD. Установка ПО Для возможности обработать любые источники данных систему стоит оснастить поддержкой большинства кодеков и контейнеров, добавим в /etc/make.conf Код:
# video formats USE="$USE divx dv dvd dvdread matroska mp4 mpeg quicktime schroedinger theora vcd x264 xvid" # audio formats USE="$USE a52 aac amr amrnb amrwb dts flac mikmod mp3 musepack ogg speex vorbis wavpack" Код:
emerge --sync; emerge -uNDva world mplayer - основное средство обработки ogmtools - содержит dvdxchap для извлечения сведений о главах DVD mkvtoolnix - средства для работы с контейнером MKV, для установки GUI mmg, собирать нужно с USE +wxwindows vlc - проигрыватель, отображающий меню DVD, необязательно, но очень полезно установить bitrate.py - удобное средство расчёта битрейта Устанавливаем: Код:
emerge -Dva mplayer mkvtoolnix ogmtools vlc Нажми для просмотра
Код:
These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] media-sound/ogmtools-1.5 USE="dvd" 0 kB [ebuild R ] media-video/mplayer-1.0_rc2_p28450 USE="X a52 aac alsa amrnb amrwb ass cddb cdparanoia directfb dts dv dvd enca encode fbcon ftp gif iconv ipv6 jpeg ladspa live lzo mad md5sum mmx mmxext mng mp2 mp3 musepack nemesi opengl png quicktime rar rtc schroedinger speex sse sse2 ssse3 tga theora truetype unicode v4l v4l2 vorbis x264 xscreensaver xv xvid xvmc -3dnow -3dnowext -aalib (-altivec) -arts -bidi -bindist -bl -cdio -cpudetection -custom-cflags -custom-cpuopts -debug -dga -dirac -doc -dvb (-dvdnav) -dxr3 -esd-ggi -gtk -jack -joystick -libcaca -lirc -nas -openal -oss -pnm -pulseaudio -pvr -radio (-real) -samba -sdl (-svga) -teletext (-vidix) (-win32codecs) -xanim -xinerama -zoran" VIDEO_CARDS="vesa -mga -s3virge -tdfx" 0 kB [ebuild R ] media-video/mkvtoolnix-2.4.0 USE="bzip2 flac lzo qt4 wxwindows -debug" 0 kB [ebuild R ] media-video/vlc-0.9.8a USE="X a52 aac alsa bidi cdda cddb cdio dbus directfb dts dvb dvd fbcon ffmpeg flac fontconfig gnutls hal httpd id3tag libgcrypt live matroska mmx mp3 mpeg musepack ncurses nsplugin ogg opengl png qt4 rtsp schroedinger skins speex sse stream svg taglib theora truetype upnp v4l v4l2 vlm vorbis x264 xml xv -aalib (-altivec) -arts -atmo -avahi -cddax -dc1394 -debug -dirac -esd -fluidsynth -ggi -gnome -jack -kate -libass -libcaca -libnotify -libsysfs -libv4l2 -lirc -lua -modplug -optimisememory -oss -pda -pulseaudio -pvr -remoteosd -run-as-root -samba -sdl -sdl-image -seamonkey -shout (-svga) -twolame -vcdinfo -vcdx (-win32codecs) -xinerama -xosd -zvbi" 0 kB Total: 4 packages (4 reinstalls), Size of downloads: 0 kB Would you like to merge these packages? [Yes/No] Делаем пережатку 1) Готовим исходник Создаём каталог, в котором будем обрабатывать, и переносим в него исходный DVD с помощью rsync, в руководстве подразумевается, что исходный DVD хранится под именем source: Код:
export enctmp=/some/path/filmname;\ mkdir $enctmp;cd $enctmp;\ rsync -av /mnt/dvd/ ./source/ 2) Изучаем DVD Проверяем играет ли его vlc и смотрим содержимое: Код:
vlc source Код:
mplayer -frames 0 -msglevel identify=6:all=-1 -really-quiet -vo null -ao null dvd://1 -dvd-device source 2>/dev/null > info;export dvdn=$(grep ID_DVD_TITLE info|sort -n -t "=" -k 2n|tail -n 1|awk -F'_' '{print $4}') Код:
mplayer dvd://$dvdn -dvd-device source Нажми для просмотра
Код:
MPlayer SVN-r28450-4.3.3 (C) 2000-2009 MPlayer Team CPU: Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz (Family: 6, Model: 15, Stepping: 10) Воспроизведение dvd://2. libdvdread: Using libdvdcss version 1.2.9 for DVD access libdvdread: Couldn`t find device name. На этом DVD 11 роликов. В этом DVD ролике 1 углов. аудиопоток: 0 формат: ac3 (5.1) язык: ru aid: 128. аудиопоток: 1 формат: ac3 (5.1) язык: en aid: 129. аудиопоток: 2 формат: ac3 (stereo) язык: ru aid: 130. аудиопоток: 3 формат: ac3 (stereo) язык: en aid: 131. число аудиоканалов на диске: 4. субтитры ( sid ): 0 язык: ru субтитры ( sid ): 1 язык: en число субтитров на диске: 2 Обнаружен MPEG-PS формат файла! VIDEO: MPEG2 720x576 (aspect 3) 25.000 fps 9800.0 kbps (1225.0 kbyte/s) ========================================================================== Открываю декодер видео: [mpegpes] MPEG 1/2 Video passthrough VDec: запрос vo config - 720 x 576 (предпочитаемое цветовое пространство: Mpeg PES) Не могу найти подходящее цветовое пространство - попытаюсь с -vf scale... Открываю видео фильтр: [scale] Извините, выбранное устройство видеовывода не совместимо с этим кодеком. Попробуйте добавить фильтр scale к вашему списку фильтров. Например, -vf spp,scale вместо -vf spp. Ошибка инициализации Декодера Видео :( Открываю декодер видео: [ffmpeg] FFmpeg`s libavcodec codec family Выбран видеокодек: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2) ========================================================================== ========================================================================== Открываю декодер аудио: [liba52] AC3 decoding with liba52 Using SSE optimized IMDCT transform Using MMX optimized resampler AUDIO: 48000 Hz, 2 ch, s16le, 448.0 kbit/29.17% (ratio: 56000->192000) Выбран аудиокодек: [a52] afm: liba52 (AC3-liba52) ========================================================================== AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample) Начало воспроизведения... VDec: запрос vo config - 720 x 576 (предпочитаемое цветовое пространство: Planar YV12) VDec: использую Planar YV12 в качестве выходного csp (не 0) Movie-Aspect - 1.78:1 - выполняю предварительное масштабирование для коррекции соотношения сторон фильма. VO: [xv] 720x576 => 1024x576 Planar YV12 [mpeg2video @ 0xb92bc0]ac-tex damaged at 24 7 [mpeg2video @ 0xb92bc0]Warning MVs not available [mpeg2video @ 0xb92bc0]concealing 1305 DC, 1305 AC, 1305 MV errors A: 4.2 V: 4.2 A-V: -0.009 ct: 0.101 101/101 21% 3% 1.7% 5 0 Теперь мы знаем, что диск поддерживается mplayer, знаем свойства изображения, звуковых дорог и субтитров. Звуковые дороги можно переключать '#' (Shift+3), субтитры управляются клавишами j и v, читайте man mplayer. 3) Извлекаем необходимые данные а) Извлечь без пережатия только изображение можно командой: Код:
mplayer dvd://$dvdn -dvd-device source -dumpvideo -dumpfile video.mpg б) Извлечь без пережатия только звук можно командой: Код:
time mplayer dvd://$dvdn -dvd-device source -aid 129 -dumpaudio -dumpfile sound-en6.ac3 && \ time mplayer dvd://$dvdn -dvd-device source -aid 128 -dumpaudio -dumpfile sound-ru6.ac3 в) Извлечь весь звук с пережатием в AAC можно одной командой: Код:
mkfifo audiodump.pcm; \ (time faac -b 256 -q 100 --tns --mpeg-vers 4 -P -R 48000 -C 6 -X audiodump.pcm -o audio-ru6.aac & \ mplayer dvd://$dvdn -dvd-device source -vc dummy -vo null -ao pcm:nowaveheader -channels 6 -aid 128 &>/dev/null);\ (time faac -b 256 -q 100 --tns --mpeg-vers 4 -P -R 48000 -C 6 -X audiodump.pcm -o audio-en6.aac & \ mplayer dvd://$dvdn -dvd-device source -vc dummy -vo null -ao pcm:nowaveheader -channels 6 -aid 129 &>/dev/null);\ (time faac -b 80 -q 100 --tns --mpeg-vers 4 -P -R 48000 -C 2 -X audiodump.pcm -o audio-ru-c.aac & \ mplayer dvd://$dvdn -dvd-device source -vc dummy -vo null -ao pcm:nowaveheader -channels 2 -aid 130 &>/dev/null);\ (time faac -b 80 -q 100 --tns --mpeg-vers 4 -P -R 48000 -C 2 -X audiodump.pcm -o audio-en-c.aac & \ mplayer dvd://$dvdn -dvd-device source -vc dummy -vo null -ao pcm:nowaveheader -channels 2 -aid 131 &>/dev/null) г) Извлечь главы можно командой: Код:
dvdxchap -t $dvdn source|sed 's/Chapter/Глава/' > chapters.txt;cat chapters.txt Код:
time mencoder dvd://$dvdn -dvd-device source -nosound -ovc frameno -o /dev/null -vobsubout subtitles-en -sid 1;\ time mencoder dvd://$dvdn -dvd-device source -nosound -ovc frameno -o /dev/null -vobsubout subtitles-ru -sid 0 бывают субтитры для слабослышащих, дополнительно сообщающие об интонациях, голосах, называющие звуки и т.д. бывают субтитры, которые появляются только для песен или только для обычной речи. 4) Пережимаем изображение I) Подбираем обрезку Сначала, если есть чёрные полосы, подбираем обрезку изображения, эта команда поможет: Код:
mplayer dvd://$dvdn -dvd-device source -ss 10:00 -vf cropdetect=24:2 Лучше вручную перепроверить, выполняю команды вроде этих: Код:
mplayer dvd://$dvdn -dvd-device source -ss 10:00 -vf crop=720:436:0:70 mplayer dvd://$dvdn -dvd-device source -ss 10:00 -vf crop=720:438:0:72 Код:
mplayer dvd://$dvdn -dvd-device source -ss 10:00 -vf crop=720:436:0:70,expand=0:-12:0:6 mplayer dvd://$dvdn -dvd-device source -ss 10:00 -vf crop=714:572:0:2,scale=720:-3 II) Выбираем битрейт bitrate.py -h поможет, выбор битрейта зависит от пережимаемого и желанного размера. С опытом придёт понимание, для новичка советую читать отчёт пробного сжатия маленького куска исходника (секунд 20-60)... Код:
bitrate.py $(grep ID_DVD_TITLE info|sort -n -t "=" -k 2n|tail -n 1|awk -F'=' '{print $2}'|awk -F'.' '{print $1}') -t 1493 -b 512 Код:
type bytes Mb DVD−R SL 4 707 319 808 4489,25 DVD+R SL 4 700 372 992 4482,625 DVD−R DL 8 543 666 176 8147,875 DVD+R DL 8 547 991 552 8152 2241 Мб 1/2 DVD+R SL 1494 Мб 1/3 DVD+R SL 1120 Мб 1/4 DVD+R SL 896 Мб 1/5 DVD+R SL Я предпочитаю пережимать в 3 прохода с настройками, дающими наилучшее качество, на пережатие одного фильма уходит 15 - 40 часов, написал скрипт /usr/local/bin/x264-enc-3p.sh Код:
#!/bin/bash # x264-enc-3p.sh source="$1" bitrate="$2" filters="$3" name="$(date +%F-%T)".avi log="$name".log # 21 e="mencoder "$source" -vf pullup,softskip,"$filters"harddup -ovc x264 -x264encopts threads=auto:psnr:ssim: b_adapt=2:deblock:cabac:chroma_me:subq=9:partitions=all:8x8dct:me=umh:nofast_pskip:nodct_decimate: me_range=32:trellis=2:frameref=16:bframes=16:b_pyramid:weight_b:mixed_refs:direct_pred=auto: keyint=750:keyint_min=25:direct_8x8=-1:aq_mode=1:aq_strength=1.0:psy_rd=1.0,0.0:bitrate=$bitrate" (time (\ time $e:pass=1 -o /dev/null && \ time $e:pass=3 -o /dev/null && \ time $e:pass=3 -o "$name" && \ echo "Encoding time:") &> "$log";\ rm -v divx2pass.log*\ ) & tail -f "$log" Нажми для просмотра
pullup http://www.mplayerhq.hu/DOCS/HTML-single/en/MPlayer...lecine-footnotes
About the performance of pullup: It is safe to use pullup (along with softskip ) on progressive video, and is usually a good idea unless the source has been definitively verified to be entirely progressive. The performance loss is small for most cases. On a bare-minimum encode, pullup causes MEncoder to be 50% slower. Adding sound processing and advanced lavcopts overshadows that difference, bringing the performance decrease of using pullup down to 2%. softskip http://www.mplayerhq.hu/DOCS/HTML-single/en/MPlayer...e-encode-mixedpt In order to work properly, pullup must be followed by the softskip filter or else MEncoder will crash. pullup is, however, the cleanest and most accurate method available for encoding both telecine and "mixed progressive and telecine". harddup http://www.mplayerhq.hu/DOCS/HTML-single/en/MPlayer...ng-filter-issues 11.1.12.1. Improving muxing and A/V sync reliability You may experience some serious A/V sync problems while trying to mux your video and some audio tracks, where no matter how you adjust the audio delay, you will never get proper sync. That may happen when you use some video filters that will drop or duplicate some frames, like the inverse telecine filters. It is strongly encouraged to append the harddup video filter at the end of the filter chain to avoid this kind of problem. Without harddup, if MEncoder wants to duplicate a frame, it relies on the muxer to put a mark on the container so that the last frame will be displayed again to maintain sync while writing no actual frame. With harddup, MEncoder will instead just push the last frame displayed again into the filter chain. This means that the encoder receives the exact same frame twice, and compresses it. This will result in a slightly bigger file, but will not cause problems when demuxing or remuxing into other container formats. You may also have no choice but to use harddup with container formats that are not too tightly linked with MEncoder such as the ones supported through libavformat, which may not support frame duplication at the container level. Причина использования именно трёхпроходного сжатия заключатся в том, что примениние более трёх проходов не даёт столь ощутимо прироста, как разница в качестве между двумя и тремя проходомами, вы можете и сами провести испытания, вот вывод моих отчётов сжатия: Сжималось 60 сек, задан битрейт 1307 kb/s Нажми для просмотра
Код:
==> Сжатие с 1 проходом длилось: 9m32.685s <== x264 [info]: slice I:4 Avg QP:17.25 size: 32444 PSNR Mean Y:47.37 U:49.34 V:49.38 Avg:47.92 Global:46.35 x264 [info]: slice P:679 Avg QP:19.21 size: 10956 PSNR Mean Y:44.83 U:47.09 V:47.58 Avg:45.49 Global:44.45 x264 [info]: slice B:881 Avg QP:21.15 size: 2606 PSNR Mean Y:44.55 U:46.98 V:47.36 Avg:45.23 Global:44.15 x264 [info]: consecutive B-frames: 8.9% 26.0% 64.4% 0.0% 0.6% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% x264 [info]: mb I I16..4: 12.6% 68.7% 18.7% x264 [info]: mb P I16..4: 0.9% 5.2% 0.6% P16..4: 52.5% 18.3% 12.6% 0.5% 0.6% skip: 8.8% x264 [info]: mb B I16..4: 0.0% 0.2% 0.1% B16..8: 44.2% 1.6% 2.3% direct: 3.3% skip:48.5% L0:34.2% L1:59.4% BI: 6.4% x264 [info]: final ratefactor: 20.29 x264 [info]: 8x8 transform intra:76.8% inter:58.2% x264 [info]: direct mvs spatial:99.0% temporal:1.0% x264 [info]: ref P L0 68.4% 11.5% 6.0% 2.8% 2.2% 1.9% 2.0% 1.0% 0.7% 0.6% 0.5% 0.5% 0.5% 0.5% 0.5% 0.3% x264 [info]: ref B L0 79.8% 11.1% 2.6% 1.6% 0.8% 1.0% 0.8% 0.6% 0.4% 0.3% 0.2% 0.3% 0.2% 0.2% 0.2% x264 [info]: ref B L1 87.9% 12.1% x264 [info]: SSIM Mean Y:0.9791618 x264 [info]: PSNR Mean Y:44.680 U:47.036 V:47.460 Avg:45.353 Global:44.278 kb/s:1261.48 ==> Сжатие с 2 проходами длилось: 9m47.134s <== x264 [info]: slice I:4 Avg QP:14.94 size: 39543 PSNR Mean Y:48.87 U:50.66 V:50.57 Avg:49.37 Global:49.02 x264 [info]: slice P:679 Avg QP:18.77 size: 11058 PSNR Mean Y:45.10 U:47.36 V:47.77 Avg:45.76 Global:45.18 x264 [info]: slice B:881 Avg QP:20.59 size: 2785 PSNR Mean Y:44.85 U:47.26 V:47.58 Avg:45.53 Global:44.90 x264 [info]: consecutive B-frames: 8.9% 26.0% 64.4% 0.0% 0.6% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% x264 [info]: mb I I16..4: 9.9% 71.2% 18.8% x264 [info]: mb P I16..4: 1.0% 4.9% 0.6% P16..4: 50.3% 19.9% 12.8% 0.5% 0.5% skip: 9.4% x264 [info]: mb B I16..4: 0.0% 0.2% 0.1% B16..8: 43.9% 1.7% 2.4% direct: 3.0% skip:48.7% L0:34.5% L1:58.0% BI: 7.5% x264 [info]: 8x8 transform intra:74.4% inter:58.5% x264 [info]: direct mvs spatial:82.7% temporal:17.3% x264 [info]: ref P L0 68.0% 11.5% 6.3% 2.8% 2.2% 1.9% 2.0% 1.0% 0.7% 0.6% 0.6% 0.5% 0.5% 0.5% 0.5% 0.3% x264 [info]: ref B L0 79.7% 10.8% 2.7% 1.5% 1.0% 1.0% 0.8% 0.5% 0.4% 0.4% 0.3% 0.3% 0.2% 0.2% 0.2% x264 [info]: ref B L1 87.1% 12.9% x264 [info]: SSIM Mean Y:0.9813050 x264 [info]: PSNR Mean Y:44.972 U:47.313 V:47.674 Avg:45.637 Global:45.023 kb/s:1294.16 ==> Сжатие с 3 проходами длилось: 16m33.659s <== x264 [info]: slice I:4 Avg QP:14.77 size: 40002 PSNR Mean Y:49.00 U:50.71 V:50.65 Avg:49.48 Global:49.27 x264 [info]: slice P:679 Avg QP:18.73 size: 11116 PSNR Mean Y:45.13 U:47.37 V:47.78 Avg:45.78 Global:45.28 x264 [info]: slice B:881 Avg QP:20.60 size: 2824 PSNR Mean Y:44.88 U:47.26 V:47.60 Avg:45.55 Global:45.00 x264 [info]: consecutive B-frames: 8.9% 26.0% 64.4% 0.0% 0.6% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% x264 [info]: mb I I16..4: 9.6% 70.8% 19.5% x264 [info]: mb P I16..4: 1.0% 4.9% 0.6% P16..4: 49.6% 20.2% 13.1% 0.5% 0.5% skip: 9.6% x264 [info]: mb B I16..4: 0.0% 0.1% 0.1% B16..8: 43.6% 1.7% 2.4% direct: 2.9% skip:49.2% L0:34.0% L1:57.9% BI: 8.1% x264 [info]: 8x8 transform intra:74.4% inter:58.3% x264 [info]: direct mvs spatial:82.7% temporal:17.3% x264 [info]: ref P L0 68.3% 11.2% 6.3% 2.7% 2.2% 1.9% 2.1% 1.0% 0.8% 0.6% 0.6% 0.5% 0.5% 0.5% 0.5% 0.3% x264 [info]: ref B L0 79.9% 10.6% 2.9% 1.5% 1.0% 1.0% 0.8% 0.5% 0.4% 0.3% 0.2% 0.2% 0.2% 0.2% 0.2% x264 [info]: ref B L1 87.0% 13.0% x264 [info]: SSIM Mean Y:0.9815677 x264 [info]: PSNR Mean Y:44.998 U:47.315 V:47.686 Avg:45.659 Global:45.128 kb/s:1303.82 ==> Сжатие с 4 проходами длилось: 24m8.198s <== x264 [info]: slice I:4 Avg QP:14.73 size: 40164 PSNR Mean Y:49.02 U:50.72 V:50.67 Avg:49.50 Global:49.29 x264 [info]: slice P:679 Avg QP:18.68 size: 11162 PSNR Mean Y:45.16 U:47.40 V:47.82 Avg:45.81 Global:45.32 x264 [info]: slice B:881 Avg QP:20.55 size: 2802 PSNR Mean Y:44.89 U:47.30 V:47.61 Avg:45.56 Global:45.04 x264 [info]: consecutive B-frames: 8.9% 26.0% 64.4% 0.0% 0.6% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% x264 [info]: mb I I16..4: 9.4% 71.1% 19.5% x264 [info]: mb P I16..4: 1.0% 4.9% 0.6% P16..4: 49.4% 20.2% 13.1% 0.5% 0.5% skip: 9.8% x264 [info]: mb B I16..4: 0.0% 0.1% 0.1% B16..8: 43.3% 1.7% 2.4% direct: 2.8% skip:49.5% L0:34.2% L1:57.7% BI: 8.1% x264 [info]: 8x8 transform intra:74.6% inter:58.3% x264 [info]: direct mvs spatial:80.6% temporal:19.4% x264 [info]: ref P L0 68.3% 11.2% 6.3% 2.7% 2.2% 1.9% 2.1% 1.0% 0.8% 0.6% 0.6% 0.5% 0.5% 0.5% 0.5% 0.3% x264 [info]: ref B L0 80.1% 10.5% 2.8% 1.5% 1.0% 1.0% 0.8% 0.5% 0.4% 0.3% 0.3% 0.2% 0.2% 0.2% 0.2% x264 [info]: ref B L1 87.1% 12.9% x264 [info]: SSIM Mean Y:0.9816473 x264 [info]: PSNR Mean Y:45.015 U:47.351 V:47.708 Avg:45.679 Global:45.163 kb/s:1305.35 ==> Сжатие с 5 проходами длилось: 32m18.078s <== x264 [info]: slice I:4 Avg QP:14.80 size: 39729 PSNR Mean Y:48.96 U:50.68 V:50.62 Avg:49.45 Global:49.24 x264 [info]: slice P:679 Avg QP:18.69 size: 11157 PSNR Mean Y:45.15 U:47.39 V:47.81 Avg:45.81 Global:45.32 x264 [info]: slice B:881 Avg QP:20.58 size: 2812 PSNR Mean Y:44.89 U:47.29 V:47.62 Avg:45.56 Global:45.04 x264 [info]: consecutive B-frames: 8.9% 26.0% 64.4% 0.0% 0.6% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% x264 [info]: mb I I16..4: 9.1% 70.9% 20.0% x264 [info]: mb P I16..4: 1.0% 5.0% 0.6% P16..4: 49.4% 20.3% 13.0% 0.5% 0.5% skip: 9.8% x264 [info]: mb B I16..4: 0.0% 0.1% 0.1% B16..8: 43.5% 1.7% 2.4% direct: 2.8% skip:49.4% L0:34.0% L1:57.9% BI: 8.1% x264 [info]: 8x8 transform intra:74.4% inter:58.4% x264 [info]: direct mvs spatial:83.9% temporal:16.1% x264 [info]: ref P L0 68.2% 11.3% 6.3% 2.7% 2.2% 1.9% 2.0% 1.0% 0.7% 0.6% 0.6% 0.5% 0.5% 0.5% 0.5% 0.3% x264 [info]: ref B L0 80.1% 10.5% 2.7% 1.5% 0.9% 1.0% 0.8% 0.5% 0.4% 0.3% 0.3% 0.3% 0.2% 0.2% 0.2% x264 [info]: ref B L1 87.2% 12.8% x264 [info]: SSIM Mean Y:0.9816590 x264 [info]: PSNR Mean Y:45.015 U:47.342 V:47.708 Avg:45.678 Global:45.167 kb/s:1305.89 Значения не являются случайными, повторяемость показателей полная, на глаз разницу между двумя и тремя проходами видно.Запускаем пережатие минуты для проверки, номер после "dvd://" можно узнать командой echo $dvdn: Код:
x264-enc-3p.sh "dvd://1 -dvd-device source -oac copy -ss 9:00 -endpos 60 -channels 6" 1600 "crop=720:436:0:70,expand=0:-12:0:6," Код:
x264-enc-3p.sh "dvd://1 -dvd-device source -oac copy -channels 6" 1600 "crop=720:436:0:70,expand=0:-12:0:6," Encod.log.sh Нажми для просмотра
Код:
line="********************************************************************************************************************" echo "$line" date +%F echo "Gentoo Linux amd64 stable "$(grep CFLAGS= /etc/make.conf)"" mplayer|grep -e MPlayer -e 'Скомпилировано' strings "$(du -sm *avi|sort -n|tail -n 1|awk '{print $2}')"|head -n 10000|grep x264|awk -F' - options' '{print $1}' echo echo "$line" echo cat /usr/local/bin/x264-enc-3p.sh echo echo "$line" echo tail "$(du -sm *avi|sort -n|tail -n 1|awk '{print $2}')".log -n 29|head -n 21|grep -v аудио echo "$line" Код:
sh ~/Encod.log.sh > encod.log Удобнее использовать GUI mmg, вот пример вывода кнопки "Copy to clipboard": Код:
"mkvmerge" -o "/path/filmname (2002;576p,x264,Rus,Eng,AAC-5.1).mkv" --track-name "0:Video encoded by someone" -d 0 -A -S /path/2009-02-15-19:47:22.avi --language 0:eng -a 0 -D -S /path/audio-en6.aac --language 0:eng --track-name 0:Commentaries -a 0 -D -S /path/audio-en-c.aac --language 0:rus -a 0 -D -S /path/audio-ru6.aac --language 0:rus --track-name 0:Комментарии -a 0 -D -S /path/audio-ru-c.aac --language 0:eng --default-track 0:no -s 0 -D -A /path/subtitles-en.idx --language 0:rus --default-track 0:no -s 0 -D -A /path/subtitles-ru.idx --track-order 0:0,3:0,1:0,4:0,2:0,6:0,5:0 --attachment-mime-type "text/plain charset=utf-8" --attachment-name encod.log --attach-file /path/encod.log --title "filmname" --chapter-language rus --chapter-charset UTF8 --chapters /path/chapters.txt Советы Скриншоты удобно делать в mplayer, но сохраняет он их в слабо сжатом png, поэтому я пользуюсь таким скриптом: Код:
#!/bin/sh # mS.sh mkdir screens-lc screens-gk;cd screens-lc mplayer -vf screenshot "$@" for i in shot*png;do convert -verbose "$i" ../screens-gk/"$i";done cd .. Для заливки советую скрипт shag.py: Код:
shag.py -d list * ;cat list|sed -e 's/http/\[img\]http/' -e 's/.png/.png\[\/img\]/' Код:
for i in $(ls *png|sed 's/.png//');do convert -verbose -quality 90 $i.png "$i".jpg ;done;\ shag.py -d list *jpg;cat list|sed -e 's/http/\[img\]http/' -e 's/.jpg/.jpg\[\/img\]/' 1689⋅1024/(720⋅440⋅25)=0,218 Список полезных статей Кодеки и контейнеры:http://en.wikipedia.org/wiki/X264 http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC http://en.wikipedia.org/wiki/Video_compression_picture_types http://en.wikipedia.org/wiki/List_of_codecs http://en.wikipedia.org/wiki/Comparison_of_video_codecs http://en.wikipedia.org/wiki/Matroska http://en.wikipedia.org/wiki/Comparison_of_container_formats Телевидение: http://en.wikipedia.org/wiki/Interlaced http://en.wikipedia.org/wiki/Progressive_scan http://en.wikipedia.org/wiki/Telecine http://en.wikipedia.org/wiki/Anamorphic_format http://en.wikipedia.org/wiki/PAL http://en.wikipedia.org/wiki/NTSC Средства обработки: http://en.wikipedia.org/wiki/Mplayer http://en.wikipedia.org/wiki/Vlc Документация: http://www.mplayerhq.hu/DOCS/HTML-single/en/MPlayer.html man mplayer |
|||
![]() |
![]() |
Метки |
video convert linux, конвертирование видео gnu, перепаковка видео |
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ищу мануал по установке кодека x264 на Ubuntu 10.04 TLS | Serberg | Linux | 12 | 01.04.2011 00:01 |
Видео самоучитель по Debian Linux и Ubuntu Linux | Serberg | Linux | 8 | 13.06.2010 00:40 |
Всё о Linux... | zvezdochots | Кладбище проектов | 5 | 07.04.2010 09:22 |
[Вопрос] Проблема с конвертированием кодеком x264 через ffmpeg | Serberg | Software (Программное обеспечение) | 6 | 19.02.2010 21:00 |