Карантин - бір нәрсені үйренуге тамаша уақыт. Дегенмен, сіз түсінесіз, біреу бір нәрсені үйрену үшін, біреу үйрету керек. Егер сізде миллиондаған аудиторияға ұсынып, бүкіл әлемге танымал болғыңыз келетін презентацияңыз болса, онда бұл мақала сізге арналған. Мұнда сіз презентацияңыздан бейнені қалай жасауға болатыны туралы қадамдық нұсқауларды таба аласыз.
Біз PowerPoint бағдарламасында «аудио пікірлерді» жазу және презентацияны бейнеге экспорттау жолын тривиальды деп есептемейміз және шын мәнінде керемет бейнеге қажетті мүмкіндіктердің оннан бір бөлігін қамтамасыз етпейміз.
Алдымен бізге қандай жақтаулар қажет екенін шешейік:
- Дауыс беруі бар нақты слайдтар
- слайдты өзгерту
- Танымал фильмдерден үзінділер
- Лектордың беті мен оның сүйікті мысығы бар бірнеше кадр (міндетті емес)
Каталог құрылымын құру
.
├── clipart
├── clips
├── rec
├── slide
└── sound
Листинг тәртібі бойынша анықтамалықтардың мақсаты: біз тырнақшалар алатын фильмдер (клипарт), болашақ бейнеміздің фрагменттері (клиптер), камерадан алынған бейнелер (rec), сурет түріндегі слайдтар (слайд), дыбыс (дыбыс).
Суреттер бойынша презентация жасау
Шынайы қызыл көзді Linux пайдаланушысы үшін сурет түрінде презентация жасау ешқандай қиындық тудырмайды. Пәрмен арқылы pdf форматындағы құжатты кескіндерге талдауға болатынын еске сала кетейін
pdftocairo -png -r 128 ../lecture.pdf
Егер мұндай пәрмен болмаса, буманы өзіңіз орнатыңыз poppler-utils (Ubuntu үшін нұсқаулар; егер сізде Arch болса, менсіз не істеу керектігін жақсы білесіз).
Мұнда және одан әрі бейне HD Ready форматында, яғни 1280x720 дайындалған деп есептеймін. Көлденең өлшемі 10 дюйм болатын презентация түсірілген кезде дәл осы өлшемді береді (-r 128 параметрін қараңыз).
Мәтінді дайындау
Егер сіз шынымен керемет материал жасағыңыз келсе, алдымен сөзіңізді жазуыңыз керек. Мен де мәтінді дайындықсыз айта аламын деп ойладым, әсіресе дәріс оқуда жақсы тәжірибем бар. Тікелей эфирде орындау бір бөлек, бейне түсіру бір бөлек. Жалқау болмаңыз - теруге жұмсалған уақыт бірнеше есе ақталады.
Міне, менің жазу форматым. Тақырыптағы сан слайд нөміріне тең, үзілістер қызыл түспен белгіленген. Кез келген редактор дайындалуға жарамды, бірақ толыққанды мәтіндік процессорды алған дұрыс - мысалы, ТекOffice.
Слайдтар арқылы дауыс беру
Мен не айта аламын - микрофонды қосып, жаз :)
Тәжірибе көрсеткендей, тіпті ең арзан сыртқы микрофонның жазу сапасы ноутбуктің кірістірілген микрофонына қарағанда салыстыруға келмейтіндей жақсы. Сапалы жабдықты қаласаңыз, мен оны ұсынамын
Жазу үшін мен қолдандым аудио жазғыш – дыбыс жазуға арналған өте қарапайым қолданба. Мысалы, мына жерден алуға болады:
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
Коммуналдық қызметтер mp3 табыс Қандай да бір себептермен ол стандартты репозиторийлерде жоқ, бірақ оны мына жерден алуға болады:
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 кадрды пайдаланамын, өйткені менің камерам мен ескі кеңес фильмдері маған соншалықты көп береді. Егер сіз қиып жатқан фильм басқа жылдамдықпен түсірілген болса, бейнені қайта үлгілеу сүзгісін пайдаланыңыз.
Үшіншіден, барлық фрагменттерді бірдей кодекпен қысып, бір контейнерге салу керек. Сондықтан, в Avidemux пішім үшін бейнені таңдаңыз – «MPEG4 AVC (x264)", аудио - "AAC (FAAC)", шығыс пішімі - "MP4 Муксер«.
Төртіншіден, кесілген бейнелерді дұрыс атау маңызды. Файл атауы слайд нөмірі мен фрагмент нөмірінен тұруы керек. Фрагменттер 2-ден бастап жұп сандармен нөмірленеді. Осылайша, талқыланатын кадр үшін үзіліспен бейнені шақыру керек. 002-2.mp4
Бейнелер дайын болғаннан кейін оларды фрагменттері бар каталогқа тасымалдау керек. Параметрлер avidemux параметрлерден ерекшеленеді 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 ${duration} жалауы қолданылады -ең қысқа... Шын мәнінде ffmpeg mp3 ұзындығын шамамен анықтайды, ал өңдеу кезінде аудио тректің ұзындығы бейне жолдың ұзындығынан айтарлықтай ерекшеленуі мүмкін (бір немесе екі секунд). Бүкіл бейне бір кадрдан тұрса маңызды емес, бірақ мұндай бейнені шекарада үзіліспен жапсырған кезде өте жағымсыз кекіру әсерлері пайда болады.
mp3 файлының ұзақтығын анықтаудың тағы бір жолы - пайдалану mp3info. Ол да қателеседі, кейде ffmpeg артық береді mp3info, кейде бәрі керісінше, кейде екеуі де өтірік айтады – мен ешқандай үлгіні байқамадым. Ал міне сокси дұрыс жұмыс істейді.
Бұл пайдалы қызметтік бағдарламаны орнату үшін мына әрекетті орындаңыз:
sudo apt-get install sox libsox-fmt-mp3
Слайдтар арасында ауысулар жасау
Өту - бір слайд екіншісіне айналатын қысқа бейне. Мұндай бейнелерді жасау үшін біз слайдтарды жұппен және пайдаланамыз ImageMagick бірін екіншісіне айналдыру:
#!/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 Бар ImageMagick, нақты 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
Алғыс білдірген студенттеріңізді тамашалаңыз!
Ақпарат көзі: www.habr.com