Видео лексияҳо: роҳи unix

Видео лексияҳо: роҳи unix
Карантин вақти олиҷаноб барои омӯхтани чизест. Аммо, чунон ки шумо мефаҳмед, барои он ки касе чизеро омӯзад, касе бояд таълим диҳад. Агар шумо презентатсия дошта бошед, ки мехоҳед ба аудиторияи миллионҳо нафар пешкаш кунед ва шӯҳрати ҷаҳонӣ ба даст оред, пас ин мақола барои шумост. Дар ин ҷо шумо дастурҳои зина ба зина дар бораи чӣ гуна сохтани видеоро аз презентатсияи худ хоҳед ёфт.

Мо роҳи сабти "тафсирҳои аудиоӣ" дар PowerPoint ва содироти презентатсияро ба видео ҳамчун ночиз рад мекунем ва даҳяки қобилиятҳоро барои видеои воқеан олӣ таъмин намекунем.

Аввалан, биёед муайян кунем, ки кадом чаҳорчӯба ба мо лозим аст:

  1. Слайдҳои воқеӣ бо овоздиҳӣ
  2. тағир додани слайд
  3. Иқтибосҳо аз филмҳои машҳур
  4. Якчанд кадрҳо бо чеҳраи лектор ва гурбаи дӯстдоштаи ӯ (ихтиёрӣ)

Эҷоди сохтори директория

.
├── clipart
├── clips
├── rec
├── slide
└── sound

Мақсади феҳристҳо аз рӯи тартиби рӯйхат: филмҳо, ки мо аз онҳо иқтибосҳо меорем (клипҳо), порчаҳои видеои ояндаи мо (клипҳо), видеоҳо аз камера (rec), слайдҳо дар шакли тасвирҳо (слайд), садо (садо).

Ташкили презентатсия дар тасвирҳо

Барои корбари воқеии сурхчашми Linux, сохтани презентатсия дар шакли расмҳо ҳеҷ мушкиле пеш намеорад. Фақат хотиррасон мекунам, ки ҳуҷҷатро дар формати pdf бо истифода аз фармон ба тасвирҳо тақсим кардан мумкин аст

pdftocairo -png -r 128 ../lecture.pdf

Агар чунин фармон мавҷуд набошад, бастаро худатон насб кунед попплер-утилизҳо (дастурҳо барои Ubuntu; агар шумо Arch дошта бошед, пас шумо хуб медонед, ки бе ман чӣ кор кардан лозим аст).

Дар ин ҷо ва минбаъд, ман боварӣ дорам, ки видео дар формати HD Ready, яъне 1280x720 омода шудааст. Презентатсия бо андозаи уфуқии 10 дюйм ҳангоми борфарорӣ маҳз ҳамин андоза медиҳад (нигаред ба варианти -r 128).

Тайёр кардани матн

Агар шумо хоҳед, ки маводи воқеан олӣ эҷод кунед, суханронии шумо бояд аввал навишта шавад. Ман инчунин фикр мекардам, ки матнро бе тайёрӣ гуфта метавонам, хусусан азбаски дар лексия таҷрибаи хуб дорам. Аммо иҷрои зинда як чиз аст, ва сабти видео чизи дигар. Танбал нашавед - вақти барои чоп кардан сарфшуда чанд маротиба фоида меорад.

Видео лексияҳо: роҳи unix

Ин аст формати сабти ман. Рақам дар сарлавҳа ба рақами слайд баробар аст, танаффусҳо бо ранги сурх қайд карда мешаванд. Ҳар як муҳаррир барои омодагӣ мувофиқ аст, аммо беҳтар аст, ки протсессори матнии комилро гиред - масалан, OnlyOffice.

Овоз аз болои слайдҳо

Ман чӣ гуфта метавонам - микрофонро фаъол созед ва нависед :)

Таҷриба нишон медиҳад, ки сифати сабт ҳатто аз арзонтарин микрофони беруна нисбат ба микрофони дарунсохтаи ноутбук беҳамто аст. Агар шумо таҷҳизоти сифат дошта бошед, ман онро тавсия медиҳам Ин мақола.

