Користувальницькькі налаштування

Налаштування сайту


video-editing

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Both sides previous revision Попередня ревізія
Наступна ревізія
Попередня ревізія
Остання ревізія Both sides next revision
video-editing [2013/05/15 07:31]
wombat [Обрезка краёв]
video-editing [2020/03/26 17:34]
wombat [Підсилення звуку] в децибелах
Рядок 1: Рядок 1:
 +====== Кодирование видео ======
  
 +===== Mencoder =====
 +
 +==== XviD ====
 +
 +  time mencoder -vf yadif=0,​hqdn3d=0:​0:​15:​15,​scale=360:​288 -ovc xvid -xvidencopts bitrate=500:​threads=2 -nosound -lavcopts acodec=libmp3lame:​abitrate=64 ​ -o /​mnt/​multimedia/​encoded.avi /​mnt/​multimedia/​Мой\ фильм.avi
 +
 +  time mencoder -vf yadif=0,​hqdn3d=0:​0:​15:​15 -ovc xvid -xvidencopts bitrate=1200:​threads=2 -oac lavc -lavcopts acodec=libmp3lame:​abitrate=64 ​ -o /​mnt/​multimedia/​encoded.avi /​mnt/​multimedia/​Мой\ фильм.avi
 +
 +    time (mencoder -dvd-device /temp/ dvd://1 -vf yadif=0,​scale=704:​528,​dsize=4/​3 -nosound -ovc xvid -xvidencopts pass=1:​bitrate=1200:​threads=2 -o Rojdennie_mislit-1-video.avi && mencoder -dvd-device /temp/ dvd://1 -vf yadif=0,​scale=704:​528,​dsize=4/​3 -nosound -ovc xvid -xvidencopts pass=2:​bitrate=1200:​threads=2 -o Rojdennie_mislit-1-video.avi)
 +
 +==== x264 ====
 +
 +
 +  /​x264-enc-2p.sh "​-nosound /​mnt/​multimedia/​Films/​ToRecompress/​show_32.avi"​ 935 "​scale=576:​432,​dsize=4/​3,"​
 +
 +
 +<file bash x264-enc-2p.sh>​
 +#​!/​bin/​bash ​
 +# x264-enc-3p.sh
 +source="​$1" ​
 +bitrate="​$2" ​
 +filters="​$3" ​
 +name="​$(date +%F-%T)"​.avi ​
 +log="​$name"​.log
 +
 +# With niceness = 19 (the lowest priority
 +#​E1="​nice -n 19 mencoder "​$source"​ -vf pullup,​softskip,"​$filters"​harddup -ovc x264 -x264encopts threads=2:​subq=1:​frameref=1:​bframes=3:​b_pyramid=normal:​direct_pred=auto:​bitrate=$bitrate"​
 +#​E2="​nice -n 19 mencoder "​$source"​ -vf pullup,​softskip,"​$filters"​harddup -ovc x264 -x264encopts threads=2:​psnr:​ssim:​b_adapt=2:​deblock:​cabac:​chroma_me:​subq=9:​partitions=all:​8x8dct:​me=umh:​nofast_pskip:​nodct_decimate:​me_range=16:​trellis=2:​frameref=5:​bframes=3:​b_pyramid=normal:​weight_b:​mixed_refs:​direct_pred=auto:​bitrate=$bitrate"​
 +
 +# With niceness = 0 (normal priority)
 +#​E1="​mencoder "​$source"​ -vf pullup,​softskip,"​$filters"​harddup -ovc x264 -x264encopts threads=2:​subq=1:​frameref=1:​bframes=3:​b_pyramid=normal:​direct_pred=auto:​bitrate=$bitrate"​
 +#​E2="​mencoder "​$source"​ -vf pullup,​softskip,"​$filters"​harddup -ovc x264 -x264encopts threads=2:​psnr:​ssim:​b_adapt=2:​deblock:​cabac:​chroma_me:​subq=9:​partitions=all:​8x8dct:​me=umh:​nofast_pskip:​nodct_decimate:​me_range=16:​trellis=2:​frameref=5:​bframes=3:​b_pyramid=normal:​weight_b:​mixed_refs:​direct_pred=auto:​bitrate=$bitrate"​
 +E1="​mencoder "​$source"​ -vf "​$filters"​harddup -ovc x264 -x264encopts threads=2:​subq=1:​frameref=1:​bframes=3:​b_pyramid=normal:​direct_pred=auto:​bitrate=$bitrate"​
 +E2="​mencoder "​$source"​ -vf "​$filters"​harddup -ovc x264 -x264encopts threads=2:​psnr:​ssim:​b_adapt=2:​deblock:​cabac:​chroma_me:​subq=9:​partitions=all:​8x8dct:​me=umh:​nofast_pskip:​nodct_decimate:​me_range=16:​trellis=2:​frameref=5:​bframes=3:​b_pyramid=normal:​weight_b:​mixed_refs:​direct_pred=auto:​bitrate=$bitrate"​
 +
 +
 +time (\
 +time $E1:pass=1 -o /dev/null && \
 +time $E2:pass=2 -o "​$name"​ && \
 +echo "​Encoding time:"​)
 +
 +rm -v divx2pass.log
 +
 +
 +#(time (\ 
 +#time $E1:pass=1 -o /dev/null && \
 +#time $E2:pass=2 -o "​$name"​ && \
 +#echo "​Encoding time:"​) &> "​$log";​ \
 +#)&
 +
 +#rm -v divx2pass.log
 +#(time (\ 
 +#time $E1:pass=1 -o /dev/null && \ 
 +#time $E2:pass=2 -o "​$name"​ && \ 
 +#echo "​Encoding time:"​) &> "​$log";​\ ​
 +#rm -v divx2pass.log*\ ​
 +#) &
 +
 +#(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"​
 +</​file>​
 +
 +<file bash 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"​(
 +#​e="​mencoder "​$source"​ -vf pullup,​softskip,"​$filters"​harddup -ovc x264 -x264encopts threads=2:​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"​
 +
 +# With niceness = 19 (the lowest priority
 +#​E1="​nice -n 19 mencoder "​$source"​ -vf pullup,​softskip,"​$filters"​harddup -ovc x264 -x264encopts threads=2:​subq=1:​frameref=1:​bframes=3:​b_pyramid=normal:​direct_pred=auto:​bitrate=$bitrate"​
 +#​E2="​nice -n 19 mencoder "​$source"​ -vf pullup,​softskip,"​$filters"​harddup -ovc x264 -x264encopts threads=2:​psnr:​ssim:​b_adapt=2:​deblock:​cabac:​chroma_me:​subq=9:​partitions=all:​8x8dct:​me=umh:​nofast_pskip:​nodct_decimate:​me_range=16:​trellis=2:​frameref=5:​bframes=3:​b_pyramid=normal:​weight_b:​mixed_refs:​direct_pred=auto:​bitrate=$bitrate"​
 +
 +# With niceness = 0 (normal priority)
 +E1="​mencoder "​$source"​ -vf pullup,​softskip,"​$filters"​harddup -ovc x264 -x264encopts threads=2:​subq=1:​frameref=1:​bframes=3:​b_pyramid=normal:​direct_pred=auto:​bitrate=$bitrate"​
 +E2="​mencoder "​$source"​ -vf pullup,​softskip,"​$filters"​harddup -ovc x264 -x264encopts threads=2:​psnr:​ssim:​b_adapt=2:​deblock:​cabac:​chroma_me:​subq=9:​partitions=all:​8x8dct:​me=umh:​nofast_pskip:​nodct_decimate:​me_range=16:​trellis=2:​frameref=5:​bframes=3:​b_pyramid=normal:​weight_b:​mixed_refs:​direct_pred=auto:​bitrate=$bitrate"​
 +
 +#​E2="​mencoder "​$source"​ -vf pullup,​softskip,"​$filters"​harddup -ovc x264 -x264encopts threads=2:​psnr:​ssim:​ b_adapt=2:​deblock:​cabac:​chroma_me:​subq=6:​partitions=all:​8x8dct:​me=umh:​nofast_pskip:​nodct_decimate:​me_range=32:​trellis=2:​frameref=5:​bframes=3:​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"​
 +#​E2="​mencoder "​$source"​ -vf pullup,​softskip,"​$filters"​harddup -ovc x264 -x264encopts threads=2:​subq=1:​frameref=1:​bframes=3:​b_pyramid=normal:​direct_pred=auto:​bitrate=$bitrate"​
 +
 +
 +time (\ 
 +time $E1:pass=1 -o /dev/null && \
 +time $E2:pass=2 -o "​$name"​ && \
 +echo "​Encoding time:"​)
 +
 +rm -v divx2pass.log
 +
 +
 +#(time (\ 
 +#time $E1:pass=1 -o /dev/null && \
 +#time $E2:pass=2 -o "​$name"​ && \
 +#echo "​Encoding time:"​) &> "​$log";​ \
 +#)&
 +
 +#rm -v divx2pass.log
 +#(time (\ 
 +#time $E1:pass=1 -o /dev/null && \ 
 +#time $E2:pass=2 -o "​$name"​ && \ 
 +#echo "​Encoding time:"​) &> "​$log";​\ ​
 +#rm -v divx2pass.log*\ ​
 +#) &
 +
 +#(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"​
 +</​file>​
 +
 +===== FFMpeg (avconv) =====
 +
 +
 +
 +====== Кодирование аудио ======
 +
 +  mplayer -dvd-device /mnt/cdrom/ mplayer dvd://1 -vc null -vo null -ao pcm:​file=audio.fifo:​waveheader:​fast
 +
 +
 +
 +  oggenc -o Rojdennie_mislit-1-audio.ogg -q2 audio.fifo
 +  ​
 +
 +
 + 
 +
 +====== Мультиплексирование ======
 +
 +  mkvmerge -o Rojdennie_mislit-1.mkv Rojdennie_mislit-1-video.avi -y 0:250 Rojdennie_mislit-1-audio.ogg
 +
 +  mkvmerge -o Patria.mkv 2010-05-23-01\:​13\:​27.avi -y 0:0 /​mnt/​data/​Patria_o_muerte.ogg
 +
 +  mkvmerge -o show_31.mkv 2010-05-23-07\:​37\:​34.avi -y 0:400 show_31.ogg
 +
 +====== Фильтры ======
 +
 +===== Видеофильтры =====
 +
 +==== Изменение размера ====
 +
 +  mplayer -vf crop=620:​432:​10:​0,​scale=576:​432,​dsize=4/​3 -nosound /​mnt/​multimedia/​Films/​ToRecompress/​show_22.avi
 +
 +  mplayer -vf scale=576:​432,​dsize=4/​3 -nosound /​mnt/​multimedia/​Films/​ToRecompress/​show_26.avi
 +
 +  mplayer -vf scale=576:​432,​dsize=4/​3 -endpos 1497 -nosound /​mnt/​multimedia/​Films/​ToRecompress/​show_33_34.avi
 +
 +==== Обрезка краёв ====
 +
 +  mplayer -vf crop=624:​480:​16:​0,​scale=576:​432,​dsize=4/​3 -ss 1497 -nosound /​mnt/​multimedia/​Films/​ToRecompress/​show_33_34.avi
 +
 +  mplayer -vf crop=624:​480:​16:​0,​scale=576:​432,​dsize=4/​3 -nosound /​mnt/​multimedia/​Films/​ToRecompress/​show_35.avi
 +
 +==== Подавление шумов ====
 +
 +  mplayer -ss 510 -vf hqdn3d=0:​0:​15:​15 -ao null dvd://2 -dvd-device /​mnt/​lan/​data/​Родина\ или\ смерть\!\ \(Фидель\ Кастро\)/​
 +
 +
 +==== Добавление чёрных полос ====
 +
 +
 +===== Аудіофільтри =====
 +
 +==== Підсилення звуку ====
 +
 +Спочатку необхідно дізнатися,​ який максимальний рівень гучності у файлі:
 +
 +  ffmpeg -i videofile.mp4 -af "​volumedetect"​ -vn -f null /dev/null
 +
 +Ця команда видасть на екран наступні рядки:
 +
 +  mean_volume:​ -28.4 dB
 +  max_volume: -12.3 dB
 +
 +Це означає,​ що середній рівень гучності у файлі складає ''​-28.4 dB'',​ а максимальний -- ''​-12.3 dB''​. Отже, можна підсилити на ''<​=12.3 dB'',​ і це не призведе до перевантаження.
 +
 +Потім необхідно перерахувати коефіцієнт підсилення з децибел у амплітудні значення для рівня напруги за формулою:​
 +
 +  volume = 10^(volumedB/​20)
 +
 +Наприклад,​ для ''​12.3dB''​ коефіцієнт підсилення амплітуди складе ''​4.12''​
 +
 +Далі застосовуємо потрібний коефіцієнт підсилення до файлу:
 +
 +  ffmpeg -i videofile.mp4 -af "​volume=4.12"​ -vcodec copy -acodec aac -b:a 160k videofile_12dB.mp4
 +
 +Згідно з документацією FFMPEG((https://​trac.ffmpeg.org/​wiki/​AudioVolume)),​ можна також вказувати коефіцієнт підсилення в децибелах:​
 +  ffmpeg -i videofile.mp4 -af "​volume=12dB"​ -vcodec copy -acodec aac -b:a 160k videofile_12dB.mp4
 +
 +Від'​ємні значення коефіцієнта приведуть до зменшення гучності.
 +====== Полезные ссылки ======
 +
 +https://​libav.org/​avconv.html#​libx264
 +https://​sites.google.com/​site/​linuxencoding/​x264-ffmpeg-mapping
video-editing.txt · В останнє змінено: 2024/03/20 11:02 by wombat