Bideo hitzaldiak: unix modua

Bideo hitzaldiak: unix modua
Berrogeialdia garai zoragarria da zerbait ikasteko. Hala ere, ulertzen duzun bezala, norbaitek zerbait ikasteko, norbaitek irakatsi behar du. Milioika ikusle bati egin eta mundu osoan ospea lortu nahi duzun aurkezpen bat baduzu, artikulu hau zuretzat da. Hemen zure aurkezpenetik bideo bat nola egin jakiteko urratsez urrats argibideak aurkituko dituzu.

PowerPoint-en "audio-iruzkinak" grabatzeko eta aurkezpena bideora esportatzeko bidea hutsal gisa baztertzen dugu eta benetan bideo polita izateko behar diren gaitasunen hamarren bat ez ematea.

Lehenik eta behin, erabaki ditzagun zein marko behar ditugun:

  1. Benetako diapositibak off ahotsarekin
  2. Diapositibak aldatzea
  3. Film ezagunen aipamenak
  4. Irakaslearen aurpegia eta bere katu gogokoena duten hainbat fotograma (aukerakoa)

Direktorio-egitura bat sortzea

.
β”œβ”€β”€ clipart
β”œβ”€β”€ clips
β”œβ”€β”€ rec
β”œβ”€β”€ slide
└── sound

Direktorioen helburua zerrendaren ordenan: komatxoak aterako ditugun filmak (klipartak), gure etorkizuneko bideoaren zatiak (klipak), kamerako bideoak (rec), diapositibak irudi moduan (diapositiba), soinua. (soinua).

Irudietan aurkezpena egitea

Benetako Linux-eko erabiltzaile batentzat, aurkezpen bat irudi moduan egiteak ez du arazorik sortzen. Gogorarazten dizut pdf formatuan dokumentu bat iruditan analiza daitekeela komandoa erabiliz

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

Komando hori ez badago, instalatu paketea zuk zeuk poppler-utils (Ubunturako argibideak; Arch baduzu, ondo dakizu zer egin ni gabe).

Hemen eta aurrerantzean, bideoa HD Ready formatuan prestatuta dagoela uste dut, hau da, 1280x720. 10 hazbeteko tamaina horizontala duen aurkezpen batek tamaina hori ematen du deskargatzen denean (ikus -r 128 parametroa).

Testua prestatzea

Benetan material bikaina egin nahi baduzu, zure hitzaldia idatzi behar da lehenik. Testua prestatu gabe hitz egin nezakeela ere pentsatu nuen, batez ere hitzaldietan esperientzia ona dudalako. Baina gauza bat da zuzenean aritzea, eta beste gauza bat bideo bat grabatzea. Ez izan alferra - idazten emandako denborak hainbat aldiz ordainduko du.

Bideo hitzaldiak: unix modua

Hona hemen nire grabazio formatua. Izenburuko zenbakia diapositiba-zenbakiaren berdina da, etenak gorriz nabarmenduta daude. Edozein editore egokia da prestatzeko, baina hobe da testu-prozesadore oso bat hartzea - ​​adibidez, OnlyOffice.

Diapositiben gainetik ahotsa

Zer esan dezaket - mikrofonoa piztu eta idatzi :)

Esperientziak erakusten du kanpoko mikrofono merkeenetik ere grabazio-kalitatea ezin hobea dela ordenagailu eramangarri baten mikrofono integratuarena baino. Kalitatezko ekipamendua nahi baduzu, gomendatzen dizut hemen artikulu hau da.

Grabatzeko erabili nuen audio grabagailua - Soinua grabatzeko aplikazio oso erraza. Har dezakezu, adibidez, hemen:

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

Urrats honetan gauza nagusia fitxategiak behar bezala izendatzea da. Izenak diapositiba-zenbakia eta zati-zenbakia izan behar du. Zatiak zenbaki bakoitiekin zenbakituta daude - 1, 3, 5, etab. Beraz, irudian agertzen den diapositibarako, bi fitxategi sortuko dira: 002-1.mp3 ΠΈ 002-3.mp3.

Bideo guztiak aldi berean gela isil batean grabatu badituzu, ez duzu haiekin ezer gehiago egin beharrik. Hainbat urratsetan grabatu baduzu, hobe da bolumen maila berdintzea:

mp3gain -r *.mp3

Utilitateak mp3gain Zerbaitegatik ez dago biltegi estandarretan, baina hemen lor dezakezu:

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

Horren guztiaren ondoren, beste fitxategi bat grabatu behar duzu isiltasunarekin. Bideo isiletan soinu-banda bat gehitzea beharrezkoa da: bideo batek soinu-banda badu eta besteak ez badu, zaila da bideo hauek elkarrekin itsastea. Isiltasuna mikrofonotik graba daiteke, baina hobe da fitxategi bat sortzea editorean Audacity. Fitxategiaren luzera gutxienez segundo batekoa izan behar da (gehiago posible da) eta izena eman behar zaio isiltasuna.mp3

Eten-bideoak prestatzen

Hemen dena zure irudimenak soilik mugatzen du. Editore bat erabil dezakezu bideoak editatzeko Avidemux. Bazen behin biltegi estandarretan, baina gero arrazoiren batengatik moztu egin zen. Honek ez gaitu geldituko:

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