Барои сабт ман истифода кардам сабткунанда - як барномаи хеле содда барои сабти овоз. Шумо метавонед онро, масалан, дар ин ҷо гиред:

sudo add-apt-repository ppa:audio-recorder/ppa
sudo apt-get update
sudo apt-get install audio-recorder

Чизи асосӣ дар ин қадам дуруст номи файлҳо мебошад. Ном бояд аз рақами слайд ва рақами фрагмент иборат бошад. Фрагментҳо бо рақамҳои тоқ рақамгузорӣ карда мешаванд - 1, 3, 5 ва ғайра. Ҳамин тавр, барои слайде, ки матни он дар расм нишон дода шудааст, ду файл сохта мешавад: 002-1.mp3 и 002-3.mp3.

Агар шумо ҳама видеоҳоро якбора дар як ҳуҷраи ором сабт карда бошед, ба шумо лозим нест, ки бо онҳо коре кунед. Агар шумо дар якчанд марҳила сабт карда бошед, беҳтар аст, ки сатҳи овозро баробар кунед:

mp3gain -r *.mp3

Хидматрасониҳо mp3gain Бо баъзе сабабҳо он дар анборҳои стандартӣ нест, аммо шумо метавонед онро дар ин ҷо дастрас кунед:

sudo add-apt-repository ppa:flexiondotorg/audio
sudo apt-get update
sudo apt-get install mp3gain

Пас аз ҳамаи ин, шумо бояд файли дигарро бо хомӯшӣ сабт кунед. Ба видеоҳои бесадо як треки садо илова кардан лозим аст: агар як видео треки садо дошта бошаду дар видеои дигар не, пас часпак кардани ин наворҳо мушкил аст. Хомӯширо аз микрофон сабт кардан мумкин аст, аммо беҳтар аст дар муҳаррир файл эҷод кунед Audacity. Дарозии файл бояд на камтар аз як сония бошад (бештар имконпазир аст) ва он бояд номгузорӣ шавад сукут.mp3

Тайёр кардани видеоҳои халалдор

Дар ин ҷо ҳама чиз танҳо бо тасаввуроти шумо маҳдуд аст. Шумо метавонед муҳаррири видеоҳоро таҳрир кунед Avidemux. Як вақтҳо он дар анборҳои стандартӣ буд, аммо баъд бо ягон сабаб онро буриданд. Ин моро бозмедорад:

sudo add-apt-repository ppa:ubuntuhandbook1/avidemux
sudo apt-get update
sudo apt-get install avidemux2.7-qt5

Дар Интернет дастурҳои зиёде барои кор бо ин муҳаррир мавҷуданд ва дар асл, ҳама чиз интуитивист. Риояи якчанд шартҳо муҳим аст.

Аввалан, ҳалли видео бояд ба ҳалли ҳадафи видео мувофиқат кунад. Барои ин ба шумо лозим аст, ки дар "видео баромад" ду филтрро истифода баред: swsResize барои тағир додани қарор ва "илова кардани майдонҳо" барои табдил додани филми "формати танг"-и шӯравӣ ба формати васеъ. Ҳама филтрҳои дигар ихтиёрӣ мебошанд. Масалан, агар касе нафаҳмад, ки чаро изҳороти ҷаноби Шариков дар порчаи мавриди баррасӣ қарор дорад, бо истифода аз филтри "логотип илова кунед", шумо метавонед логотипи PostgreSQL-ро дар болои "Дили саг" ҷойгир кунед.

Дуюм, ҳама порчаҳо бояд суръати чаҳорчӯбаи якхеларо истифода баранд. Ман дар як сония 25 кадрро истифода мебарам, зеро камераам ва филмҳои кӯҳнаи шӯравӣ ба ман ин қадар зиёд медиҳанд. Агар филме, ки шумо аз он бурида истодаед, бо суръати дигар сабт шуда бошад, филтри Resample Video -ро истифода баред.

