Karantinas – puikus metas ko nors išmokti. Tačiau, kaip supranti, kad kažkas ko nors išmoktų, kažkas turi ir mokyti. Jei turite pristatymą, kurį norite pristatyti milijoninei auditorijai ir pelnyti pasaulinę šlovę, šis straipsnis skirtas jums. Čia rasite nuoseklias instrukcijas, kaip sukurti vaizdo įrašą iš pristatymo.
„Garso komentarų“ įrašymo „PowerPoint“ ir pristatymo eksportavimo į vaizdo įrašą būdą atmetame kaip nereikšmingą ir nesuteikiame dešimtadalio galimybių, reikalingų tikrai šauniam vaizdo įrašui.
Pirmiausia nuspręskime, kokių rėmelių mums reikia:
- Tikrosios skaidrės su balsu
- Skaidrių keitimas
- Citatos iš populiarių filmų
- Keli kadrai su dėstytojo veidu ir jo mėgstama kate (nebūtina)
Katalogų struktūros kūrimas
.
├── clipart
├── clips
├── rec
├── slide
└── sound
Katalogų paskirtis sąrašo tvarka: filmai, iš kurių trauksime citatas (iškarpas), mūsų būsimo vaizdo įrašo fragmentai (klipai), vaizdo įrašai iš fotoaparato (rec), skaidrės paveikslėlių pavidalu (skaidrių), garsas (garsas).
Pristatymo kūrimas paveikslėliuose
Tikram raudonų akių „Linux“ vartotojui pristatymo kūrimas paveikslėlių pavidalu nesukelia jokių problemų. Leiskite tik priminti, kad pdf formato dokumentą galima išanalizuoti į vaizdus naudojant komandą
pdftocairo -png -r 128 ../lecture.pdf
Jei tokios komandos nėra, įdiekite paketą patys popleris-utils (instrukcijos Ubuntu; jei turite Arch, tada puikiai žinote, ką daryti be manęs).
Čia ir toliau manau, kad vaizdo įrašas paruoštas HD Ready formatu, t.y 1280x720. Pristatymas, kurio horizontalus dydis yra 10 colių, suteikia būtent tokį dydį iškraunant (žr. parinktį -r 128).
Teksto ruošimas
Jei norite sukurti tikrai puikią medžiagą, pirmiausia turite parašyti savo kalbą. Taip pat pagalvojau, kad tekstą galiu kalbėti ir be pasiruošimo, juolab, kad turiu gerą paskaitų skaitymo patirtį. Tačiau vienas dalykas yra koncertuoti gyvai, o kitas – įrašyti vaizdo įrašą. Nepatingėkite – laikas, praleistas spausdinant, atsipirks daug kartų.
Štai mano įrašymo formatas. Skaičius pavadinime lygus skaidrės numeriui, pertraukos paryškintos raudonai. Pasiruošimui tinka bet koks redaktorius, tačiau geriau pasiimti visavertę tekstų rengyklę - pavyzdžiui, OnlyOffice.
Balsas per skaidres
Ką aš galiu pasakyti - įsijunk mikrofoną ir rašyk :)
Patirtis rodo, kad net iš pigiausio išorinio mikrofono įrašymo kokybė yra nepalyginamai geresnė nei iš nešiojamojo kompiuterio įmontuoto mikrofono. Jei norite kokybiškos įrangos, rekomenduoju
Įrašymui naudojau garso įrašymo įrenginys – labai paprasta garso įrašymo programa. Galite pasiimti, pavyzdžiui, čia:
sudo add-apt-repository ppa:audio-recorder/ppa
sudo apt-get update
sudo apt-get install audio-recorder
Pagrindinis dalykas šiame žingsnyje yra teisingai pavadinti failus. Pavadinimą turi sudaryti skaidrės numeris ir fragmento numeris. Fragmentai sunumeruoti nelyginiais skaičiais - 1, 3, 5 ir tt Taigi skaidrei, kurios tekstas parodytas paveikslėlyje, bus sukurti du failai: 002-1.mp3 и 002-3.mp3.
Jei visus vaizdo įrašus įrašėte vienu metu ramioje patalpoje, jums nereikės nieko daugiau daryti su jais. Jei įrašėte keliais etapais, geriau išlyginti garsumo lygį:
mp3gain -r *.mp3
Komunalinės paslaugos „mp3gain“ Dėl tam tikrų priežasčių jo nėra standartinėse saugyklose, bet galite jį gauti čia:
sudo add-apt-repository ppa:flexiondotorg/audio
sudo apt-get update
sudo apt-get install mp3gain
Po viso šito reikia įrašyti kitą failą su tyla. Prie begarsių vaizdo įrašų būtina pridėti garso takelį: jei vienas vaizdo įrašas turi garso takelį, o kitas neturi, tuomet sunku šiuos vaizdo įrašus suklijuoti. Tylą galima įrašyti iš mikrofono, tačiau geriau susikurti failą redaktoriuje įžūlumas. Failo ilgis turi būti bent sekundė (galima ir daugiau), ir jis turi būti pavadintas tyla.mp3
Ruošiami pertraukimo vaizdo įrašai
Čia viską riboja tik jūsų vaizduotė. Vaizdo įrašams redaguoti galite naudoti redaktorių Avidemux. Kažkada jis buvo standartinėse saugyklose, bet tada kažkodėl buvo iškirptas. Tai mūsų nesustabdys:
sudo add-apt-repository ppa:ubuntuhandbook1/avidemux
sudo apt-get update
sudo apt-get install avidemux2.7-qt5
Internete yra daug instrukcijų, kaip dirbti su šiuo redaktoriumi, ir iš esmės viskas yra intuityvu. Svarbu laikytis kelių sąlygų.
Pirma, vaizdo įrašo skiriamoji geba turi atitikti tikslinę vaizdo įrašo skiriamąją gebą. Norėdami tai padaryti, „išvesties vaizdo įraše“ turite naudoti du filtrus: „swsResize“, kad pakeistumėte skiriamąją gebą, ir „pridėtų laukų“, kad sovietinis „siauro formato“ filmas būtų paverstas plačiu formatu. Visi kiti filtrai yra neprivalomi. Pavyzdžiui, jei kas nors nesupranta, kodėl pono Šarikovo teiginys yra aptariamame fragmente, naudodami filtrą „pridėti logotipą“, galite uždėti PostgreSQL logotipą ant „Šuns širdies“.
Antra, visi fragmentai turi naudoti tą patį kadrų dažnį. Naudoju 25 kadrus per sekundę, nes tiek man suteikia fotoaparatas ir senos sovietinės juostos. Jei filmas, iš kurio iškarpote, buvo nufilmuotas kitu greičiu, naudokite filtrą „Resample Video“.
Trečia, visi fragmentai turi būti suspausti tuo pačiu kodeku ir supakuoti į tuos pačius konteinerius. Todėl į Avidemux formatui pasirinkite vaizdo įrašą – "„MPEG4 AVC“ (x264)", garso įrašas - "AAC (FAAC)", išvesties formatas - "„MP4 Muxer“".
Ketvirta, svarbu teisingai pavadinti iškirptus vaizdo įrašus. Failo pavadinimą turi sudaryti skaidrės numeris ir fragmento numeris. Fragmentai numeruojami lyginiais skaičiais, pradedant nuo 2. Taigi aptariamam kadrui vaizdo įrašas su pertraukimu turėtų būti vadinamas 002-2.mp4
Kai vaizdo įrašai bus paruošti, turite perkelti juos į katalogą su fragmentais. Nustatymai avidemux skiriasi nuo nustatymų ffmpeg pagal numatytuosius nustatymus su paslaptingais parametrais tbr, tbn, tbc. Jie neturi įtakos atkūrimui, tačiau neleidžia klijuoti vaizdo įrašų. Taigi perkoduokime:
for f in ???-?.mp4;
do
ffmpeg -hide_banner -y -i "${f}" -c copy -r 25 -video_track_timescale 12800 ../clips/$f
done
Ekrano užsklandų fotografavimas
Čia taip pat viskas paprasta: fotografuojate kažkokios protingos schemos fone, įdedate gautus vaizdo įrašus į katalogą konst, o iš ten perkelkite į katalogą su fragmentais. Pavadinimo taisyklės yra tokios pačios kaip ir pertraukimo kabučių, perkodavimo komanda yra tokia:
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
Jei planuojate pradėti vaizdo įrašą savo kalba, pavadinkite šį fragmentą 000-1.mp4
Rėmelių kūrimas iš statinių paveikslėlių
Atėjo laikas redaguoti vaizdo įrašus iš statinių vaizdų ir garso. Tai daroma naudojant šį scenarijų:
#!/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
Atminkite, kad garso failo trukmę pirmiausia nustato programa soxi, o tada redaguojamas reikiamo ilgio vaizdo įrašas. Visos mano rastos rekomendacijos paprastesnės: vietoj vėliavėlės -t ${duration} naudojama vėliava - trumpiausias. Faktiškai ffmpeg labai apytiksliai nustato mp3 ilgį, o redaguojant garso takelio ilgis gali labai skirtis (viena ar dviem sekundėmis) nuo vaizdo takelio ilgio. Nesvarbu, ar visas vaizdo įrašas susideda iš vieno kadro, tačiau klijuojant tokį vaizdo įrašą su pertraukimais prie sienos, atsiranda itin nemalonūs mikčiojimo efektai.
Kitas būdas nustatyti mp3 failo trukmę yra naudoti mp3 informacija. Ji taip pat daro klaidų, o kartais ffmpeg duoda daugiau nei mp3 informacija, kartais būna atvirkščiai, kartais abu meluoja – nepastebėjau jokio modelio. Ir čia soxi veikia teisingai.
Norėdami įdiegti šią naudingą programą, atlikite šiuos veiksmus:
sudo apt-get install sox libsox-fmt-mp3
Perėjimų tarp skaidrių atlikimas
Perėjimas yra trumpas vaizdo įrašas, kuriame viena skaidrė virsta kita. Norėdami sukurti tokius vaizdo įrašus, skaidres imame poromis ir naudodami ImageMagic paversti vieną į kitą:
#!/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}
Kažkodėl norėjau, kad skaidrė būtų išbarstyta taškais, o tada iš taškų būtų surinkta kita skaidrė ir tam parašiau scenarijų pavadinimu išnyks.pl Turėdamas ImageMagic, tikras „Linux“ vartotojas sukurs bet kokį specialų efektą, bet jei kam patinka mano idėja su sklaida, štai toks scenarijus:
#!/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);
}
Mes montuojame gatavą vaizdo įrašą
Dabar turime visus fragmentus. Eikite į katalogą klipai ir surinkite gatavą plėvelę naudodami dvi komandas:
ls -1 ???-?.mp4 | gawk -e '{print "file " $0}' >list.txt
ffmpeg -y -hide_banner -f concat -i list.txt -c copy MOVIE.mp4
Mėgaukitės žiūrėdami į savo dėkingus mokinius!
Šaltinis: www.habr.com