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

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


video

Це стара версія документу!


Просмотр

Локальные файлы

В консоли

mplayer -fs -zoom -vo x11 -display :0.0 /home/Clips/Dakh\ Daughters\ \ Rozy\ \ \ Donbass-IHJprqxIwdc.webm

URL

Youtube

Live streams

youtube-dl -g https://www.youtube.com/watch?v=<video_ID> | vlc -

Создание

Съёмка

Захват с экрана

ffmpeg (avconv)

avconv -f x11grab -s 300x140 -r 25 -i :0.0+10,20 -an -sn -vcodec libvpx -vb 20k /tmp/out.mkv

Вырежет из экрана прямоугольник шириной 300 пикселей и высотой 140 пикселей, начиная с координат (10,20). Т.е. смещённый вправо от левого края экрана на 10 пикселей и вниз от верхнего края экрана – на 20 пикселей. При этом кодек может быть какой угодно. Однако, вероятно, стоит придерживаться того правила, что для того, чтобы придерживаться реального времени, компьютер должен успевать обрабатывать заданное число кадров в секунду. В примере выше это 25 кадров в секунду. И при высоком разрешении и относительно слабом компьютере, вероятно, стоит использовать кодек, менее требовательный к ресурсам ПК (например, XviD или даже MPEG2).

Рип

Обработка

Монтаж

OpenShot

OpenShot – простой видеоредактор. Хорош для простого монтажа и создания видео из фрагментов видеофайлов, аудиофайлов, картинок. Графический интерфейс написан на языке Python и использует библиотеку PyQt. Версии 1.X были основаны на библиотеке MLT. Начиная с версии 2.0 используется своя собственная библиотека LibOpenShot.

Кодирование видео

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,"
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"
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"

FFMpeg (avconv)

avconv [global options] [[infile options][-i infile]]... {[outfile options] outfile}...

VP8

avconv -i input_movie.mp4 -vcodec libvpx -vb 20k -r 25 -s 320x180 -pass 1 -an -sn -y output_movie-20k.mkv
avconv -i input_movie.mp4 -vcodec libvpx -vb 20k -r 25 -s 320x180 -pass 2 -acodec libvorbis -ac 1 -aq 0 -sn -y output_movie-20k.mkv

x264

Параметры кодека x264

  avconv -ss 60 -i input_movie.avi -vf hqdn3d=10:10:10:10 -vcodec libx264 -vb 2800k -r 30 -acodec libvorbis -ac 1 -aq -1 -sn -t 10 -y output_movie-denoise-2800.mkv

В приведённом примере происходит перекодирование видео с 60-й по 70-ю секунды видеокодеком x264 с потоком видео в 2800 кбит/с, частотой кадров 30 кадров/с и аудиокодеком Vorbis с качеством “-1”.

-ss 60 – перемотка на 60-ю секунду исходного видеофайла

-vf hqdn3d=10:10:10:10 – использование видеофильтра hqdn3d для подавления шумов; объяснение параметров ниже

-vcodec libx264 – использование библиотеки libx264 для кодирования видео

-vb 2800k – видеопоток 2800 кбит/с

-r 30 – частота кадров 30 кадров/с

-acodec libvorbis – использование библиотеки libvorbis для кодирования аудио

-ac 1 – количество каналов в звуковой дорожке; в данном случае – 1 канал

-aq -1 – качество кодирования Vorbis; в данном случае “-1”

-sn – нет субтитров

-t 10 – длительность результирующего видео; в данном случае – 10 секунд

XviD

Согласно инструкции от разработчиков libav, для кодирования видео кодеком XviD нужно указывать параметр -c:v mpeg4. При этом значение параметра fourcc в конечном файле по умолчанию будет выставлено в FMP4. Чтобы изменить это значение, можно воспользоваться параметром -vtag и указать любое значение. Например, -vtag xvid.

avconv -i input_film.VOB -vtag xvid -c:v mpeg4 -b:v 1000k -r 25 -pass 1 -an -sn -y output_movie-1000k.mkv
avconv -i input_film.VOB -vtag xvid -c:v mpeg4 -b:v 1000k -r 25 -pass 2 -acodec libvorbis -aq 1 -ac 2 -sn -y output_movie-1000k.mkv

Кодирование аудио

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

Фильтры

Видеофильтры

Изменение размера

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/Родина\ или\ смерть\!\ \(Фидель\ Кастро\)/

Добавление чёрных полос

Аудиофильтры

Выпуск

Мультиплексирование

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

Создание DVD

Вещание

Полезные ссылки

video.1494749640.txt.bz2 · В останнє змінено: 2017/05/14 11:14 by wombat