Сеюм, ҳама порчаҳо бояд бо як кодек фишурда шаванд ва дар як контейнер баста шаванд. Бинобар ин дар Avidemux барои формат, видеоро интихоб кунед - "MPEG4 AVC (x264)", аудио - "AAC (FAAC)", формати баромад - "MP4 Муксер".

Чорум, муҳим аст, ки видеоҳои буридашударо дуруст номгузорӣ кунед. Номи файл бояд аз рақами слайд ва рақами фрагмент иборат бошад. Фрагментҳо бо рақамҳои ҷуфт аз 2 сар карда рақамгузорӣ карда мешаванд. Ҳамин тариқ, барои чаҳорчӯбаи муҳокимашуда видео бо қатъшавӣ бояд номида шавад. 002-2.mp4

Пас аз омода шудани видео, шумо бояд онҳоро ба феҳрист бо порчаҳо интиқол диҳед. Танзимотҳо Садо Ояндасоз аз танзимот фарқ мекунад ffmpeg ба таври нобаёнӣ бо параметрҳои пурасрор tbr, tbn, tbc. Онҳо ба бозӣ таъсир намерасонанд, аммо намегузоранд, ки видеоҳо ба ҳам часпонида шаванд. Пас биёед дубора рамзгузорӣ кунем:

for f in ???-?.mp4;
do
  ffmpeg -hide_banner -y -i "${f}" -c copy -r 25 -video_track_timescale 12800 ../clips/$f
done

Скринсайверҳои тирандозӣ

Дар ин ҷо ҳам ҳама чиз оддӣ аст: шумо дар пасманзари як нақшаи оқилона акс мекашед, видеоҳои бадастомадаро дар каталог ҷойгир кунед бозгашт, ва аз он ҷо онро ба директория бо фрагментҳо интиқол диҳед. Қоидаҳои номгузорӣ бо нохунакҳои қатъкунӣ яксонанд, фармони рамзгузорӣ чунин аст:

ffmpeg -y -i source_file -r 25 -vcodec libx264 -pix_fmt yuv420p -profile:v high -coder 1 -s 1280x720 -ar 44100 -ac 2 ../clips/xxx-x.mp4

Агар шумо ният доред, ки видеоро бо нутқи худ оғоз кунед, ин порчаро номбар кунед 000-1.mp4

Аз расмҳои статикӣ сохтани чаҳорчӯба

Вақти он расидааст, ки видеоҳоро аз тасвирҳои статикӣ ва садо таҳрир кунед. Ин бо скрипти зерин анҷом дода мешавад:

#!/bin/bash

for sound in sound/*.mp3
do
  soundfile=${sound##*/}
  chunk=${soundfile%%.mp3}
  clip=${chunk}.mp4
  pic=slide/${chunk%%-?}.png

  duration=$(soxi -D ${sound} 2>/dev/null)
  echo ${sound} ${pic} ${clip} " - " ${duration}

  ffmpeg -hide_banner -y -loop 1 -i ${pic} -i ${sound} -r 25 -vcodec libx264 -tune stillimage -pix_fmt yuv420p -profile:v high -coder 1 -t ${duration} clips/${clip}
done

Лутфан таваҷҷӯҳ намоед, ки давомнокии файли аудиоӣ аввал аз ҷониби утилит муайян карда мешавад сокси, ва он гоҳ видеои дарозии зарурӣ таҳрир карда мешавад. Ҳама тавсияҳое, ки ман ёфтам, соддатаранд: ба ҷои парчам -t ${давом} байрак истифода мешавад -кӯтоҳтарин... Дар асл ffmpeg дарозии mp3-ро хеле тахминан муайян мекунад ва ҳангоми таҳрир дарозии треки аудио метавонад аз дарозии треки видео хеле фарқ кунад (як ё ду сония). Ин муҳим нест, ки тамоми видео аз як чаҳорчӯбаи ягона иборат бошад, аммо вақте ки шумо чунин видеоро бо таваққуф дар сарҳад часпонед, эффектҳои бениҳоят ногувор кандашавӣ ба амал меоянд.

