Video leksione: unix way

Video leksione: unix way
Karantina është një kohë e mrekullueshme për të mësuar diçka. Megjithatë, siç e kuptoni, që dikush të mësojë diçka, dikush duhet të mësojë. Nëse keni një prezantim që dëshironi t'ia bëni një auditori prej miliona dhe të fitoni famë në mbarë botën, atëherë ky artikull është për ju. Këtu do të gjeni udhëzime hap pas hapi se si të bëni një video nga prezantimi juaj.

Ne hedhim poshtë rrugën e regjistrimit të "komenteve audio" në PowerPoint dhe eksportimit të prezantimit në video si të parëndësishme dhe duke mos siguruar një të dhjetën e aftësive të nevojshme për një video vërtet të lezetshme.

Së pari, le të vendosim se cilat korniza na duhen:

  1. Sllajdet aktuale me zë
  2. Ndryshimi i sllajdeve
  3. Citate nga filmat e njohur
  4. Disa korniza me fytyrën e pedagogut dhe macen e tij të preferuar (opsionale)

Krijimi i një strukture drejtorie

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

Qëllimi i drejtorive në rendin e renditjes: filma nga të cilët do të nxjerrim citate (klipe), fragmente të videos sonë të ardhshme (klipe), video nga kamera (rec), rrëshqitje në formën e fotografive (rrëshqitje), tinguj (tingull).

Bërja e një prezantimi në foto

Për një përdorues të vërtetë Linux me sy të kuq, bërja e një prezantimi në formën e fotografive nuk paraqet ndonjë problem. Më lejoni t'ju kujtoj vetëm se një dokument në formatin pdf mund të analizohet në imazhe duke përdorur komandën

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

Nëse nuk ka një komandë të tillë, instaloni vetë paketën poppler-vegla (udhëzime për Ubuntu; nëse keni Arch, atëherë e dini shumë mirë se çfarë të bëni pa mua).

Në vijim, besoj se videoja është përgatitur në formatin HD Ready, pra 1280x720. Një prezantim me një dimension horizontal prej 10 inç prodhon pikërisht atë madhësi kur shkarkohet (shih opsionin -r 128).

Përgatitja e tekstit

Nëse doni të krijoni materiale vërtet të shkëlqyera, fjalimi juaj duhet të shkruhet së pari. Mendova gjithashtu se tekstin mund ta flas pa përgatitje, aq më tepër që kam përvojë të mirë në ligjërata. Por është një gjë të performosh live dhe tjetër gjë të regjistrosh një video. Mos u bëni dembel - koha e kaluar për të shkruar do të shpërblehet shumë herë.

Video leksione: unix way

Këtu është formati im i regjistrimit. Numri në titull është i barabartë me numrin e rrëshqitjes, ndërprerjet janë të theksuara me të kuqe. Çdo redaktues është i përshtatshëm për përgatitje, por është më mirë të marrësh një përpunues teksti të plotë - për shembull, OnlyOffice.

Zëri mbi sllajde

Çfarë mund të them - ndez mikrofonin dhe shkruaj :)

Përvoja tregon se cilësia e regjistrimit edhe nga mikrofoni i jashtëm më i lirë është pakrahasueshëm më i mirë sesa nga mikrofoni i integruar i një laptopi. Nëse dëshironi pajisje cilësore, ju rekomandoj Ky artikull.

Për regjistrim kam përdorur Regjistrues audio – një aplikacion shumë i thjeshtë për regjistrimin e zërit. Mund ta merrni, për shembull, këtu:

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

Gjëja kryesore në këtë hap është emërtimi i saktë i skedarëve. Emri duhet të përbëhet nga numri i rrëshqitjes dhe numri i fragmentit. Fragmentet numërohen me numra tek - 1, 3, 5, etj. Pra, për rrëshqitjen, teksti i të cilit është paraqitur në figurë, do të krijohen dy skedarë: 002-1.mp3 и 002-3.mp3.

Nëse i keni regjistruar të gjitha videot menjëherë në një dhomë të qetë, nuk keni pse të bëni asgjë më tej me to. Nëse keni regjistruar në disa hapa, është më mirë të barazoni nivelin e volumit:

mp3gain -r *.mp3

Shërbime komunale mp3 fitim Për disa arsye nuk është në magazinat standarde, por mund ta merrni këtu:

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

Pas gjithë kësaj, ju duhet të regjistroni një skedar tjetër me heshtje. Është e nevojshme të shtoni një pjesë zanore në videot e heshtura: nëse njëra video ka një pjesë zanore dhe tjetra jo, atëherë është e vështirë t'i ngjitni këto video së bashku. Heshtja mund të regjistrohet nga një mikrofon, por është më mirë të krijoni një skedar në redaktues Guxim. Gjatësia e skedarit duhet të jetë së paku një sekondë (është e mundur më shumë), dhe duhet të emërtohet heshtje.mp3

Përgatitja e videove me ndërprerje

Këtu gjithçka kufizohet vetëm nga imagjinata juaj. Ju mund të përdorni një redaktues për të redaktuar videot Avidemux. Një herë e një kohë ishte në depot standarde, por më pas për disa arsye u pre. Kjo nuk do të na ndalojë:

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

