قرنطینه زمان فوق العاده ای برای یادگیری چیزی است. با این حال، همانطور که می دانید، برای اینکه کسی چیزی یاد بگیرد، باید کسی تدریس کند. اگر ارائهای دارید که میخواهید به میلیونها مخاطب ارائه دهید و شهرت جهانی کسب کنید، این مقاله برای شما مناسب است. در اینجا دستورالعمل های گام به گام در مورد نحوه ساخت یک ویدیو از ارائه خود را خواهید یافت.
ما مسیر ضبط «نظرات صوتی» در پاورپوینت و صادر کردن ارائه به ویدیو را بیاهمیت میدانیم و یک دهم قابلیتهای مورد نیاز برای یک ویدیوی واقعاً جذاب را ارائه نمیکنیم.
ابتدا بیایید تصمیم بگیریم به چه قاب هایی نیاز داریم:
- اسلایدهای واقعی با صداگذاری
- تغییر اسلاید
- به نقل از فیلم های محبوب
- چندین فریم با چهره استاد و گربه مورد علاقه او (اختیاری)
ایجاد ساختار دایرکتوری
.
├── clipart
├── clips
├── rec
├── slide
└── sound
هدف دایرکتوری ها به ترتیب فهرست: فیلم هایی که از آنها نقل قول ها را می گیریم (کلیپرت)، قطعاتی از ویدیوی آینده خود (کلیپ ها)، فیلم ها از دوربین (rec)، اسلایدهایی به شکل تصویر (اسلاید)، صدا (صدا).
ارائه به صورت تصویری
برای یک کاربر واقعی لینوکس با چشم قرمز، ارائه ارائه به صورت عکس هیچ مشکلی ایجاد نمی کند. فقط به شما یادآوری می کنم که یک سند با فرمت pdf را می توان با استفاده از دستور به تصاویر تجزیه کرد
pdftocairo -png -r 128 ../lecture.pdf
اگر چنین دستوری وجود ندارد، خودتان بسته را نصب کنید poppler-utils (دستورالعمل برای اوبونتو؛ اگر Arch دارید، پس به خوبی می دانید بدون من چه کاری انجام دهید).
در اینجا و بیشتر، من معتقدم که ویدیو با فرمت HD Ready، یعنی 1280x720 آماده شده است. یک نمایش با اندازه افقی 10 اینچ دقیقاً این اندازه را در هنگام بارگیری می دهد (گزینه -r 128 را ببینید).
آماده سازی متن
اگر میخواهید مطالب واقعا عالی بسازید، ابتدا سخنرانی شما باید نوشته شود. من هم فکر می کردم که می توانم متن را بدون آمادگی صحبت کنم، به خصوص که تجربه خوبی در سخنرانی دارم. اما اجرای زنده یک چیز است و ضبط ویدیو یک چیز دیگر. تنبل نباشید - زمان صرف شده برای تایپ چندین برابر خواهد شد.
این فرمت ضبط من است. عدد در عنوان برابر با شماره اسلاید است، وقفه ها با رنگ قرمز مشخص شده اند. هر ویرایشگر برای آماده سازی مناسب است، اما بهتر است از یک واژه پرداز تمام عیار استفاده کنید - به عنوان مثال، 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
خدمات رفاهی mp3 دوباره به دلایلی در مخازن استاندارد موجود نیست، اما می توانید آن را از اینجا دریافت کنید:
sudo add-apt-repository ppa:flexiondotorg/audio
sudo apt-get update
sudo apt-get install mp3gain
بعد از همه اینها باید فایل دیگری را با سکوت ضبط کنید. اضافه کردن یک آهنگ صوتی به ویدیوهای بی صدا ضروری است: اگر یک ویدیو دارای آهنگ صوتی باشد و دیگری نداشته باشد، چسباندن این ویدیوها به هم دشوار است. سکوت را می توان از میکروفون ضبط کرد، اما بهتر است یک فایل در ویرایشگر ایجاد کنید جسارت. طول فایل باید حداقل یک ثانیه باشد (بیشتر ممکن است) و باید نامگذاری شود سکوت.mp3
در حال آماده سازی ویدیوهای وقفه
در اینجا همه چیز فقط با تخیل شما محدود می شود. برای ویرایش ویدیوها می توانید از ویرایشگر استفاده کنید Avidemux. روزی روزگاری در مخازن استاندارد بود، اما پس از آن به دلایلی قطع شد. این ما را متوقف نخواهد کرد:
sudo add-apt-repository ppa:ubuntuhandbook1/avidemux
sudo apt-get update
sudo apt-get install avidemux2.7-qt5
دستورالعمل های زیادی برای کار با این ویرایشگر در اینترنت وجود دارد و در اصل همه چیز در آنجا بصری است. رعایت چند شرط مهم است.
اول، وضوح ویدئو باید با وضوح ویدئوی مورد نظر مطابقت داشته باشد. برای انجام این کار، باید از دو فیلتر در «ویدیوی خروجی» استفاده کنید: swsResize برای تغییر وضوح و «افزودن فیلدها» برای تبدیل یک فیلم «فرمت باریک» شوروی به یک فرمت گسترده. تمام فیلترهای دیگر اختیاری هستند. به عنوان مثال، اگر کسی متوجه نشد که چرا بیانیه آقای شاریکوف در قسمت مورد بحث وجود دارد، با استفاده از فیلتر «افزودن لوگو»، میتوانید آرم PostgreSQL را در بالای «قلب سگ» قرار دهید.
ثانیاً، همه قطعات باید از نرخ فریم یکسانی استفاده کنند. من از ۲۵ فریم در ثانیه استفاده میکنم، زیرا دوربین و فیلمهای قدیمی شوروی اینقدر به من میدهند. اگر فیلمی که از آن می برید با سرعت متفاوتی گرفته شده است، از فیلتر Resample Video استفاده کنید.
ثالثاً، تمام قطعات باید با کدک یکسان فشرده شده و در یک ظرف بسته بندی شوند. بنابراین در Avidemux برای فرمت، ویدیو را انتخاب کنید - "MPEG4 AVC (x264)"، سمعی - "AAC (FAAC)"، فرمت خروجی - "MP4 Muxer'.
چهارم اینکه نامگذاری صحیح فیلم های برش خورده مهم است. نام فایل باید شامل شماره اسلاید و شماره قطعه باشد. قطعات با اعداد زوج شماره گذاری می شوند که از 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
محافظ صفحه نمایش عکسبرداری
در اینجا نیز همه چیز ساده است: شما در پس زمینه یک طرح هوشمندانه عکس می گیرید، ویدیوهای حاصل را در یک کاتالوگ قرار می دهید. ضبط، و از آنجا آن را با قطعات به دایرکتوری منتقل کنید. قوانین نامگذاری مانند نقل قول های وقفه است، دستور recoding به شرح زیر است:
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 استفاده از آن است اطلاعات mp3. او هم اشتباه می کند و گاهی اوقات ffmpeg بیشتر از اطلاعات mp3، گاهی اوقات برعکس است، گاهی اوقات هر دو دروغ می گویند - من متوجه هیچ الگوی نشدم. و اینجا سوکسی درست کار می کند
برای نصب این ابزار مفید، این کار را انجام دهید:
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 را، یک کاربر واقعی لینوکس هر جلوه خاصی ایجاد می کند، اما اگر کسی ایده من را با پراکندگی دوست داشته باشد، این اسکریپت است:
#!/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