Editore honekin lan egiteko argibide asko daude Interneten, eta printzipioz, han dena intuitiboa da. Garrantzitsua da hainbat baldintza betetzea.

Lehenik eta behin, bideoaren bereizmenak helburuko bideoaren bereizmenarekin bat etorri behar du. Horretarako, bi iragazki erabili behar dituzu "irteerako bideoan": swsResize bereizmena aldatzeko eta "eremuak gehitzea" sobietar "formatu estua" film bat formatu zabal batean bihurtzeko. Gainerako iragazki guztiak aukerakoak dira. Adibidez, norbaitek ez badu ulertzen zergatik dagoen Sharikov jaunaren adierazpena eztabaidagai dagoen zatian, "gehitu logotipoa" iragazkia erabiliz, PostgreSQL logotipoa gainjar dezakezu "Dog Heart"ren gainean.

Bigarrenik, zati guztiek fotograma-tasa bera erabili behar dute. 25 fotograma segundoko erabiltzen ditut nire kamerak eta sobietar film zaharrek horrenbeste ematen didatelako. Mozten ari zaren filma beste abiadura batean grabatu bada, erabili Berriz laginketa bideoa iragazkia.

Hirugarrenik, zati guztiak kodek berdinarekin konprimitu eta ontzi berdinetan bildu behar dira. Beraz, barruan Avidemux formatuan, hautatu bideoa – β€œMPEG4 AVC (x264)", audioa - "AAC (FAAC)", irteera formatua - "MP4 Muxer'.

Laugarrenik, garrantzitsua da moztutako bideoak behar bezala izendatzea. Fitxategiaren izenak diapositiba-zenbakia eta zati-zenbakia izan behar du. Zatiak zenbaki bikoitiekin zenbatzen dira, 2tik hasita. Horrela, eztabaidagai dagoen fotogramarako, etenaldia duen bideoari deitu behar zaio. 002-2.mp4

Bideoak prest egon ondoren, zatiekin direktoriora transferitu behar dituzu. Ezarpenak Avidemux ezarpenetatik desberdina ffmpeg berez tbr, tbn, tbc parametro misteriotsuekin. Ez dute erreprodukzioan eragiten, baina ez dute onartzen bideoak elkarrekin itsatsirik. Beraz, birkodetu dezagun:

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

Pantaila-babesleak filmatzen

Hemen ere dena erraza da: eskema burutsu baten atzealdean filmatzen duzu, sortutako bideoak katalogo batean jarri rec, eta handik zatiekin direktoriora eraman. Izendatzeko arauak eteneko komatxoen berdinak dira, birkodetzearen komandoa honakoa da:

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

Bideoa zure hitzaldiarekin hasteko asmoa baduzu, eman zati honi izena 000-1.mp4

Irudi estatikoetatik markoak egitea

Irudi eta soinu estatikoetatik bideoak editatzeko garaia da. Hau script honekin egiten da:

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

Kontuan izan audio-fitxategiaren iraupena utilitateak zehazten duela lehenik soxi, eta gero behar den luzera duen bideoa editatzen da. Aurkitu ditudan gomendio guztiak sinpleagoak dira: bandera baten ordez -t ${iraupena} bandera erabiltzen da - laburrena... Egia esan ffmpeg mp3-ren iraupena oso gutxi gorabehera zehazten du, eta editatzean, audio-pistaren iraupena oso desberdina izan daiteke (segundo bat edo bi) bideo-pistaren luzera. Horrek ez du axola bideo osoa fotograma bakarrekoa bada, baina halako bideo bat ertzean etenekin itsasten duzunean, toteltze-efektu oso desatseginak gertatzen dira.

MP3 fitxategi baten iraupena zehazteko beste modu bat erabiltzea da mp3info. Berak ere akatsak egiten ditu, eta batzuetan ffmpeg baino gehiago ematen du mp3info, batzuetan alderantziz izaten da, beste batzuetan biek gezurra esaten dute - Ez nuen eredurik nabaritu. Eta hemen soxi behar bezala funtzionatzen du.

Erabilgarritasun erabilgarria instalatzeko, egin hau:

sudo apt-get install sox libsox-fmt-mp3

Diapositiben arteko trantsizioak egitea

Trantsizio bat diapositiba bat beste batean bihurtzen den bideo labur bat da. Horrelako bideoak egiteko, binaka eta erabiliz diapositibak ateratzen ditugu imagemagick bata bestean eraldatu:

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

Zerbaitegatik nahi nuen diapositiba puntuz sakabanatuta egotea, eta gero hurrengo diapositiba puntuetatik muntatuko zen, eta horretarako gidoi bat idatzi nuen. lausotu.pl Izatea imagemagick, benetako Linux erabiltzaile batek efektu bereziren bat sortuko du, baina norbaiti nire ideia sakabanatzearekin gustatzen bazaio, hona hemen scripta:

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

Amaitutako bideoa muntatzen dugu

Orain zati guztiak ditugu. Joan katalogora klipak eta muntatu amaitutako filma bi komando erabiliz:

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

Gozatu zure ikasle eskertuta ikusten!

Iturria: www.habr.com

Gehitu iruzkin berria