Ka shumë udhëzime për të punuar me këtë redaktues në internet, dhe në parim, gjithçka është intuitive. Është e rëndësishme të plotësohen disa kushte.

Së pari, rezolucioni i videos duhet të përputhet me rezolucionin e synuar të videos. Për ta bërë këtë, duhet të përdorni dy filtra në "videon dalëse": swsResize për të ndryshuar rezolucionin dhe "shtimi i fushave" për të kthyer një film "format të ngushtë" sovjetik në një format të gjerë. Të gjithë filtrat e tjerë janë opsionalë. Për shembull, nëse dikush nuk e kupton pse deklarata e z.

Së dyti, të gjithë fragmentet duhet të përdorin të njëjtën shpejtësi kuadri. Unë përdor 25 korniza në sekondë sepse kamera ime dhe filmat e vjetër sovjetikë më japin kaq shumë. Nëse filmi nga i cili po preni është xhiruar me një shpejtësi të ndryshme, përdorni filtrin e Risample Video.

Së treti, të gjitha fragmentet duhet të kompresohen me të njëjtin kodek dhe të paketohen në të njëjtat kontejnerë. Prandaj në Avidemux për formatin, zgjidhni videon - "MPEG4 AVC (x264)", audio - "AAC (FAAC)", formati i daljes - "MP4 Muxer'.

Së katërti, është e rëndësishme të emërtoni saktë videot e prera. Emri i skedarit duhet të përbëhet nga numri i rrëshqitjes dhe numri i fragmentit. Fragmentet numërohen me numra çift, duke filluar nga 2. Kështu, për kornizën në diskutim duhet të quhet videoja me ndërprerje. 002-2.mp4

Pasi videot të jenë gati, duhet t'i transferoni në drejtori me fragmente. Cilësimet avidemux ndryshojnë nga cilësimet ffmpeg si parazgjedhje me parametra misterioz tbr, tbn, tbc. Ato nuk ndikojnë në riprodhimin, por nuk lejojnë që videot të ngjiten së bashku. Pra, le të rikodojmë:

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

Xhirimi i mbrojtësve të ekranit

Këtu, gjithashtu, gjithçka është e thjeshtë: ju xhironi në sfondin e një skeme të zgjuar, vendosni videot që rezultojnë në një katalog rec, dhe prej andej transferojeni në drejtorinë me fragmente. Rregullat e emërtimit janë të njëjta si për kuotat e ndërprerjeve, komanda e rikodimit është si më poshtë:

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

Nëse planifikoni ta filloni videon me fjalimin tuaj, emërtojeni këtë fragment 000-1.mp4

Krijimi i kornizave nga fotografi statike

Është koha për të redaktuar video nga imazhet dhe zërat statike. Kjo bëhet me skriptin e mëposhtëm:

#!/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

Ju lutemi vini re se kohëzgjatja e skedarit audio fillimisht përcaktohet nga programi soxi, dhe më pas modifikohet videoja e gjatësisë së kërkuar. Të gjitha rekomandimet që gjeta janë më të thjeshta: në vend të një flamuri -t ${kohëzgjatja} përdoret flamuri - më e shkurtra... Në fakt ffmpeg Përcakton gjatësinë e MP3 shumë përafërsisht, dhe gjatë redaktimit, gjatësia e pista audio mund të ndryshojë shumë (nga një ose dy sekonda) nga gjatësia e gjurmës së videos. Kjo nuk ka rëndësi nëse e gjithë videoja përbëhet nga një kornizë e vetme, por kur ngjiteni një video të tillë me ndërprerje në kufi, ndodhin efekte jashtëzakonisht të pakëndshme të belbëzimit.

Një mënyrë tjetër për të përcaktuar kohëzgjatjen e një skedari mp3 është përdorimi mp3info. Ajo gjithashtu bën gabime, dhe ndonjëherë ffmpeg jep më shumë se mp3info, ndonjëherë është anasjelltas, ndonjëherë ata të dy gënjejnë - nuk vura re asnjë model. Dhe këtu soxi punon si duhet.

Për të instaluar këtë mjet të dobishëm, bëni këtë:

sudo apt-get install sox libsox-fmt-mp3

Bërja e kalimeve midis rrëshqitjeve

Një tranzicion është një video e shkurtër në të cilën një rrëshqitje kthehet në një tjetër. Për të bërë video të tilla, ne marrim rrëshqitje në çifte dhe duke përdorur ImageMagick shndërroni njërën në tjetrën:

#!/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}

Për disa arsye doja që rrëshqitja të shpërndahej me pika, dhe më pas rrëshqitja tjetër do të mblidhej nga pikat, dhe për këtë shkrova një skenar të quajtur zbehet.pl Duke pasur ImageMagick, një përdorues i vërtetë i Linux do të krijojë ndonjë efekt të veçantë, por nëse dikush e pëlqen idenë time me shpërndarjen, këtu është skenari:

#!/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);
}

Ne montojmë videon e përfunduar

Tani kemi të gjitha fragmentet. Shkoni te katalogu klipe dhe montoni filmin e përfunduar duke përdorur dy komanda:

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

Shijojeni mirë nxënësit tuaj mirënjohës!

Burimi: www.habr.com

Shto një koment