Роҳи дигари муайян кардани давомнокии файли mp3 ин истифода аст mp3info. Вай низ хато мекунад ва баъзан ffmpeg бештар аз он медихад mp3info, баъзан баръакс, баъзан ҳарду дурӯғ мегӯянд - ман ягон намунаро мушоҳида накардаам. Ва дар ин ҷо сокси дуруст кор мекунад.

Барои насб кардани ин утилитаи муфид, ин корро кунед:

sudo apt-get install sox libsox-fmt-mp3

Гузаронидани гузариш байни слайдҳо

Гузариш як видеои кӯтоҳест, ки дар он як слайд ба слайди дигар табдил меёбад. Барои сохтани чунин видеоҳо, мо слайдҳоро ҷуфт карда, истифода мебарем тасвир якеро ба дигаре табдил диҳед:

#!/bin/bash

BUFFER=$(mktemp -d)

for pic in slide/*.png
do
  if [[ ${prevpic} != "" ]]
  then
    clip=${pic##*/}
    clip=${clip/.png/-0.mp4}
    #
    # генерируем картинки
    #
    ./fade.pl ${prevpic} ${BUFFER} 1280 720 5 direct 0
    ./fade.pl ${pic} ${BUFFER} 1280 720 5 reverse 12
    #
    # закончили генерировать картинки
    #
    ffmpeg -y -hide_banner -i "${BUFFER}/%03d.png" -i sound/silence.mp3 -r 25 -y -acodec aac -vcodec libx264 -pix_fmt yuv420p -profile:v high -coder 1 -shortest clips/${clip}
    rm -f ${BUFFER}/*
  fi
  prevpic=${pic}
done

rmdir ${BUFFER}

Аз кадом сабаб ман мехостам, ки слайд бо нуқтаҳо пароканда шавад ва сипас слайди навбатӣ аз нуқтаҳо ҷамъ карда шавад ва барои ин ман скрипт навиштам fade.pl Доштан тасвир, корбари воқеии Linux ягон эффекти махсус эҷод мекунад, аммо агар касе идеяи ман бо пароканда карданро дӯст дорад, ин аст скрипт:

#!/usr/bin/perl

use strict;
use warnings;
use locale;
use utf8;
use open qw(:std :utf8);
use Encode qw(decode);
use I18N::Langinfo qw(langinfo CODESET);

my $codeset = langinfo(CODESET);
@ARGV = map { decode $codeset, $_ } @ARGV;

my ($source, $target, $width, $height, $pixsize, $rev, $file_no) = @ARGV;

my @rects;
$rects[$_] = "0123456789AB" for 0..$width*$height/$pixsize/$pixsize/12 - 1;

for my $i (0..11) {
  substr($_,int(rand(12-$i)),1) = "" for (@rects);
  my $s = $source;
  $s =~ s#^.*/##;
  open(PICTURE,"| convert - -transparent white PNG:- | convert "$source" - -composite "$target/".substr("00".($file_no+$i),-3).".png"");
  printf PICTURE ("P3n%d %dn255n",$width,$height);
  for my $row (1..$height/$pixsize/3) {
    for my $j (0..2) {
      my $l = "";
      for my $col (1..$width/$pixsize/4) {
        for my $k (0..3) {
          $l .= (index($rects[($row-1)*$width/$pixsize/4+$col-1],sprintf("%1X",$j*4+$k))==-1 xor $rev eq "reverse") ? "0 0 0n" : "255 255 255n" for (1..$pixsize);
        }
      }
      print PICTURE ($l) for (1..$pixsize);
    }
  }
  close(PICTURE);
}

Мо видеои тайёрро насб мекунем

Ҳоло мо ҳама порчаҳоро дорем. Ба каталог равед видеоӣ ва филми тайёрро бо ду фармон ҷамъ кунед:

ls -1 ???-?.mp4 | gawk -e '{print "file " $0}' >list.txt
ffmpeg -y -hide_banner -f concat -i list.txt -c copy MOVIE.mp4

Аз тамошои донишҷӯёни миннатдори худ лаззат баред!

Манбаъ: will.com

Илова Эзоҳ