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

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


video

Розбіжності

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

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

Both sides previous revision Попередня ревізія
Наступна ревізія
Попередня ревізія
Наступна ревізія Both sides next revision
video [2013/12/16 22:24]
wombat [Просмотр]
video [2014/06/09 22:05]
wombat [Просмотр] Youtube live streams through VLC
Рядок 1: Рядок 1:
 +====== Просмотр ======
  
 +===== Локальные файлы =====
 +
 +==== В консоли ====
 +
 +  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 -
 +====== Создание ======
 +
 +===== Съёмка =====
 +
 +===== Захват с экрана =====
 +
 +===== Рип =====
 +
 +
 +
 +
 +====== Обработка ======
 +
 +===== Монтаж =====
 +
 +===== Кодирование видео =====
 +
 +==== 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) ====
 +
 +  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 ===
 +
 +[[https://​libav.org/​avconv.html#​libx264 | Параметры кодека 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 ===
 +
 +Согласно [[http://​libav.org/​faq.html#​How-do-I-encode-Xvid-or-DivX-video-with-avconv_003f | инструкции]] от разработчиков ''​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 =====
 +
 +[[dvd|Создание Video DVD]]
 +
 +====== Вещание ======
 +
 +====== Полезные ссылки ======
 +
 +https://​libav.org/​avconv.html#​libx264
 +https://​sites.google.com/​site/​linuxencoding/​x264-ffmpeg-mapping
video.txt · В останнє змінено: 2021/03/25 16:21 by wombat