Mihadhara ya video: njia unix

Mihadhara ya video: njia unix
Karantini ni wakati mzuri wa kujifunza kitu. Walakini, kama unavyoelewa, ili mtu ajifunze kitu, lazima mtu afundishe. Ikiwa una wasilisho ambalo ungependa kutoa kwa hadhira ya mamilioni na kupata umaarufu duniani kote, basi makala hii ni kwa ajili yako. Hapa utapata maagizo ya hatua kwa hatua ya jinsi ya kutengeneza video kutoka kwa uwasilishaji wako.

Tunatupilia mbali njia ya kurekodi "maoni ya sauti" katika PowerPoint na kuhamisha wasilisho kwa video kama jambo dogo na kutotoa sehemu ya kumi ya uwezo unaohitajika kwa video nzuri sana.

Kwanza, hebu tuamue ni muafaka gani tunahitaji:

  1. Slaidi halisi zilizo na sauti
  2. Kubadilisha slaidi
  3. Nukuu kutoka kwa filamu maarufu
  4. Fremu kadhaa zenye uso wa mhadhiri na paka anayempenda (si lazima)

Kuunda muundo wa saraka

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

Madhumuni ya saraka kwa mpangilio wa kuorodhesha: filamu ambazo tutavuta nukuu (clipart), vipande vya video yetu ya baadaye (klipu), video kutoka kwa kamera (rec), slaidi kwa namna ya picha (slaidi), sauti. (sauti).

Kufanya uwasilishaji kwenye picha

Kwa mtumiaji halisi wa Linux mwenye macho mekundu, kufanya uwasilishaji kwa namna ya picha haitoi matatizo yoyote. Acha nikukumbushe tu kwamba hati katika umbizo la pdf inaweza kuchanganuliwa kuwa picha kwa kutumia amri

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

Ikiwa hakuna amri kama hiyo, sasisha kifurushi mwenyewe matumizi ya poppler (maagizo kwa Ubuntu; ikiwa una Arch, basi unajua vizuri nini cha kufanya bila mimi).

Hapa na zaidi, ninaamini kuwa video imetayarishwa katika umbizo la HD Tayari, yaani 1280x720. Wasilisho lenye saizi ya mlalo ya inchi 10 hutoa saizi hii haswa inapopakuliwa (angalia chaguo la -r 128).

Kutayarisha maandishi

Ikiwa unataka kutengeneza nyenzo nzuri sana, hotuba yako inahitaji kuandikwa kwanza. Pia nilifikiri kwamba ningeweza kuzungumza maandishi bila kujitayarisha, hasa kwa kuwa nina uzoefu mzuri wa kufundisha. Lakini ni jambo moja kufanya moja kwa moja, na jambo lingine kurekodi video. Usiwe wavivu - muda uliotumika kuandika utalipa mara nyingi.

Mihadhara ya video: njia unix

Huu hapa ni umbizo langu la kurekodi. Nambari katika kichwa ni sawa na nambari ya slaidi, usumbufu unaonyeshwa kwa rangi nyekundu. Mhariri yeyote anafaa kwa utayarishaji, lakini ni bora kuchukua kichakataji cha maneno kamili - kwa mfano, Kawaida tu.

Sauti juu ya slaidi

Ninaweza kusema nini - washa kipaza sauti na uandike :)

Uzoefu unaonyesha kuwa ubora wa kurekodi hata kutoka kwa kipaza sauti cha nje cha bei nafuu ni bora zaidi kuliko kutoka kwa kipaza sauti iliyojengwa ndani ya kompyuta ndogo. Ikiwa unataka vifaa vya ubora, napendekeza Makala hii.

Kwa kurekodi nilitumia kinasa sauti - programu rahisi sana ya kurekodi sauti. Unaweza kuichukua, kwa mfano, hapa:

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

Jambo kuu katika hatua hii ni kutaja faili kwa usahihi. Jina lazima liwe na nambari ya slaidi na nambari ya kipande. Vipande vinahesabiwa na nambari zisizo za kawaida - 1, 3, 5, nk Kwa hiyo, kwa slide, maandishi ambayo yanaonyeshwa kwenye picha, faili mbili zitaundwa: 002-1.mp3 ΠΈ 002-3.mp3.

Ikiwa ulirekodi video zote mara moja kwenye chumba tulivu, huna haja ya kufanya chochote zaidi nao. Ikiwa umerekodi katika hatua kadhaa, ni bora kusawazisha kiwango cha sauti:

mp3gain -r *.mp3

Huduma mp3 tena Kwa sababu fulani haiko kwenye hazina za kawaida, lakini unaweza kuipata hapa:

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

Baada ya yote haya, unahitaji kurekodi faili nyingine kwa ukimya. Ni muhimu kuongeza wimbo wa sauti kwa video za kimya: ikiwa video moja ina sauti ya sauti na nyingine haina, basi ni vigumu kuunganisha video hizi pamoja. Ukimya unaweza kurekodiwa kutoka kwa kipaza sauti, lakini ni bora kuunda faili katika mhariri Audacity. Urefu wa faili unapaswa kuwa angalau sekunde (zaidi inawezekana), na inapaswa kutajwa kimya.mp3

Inatayarisha video za kukatiza

Hapa kila kitu ni mdogo tu na mawazo yako. Unaweza kutumia kihariri kuhariri video Avidemux. Mara moja ilikuwa kwenye hazina za kawaida, lakini basi kwa sababu fulani ilikatwa. Hii haitatuzuia:

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

