Karantiin on suurepärane aeg millegi õppimiseks. Kuid nagu aru saate, selleks, et keegi saaks midagi õppida, peab keegi õpetama. Kui teil on esitlus, mida soovite esitada miljonilisele vaatajaskonnale ja koguda ülemaailmset kuulsust, siis see artikkel on teie jaoks. Siit leiate samm-sammult juhised, kuidas oma esitlusest videot teha.
Peame PowerPointis "helikommentaaride" salvestamise ja esitluse videoks eksportimise teest tühiseks ja ei paku kümnendikku tõeliselt laheda video jaoks vajalikest võimalustest.
Kõigepealt otsustame, milliseid raame vajame:
- Tegelikud slaidid koos kõnega
- slaidivahetus
- Tsitaadid populaarsetest filmidest
- Mitu kaadrit õppejõu näo ja tema lemmikkassiga (valikuline)
Kataloogistruktuuri loomine
.
├── clipart
├── clips
├── rec
├── slide
└── sound
Kataloogide eesmärk loetlemise järjekorras: filmid, millest tõmbame tsitaate (lõik), meie tulevase video fragmendid (klipid), videod kaamerast (rec), slaidid piltide kujul (slaid), heli (heli).
Piltidena esitluse tegemine
Tõelisele punasilmsele Linuxi kasutajale ei valmista piltidena esitluse tegemine probleeme. Tuletan teile meelde, et pdf-vormingus dokumenti saab käsu abil piltideks sõeluda
pdftocairo -png -r 128 ../lecture.pdf
Kui sellist käsku pole, installige pakett ise poppler-utils (Ubuntu juhised; kui teil on Arch, siis teate suurepäraselt, mida ilma minuta teha).
Siin ja edasi usun, et video on koostatud HD Ready formaadis ehk 1280x720. Esitlus, mille horisontaalne suurus on 10 tolli, annab mahalaadimisel täpselt selle suuruse (vt suvandit -r 128).
Teksti ettevalmistamine
Kui soovite teha tõeliselt suurepärast materjali, tuleb kõigepealt oma kõne kirjutada. Arvasin ka, et võin teksti rääkida ilma ettevalmistuseta, seda enam, et mul on hea loengukogemus. Üks asi on aga otseesinemine ja teine asi video salvestamine. Ärge olge laisk – tippimisele kulunud aeg tasub end mitmekordselt ära.
Siin on minu salvestusformaat. Pealkirjas olev number võrdub slaidi numbriga, katkestused on punasega esile tõstetud. Ettevalmistamiseks sobib iga redaktor, kuid parem on võtta täisväärtuslik tekstitöötlusprogramm - näiteks AinultOffice.
Hääl üle slaidide
Mis ma oskan öelda - lülita mikrofon sisse ja kirjuta :)
Kogemus näitab, et salvestuskvaliteet ka kõige odavamast välismikrofonist on võrreldamatult parem kui sülearvuti sisseehitatud mikrofonil. Kui soovid kvaliteetset varustust, siis soovitan
Salvestamiseks kasutasin helisalvesti - väga lihtne rakendus heli salvestamiseks. Saate selle võtta näiteks siit:
sudo add-apt-repository ppa:audio-recorder/ppa
sudo apt-get update
sudo apt-get install audio-recorder
Peamine asi selles etapis on failidele õige nime andmine. Nimi peab koosnema slaidi numbrist ja fragmendi numbrist. Fragmendid on nummerdatud paaritute numbritega - 1, 3, 5 jne. Seega luuakse slaidi jaoks, mille tekst on pildil, kaks faili: 002–1.mp3 и 002–3.mp3.
Kui salvestasite kõik videod korraga vaikses ruumis, ei pea te nendega midagi enam tegema. Kui salvestasite mitme sammuna, on parem helitugevus võrdsustada:
mp3gain -r *.mp3
Utiliidid mp3 võimendus Mingil põhjusel pole see tavalistes hoidlates, kuid saate selle siit:
sudo add-apt-repository ppa:flexiondotorg/audio
sudo apt-get update
sudo apt-get install mp3gain
Pärast kõike seda peate salvestama veel ühe faili vaikides. Vaiksetele videotele on vaja lisada heliriba: kui ühel videol on heliriba ja teisel mitte, siis on neid videoid keeruline kokku liimida. Vaikust saab salvestada mikrofonist, kuid parem on luua fail redaktoris hulljulgus. Faili pikkus peaks olema vähemalt sekund (võimalik on ka rohkem) ja sellele tuleks anda nimi vaikus.mp3
Katkestuste videote ettevalmistamine
Siin piirab kõike ainult teie kujutlusvõime. Videote redigeerimiseks saate kasutada redaktorit Avidemux. Kunagi oli see standardhoidlates, aga siis miskipärast lõigati välja. See ei peata meid:
sudo add-apt-repository ppa:ubuntuhandbook1/avidemux
sudo apt-get update
sudo apt-get install avidemux2.7-qt5
Internetis on selle redaktoriga töötamiseks palju juhiseid ja põhimõtteliselt on kõik intuitiivne. Oluline on täita mitu tingimust.
Esiteks peab video eraldusvõime vastama sihtvideo eraldusvõimele. Selleks tuleb “väljundvideos” kasutada kahte filtrit: swsResize eraldusvõime muutmiseks ja “väljade lisamine”, et muuta nõukogude “kitsaformaadiline” film laiformaadiks. Kõik muud filtrid on valikulised. Näiteks kui keegi ei saa aru, miks härra Šarikovi avaldus on arutlusel olevas fragmendis, saate filtri "lisa logo" kasutades asetada PostgreSQL-i logo "Koera südame" peale.
Teiseks peavad kõik fragmendid kasutama sama kaadrisagedust. Ma kasutan 25 kaadrit sekundis, sest mu kaamera ja vanad nõukogude filmid annavad mulle nii palju. Kui filmi, millest lõikate, tehti teistsuguse kiirusega, kasutage filtrit Resample Video.
Kolmandaks, kõik fragmendid tuleb tihendada sama koodekiga ja pakendada samadesse konteineritesse. Seetõttu sisse Avidemux vormingu jaoks valige video – "MPEG4 AVC (x264)", heli - "AAC (FAAC)", väljundvorming - "MP4 mukser'.
Neljandaks on oluline lõigatud videod õigesti nimetada. Faili nimi peab koosnema slaidi numbrist ja fragmendi numbrist. Fragmendid nummerdatakse paarisnumbritega, alustades 2-st. Seega tuleks arutluse all oleva kaadri puhul katkestusega video nimetada 002–2.mp4
Kui videod on valmis, peate need koos fragmentidega kataloogi üle kandma. Seaded avidemux seadetest erinevad ffmpeg vaikimisi salapäraste parameetritega tbr, tbn, tbc. Need ei mõjuta taasesitust, kuid ei võimalda videoid kokku liimida. Nii et kodeerime uuesti:
for f in ???-?.mp4;
do
ffmpeg -hide_banner -y -i "${f}" -c copy -r 25 -video_track_timescale 12800 ../clips/$f
done
Ekraanisäästjate pildistamine
Ka siin on kõik lihtne: pildistate mõne nutika skeemi taustal, pange saadud videod kataloogi rec, ja sealt koos fragmentidega kataloogi üle kanda. Nimetamisreeglid on samad, mis katkestusjutumärkide puhul, ümberkodeerimise käsk on järgmine:
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
Kui kavatsete videot oma kõnega alustada, andke sellele fragmendile nimi 000–1.mp4
Staatilistest piltidest raamide valmistamine
On aeg redigeerida videoid staatilisest pildist ja helist. Seda tehakse järgmise skriptiga:
#!/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
Pange tähele, et helifaili kestuse määrab kõigepealt utiliit soxija seejärel töödeldakse vajaliku pikkusega videot. Kõik minu leitud soovitused on lihtsamad: lipu asemel -t ${duration} lippu kasutatakse - kõige lühem... Tegelikult ffmpeg määrab mp3 pikkuse väga ligikaudselt ja monteerimise ajal võib heliraja pikkus oluliselt erineda (ühe või kahe sekundi võrra) videoraja pikkusest. See ei oma tähtsust, kui kogu video koosneb ühest kaadrist, kuid kui liimida selline video katkestustega piirile, tekivad äärmiselt ebameeldivad kogelevad efektid.
Teine viis mp3-faili kestuse määramiseks on kasutada mp3 info. Ta teeb ka vigu ja mõnikord ffmpeg annab rohkem kui mp3 info, vahel on vastupidi, vahel valetavad mõlemad – ma ei märganud ühtegi mustrit. Ja siin soxi töötab korrektselt.
Selle kasuliku utiliidi installimiseks tehke järgmist.
sudo apt-get install sox libsox-fmt-mp3
Slaidide vahel üleminekute tegemine
Üleminek on lühike video, milles üks slaid muutub teiseks. Selliste videote tegemiseks võtame slaidid paarikaupa ja kasutades imagemagick muuda üks teiseks:
#!/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}
Millegipärast tahtsin, et slaid oleks täppidega laiali ja siis saaks punktidest järgmine slaid kokku pandud ja selleks kirjutasin skripti nn. fade.pl Võttes imagemagick, loob tõeline Linuxi kasutaja mis tahes eriefekti, aga kui kellelegi minu idee hajutamise osas meeldib, siis siin on skript:
#!/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);
}
Paigaldame valmis video
Nüüd on meil kõik killud. Minge kataloogi klambrid ja pane valmis kile kokku, kasutades kahte käsku:
ls -1 ???-?.mp4 | gawk -e '{print "file " $0}' >list.txt
ffmpeg -y -hide_banner -f concat -i list.txt -c copy MOVIE.mp4
Nautige vaatamist oma tänulikele õpilastele!
Allikas: www.habr.com