Kuna maagizo mengi ya kufanya kazi na mhariri huyu kwenye mtandao, na kwa kanuni, kila kitu ni angavu. Ni muhimu kukidhi masharti kadhaa.

Kwanza, ubora wa video lazima ulingane na ubora wa video lengwa. Ili kufanya hivyo, unahitaji kutumia vichungi viwili kwenye "video ya pato": swsResize ili kubadilisha azimio na "kuongeza mashamba" ili kugeuza filamu ya Soviet "fomati nyembamba" katika muundo mpana. Vichujio vingine vyote ni vya hiari. Kwa mfano, ikiwa mtu haelewi kwa nini taarifa ya Bw. Sharikov iko kwenye kipande kinachojadiliwa, kwa kutumia kichujio cha "ongeza nembo", unaweza kuweka alama ya PostgreSQL juu ya "Moyo wa Mbwa".

Pili, vipande vyote lazima vitumie kiwango sawa cha fremu. Ninatumia fremu 25 kwa sekunde kwa sababu kamera yangu na filamu za zamani za Soviet hunipa kiasi hicho. Ikiwa filamu unayokata ilipigwa kwa kasi tofauti, tumia kichujio cha Video ya Mfano.

Tatu, vipande vyote lazima vibanwe na kodeki sawa na vifurushwe kwenye vyombo sawa. Kwa hivyo katika Avidemux kwa umbizo, chagua video - "MpEG4 AVC (x264)", sauti -"AAC (FAAC)", umbizo la towe -"MP4 Muxer'.

Nne, ni muhimu kutaja video zilizokatwa kwa usahihi. Jina la faili lazima liwe na nambari ya slaidi na nambari ya kipande. Vipande vinahesabiwa kwa nambari sawa, kuanzia 2. Kwa hivyo, kwa sura inayojadiliwa, video iliyo na usumbufu inapaswa kuitwa. 002-2.mp4

Baada ya video kuwa tayari, unahitaji kuwahamisha kwenye saraka na vipande. Mipangilio avidemux tofauti na mipangilio ffmpeg kwa chaguo-msingi na vigezo vya ajabu tbr, tbn, tbc. Haziathiri uchezaji, lakini haziruhusu video kuunganishwa pamoja. Kwa hivyo wacha turekebishe tena:

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

Risasi Bongo

Hapa, pia, kila kitu ni rahisi: unapiga picha dhidi ya msingi wa mpango wa busara, weka video zinazosababishwa kwenye orodha. rec, na kutoka hapo uhamishe kwenye saraka na vipande. Sheria za kumtaja ni sawa na za kukatiza nukuu, amri ya kurekodi ni kama ifuatavyo.

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

Ikiwa unapanga kuanza video kwa hotuba yako, taja kipande hiki 000-1.mp4

Kutengeneza muafaka kutoka kwa picha tuli

Ni wakati wa kuhariri video kutoka kwa picha tuli na sauti. Hii inafanywa na hati ifuatayo:

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

Tafadhali kumbuka kuwa muda wa faili ya sauti huamuliwa kwanza na matumizi soksi, na kisha video ya urefu unaohitajika inahaririwa. Mapendekezo yote niliyopata ni rahisi zaidi: badala ya bendera -t ${duration} bendera inatumika -fupi zaidi. Kwa kweli ffmpeg huamua urefu wa mp3 takriban sana, na wakati wa kuhariri, urefu wa wimbo wa sauti unaweza kutofautiana sana (kwa sekunde moja au mbili) kutoka kwa urefu wa wimbo wa video. Hii haijalishi ikiwa video nzima ina fremu moja, lakini unapobandika video kama hiyo na kukatizwa kwenye mpaka, athari mbaya sana za kigugumizi hutokea.

Njia nyingine ya kuamua muda wa faili ya mp3 ni kutumia mp3 habari. Yeye hufanya makosa pia, na wakati mwingine ffmpeg inatoa zaidi ya mp3 habari, wakati mwingine ni kinyume chake, wakati mwingine wote wawili wanasema uongo - sikuona muundo wowote. Na hapa soksi inafanya kazi kwa usahihi.

Ili kufunga matumizi haya muhimu, fanya hivi:

sudo apt-get install sox libsox-fmt-mp3

Kufanya mabadiliko kati ya slaidi

Mpito ni video fupi ambayo slaidi moja inageuka kuwa nyingine. Ili kutengeneza video kama hizi, tunachukua slaidi kwa jozi na kwa kutumia picha ya ujinga badilisha moja kuwa nyingine:

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

Kwa sababu fulani nilitaka slaidi itawanywe na dots, na kisha slaidi inayofuata itakusanywa kutoka kwa dots, na kwa hili niliandika hati inayoitwa. fade.pl Kuwa na picha ya ujinga, mtumiaji halisi wa Linux ataunda athari yoyote maalum, lakini ikiwa mtu anapenda wazo langu na kutawanyika, hii ndio hati:

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

Tunaweka video iliyokamilishwa

Sasa tuna vipande vyote. Nenda kwenye katalogi clips na kusanya filamu iliyokamilishwa kwa kutumia amri mbili:

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

Furahia kutazama wanafunzi wako wanaoshukuru!

Chanzo: mapenzi.com

Kuongeza maoni