Video Virträg: unix Manéier

Video Virträg: unix Manéier
Quarantän ass eng wonnerbar Zäit fir eppes ze léieren. Wéi och ëmmer, wéi Dir verstitt, fir datt een eppes léiert, muss een léieren. Wann Dir eng Presentatioun hutt déi Dir e Publikum vu Millioune wëllt ginn a weltwäit Ruhm gewannen, dann ass dësen Artikel fir Iech. Hei fannt Dir Schrëtt-fir-Schrëtt Instruktioune wéi Dir e Video aus Ärer Presentatioun mécht.

Mir entloossen de Wee fir "Audiokommentarer" an PowerPoint opzehuelen an d'Presentatioun op Video als trivial ze exportéieren an net en Zéngtel vun de Fäegkeeten ze bidden fir e wierklech coole Video.

Als éischt, loosst eis entscheeden wéi eng Rummen mir brauchen:

  1. Déi tatsächlech Rutschen mat Voiceover
  2. Rutsch änneren
  3. Zitater aus populär Filmer
  4. Verschidde Rummen mam Gesiicht vum Dozent a senger Liiblingskaz (optional)

Schafen eng Verzeechnes Struktur

.
├── clipart
├── clips
├── rec
├── slide
└── sound

Den Zweck vun den Verzeichnisser an der Uerdnung vun der Oplëschtung: Filmer aus deenen mir Zitater zéien (Clipart), Fragmenter vun eisem zukünftegen Video (Clips), Videoe vun der Kamera (Rec), Rutschen a Form vu Biller (Rutsch), Toun (klang).

Maacht eng Presentatioun a Biller

Fir e richtege rout-eyed Linux Benotzer, eng Presentatioun a Form vu Biller mécht keng Problemer. Loosst mech Iech just drun erënneren datt en Dokument am pdf-Format a Biller mat dem Kommando parséiert ka ginn

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

Wann et keen esou Kommando ass, installéiert de Package selwer poppler-utils (Instruktioune fir Ubuntu; wann Dir Arch hutt, da wësst Dir ganz gutt wat Dir ouni mech maache musst).

Hei a weider gleewen ech datt de Video am HD Ready Format virbereet ass, dh 1280x720. Eng Presentatioun mat enger horizontaler Gréisst vun 10 Zoll gëtt genee dës Gréisst wann se entlaascht gëtt (kuckt den -r 128 Parameter).

Den Text virbereeden

Wann Dir wierklech super Material maache wëllt, muss Är Ried als éischt geschriwwe ginn. Ech hunn och geduecht datt ech den Text ouni Virbereedung kéint schwätzen, besonnesch well ech gutt Erfahrung am Virtrag hunn. Awer et ass eng Saach fir live opzeféieren, an eng aner Saach fir e Video opzehuelen. Sidd net faul - d'Zäit fir ze tippen wäert vill Mol bezuelen.

Video Virträg: unix Manéier

Hei ass mäin Opnahmformat. D'Zuel am Titel ass gläich wéi d'Rutschnummer, d'Ënnerbriechungen sinn rout markéiert. All Redakter ass gëeegent fir Virbereedung, awer et ass besser e vollwäertege Wuertveraarbechter ze huelen - zum Beispill, JustOffice.

Stëmm iwwer d'Rutschen

Wat kann ech soen - schalt de Mikro un a schreift :)

D'Erfahrung weist datt d'Opnamqualitéit och vum bëllegsten externen Mikrofon onvergläichlech besser ass wéi vum agebaute Mikrofon vun engem Laptop. Wann Dir Qualitéit Equipement wëllt, Ech recommandéieren et hei ass dësen Artikel.

Fir Enregistréiere benotzt ech Audio-Recorder - eng ganz einfach Applikatioun fir Tounopnam. Dir kënnt et zum Beispill hei huelen:

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

Den Haapt Saach op dësem Schrëtt ass d'Dateien richteg ze nennen. Den Numm muss aus der Rutschnummer an der Fragmentnummer besteet. Fragmenter si mat komeschen Zuelen nummeréiert - 1, 3, 5, etc. Also, fir de Rutsch, den Text vun deem am Bild ugewise gëtt, ginn zwee Dateien erstallt: 002-1.mp3 и 002-3.mp3.

Wann Dir all d'Videoen op eemol an engem rouege Raum opgeholl hutt, musst Dir näischt weider mat hinnen maachen. Wann Dir an e puer Schrëtt opgeholl hutt, ass et besser de Volumenniveau auszegläichen:

mp3gain -r *.mp3

Utilities mp3gewënn Aus e puer Grënn ass et net an de Standard Repositories, awer Dir kënnt et hei kréien:

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

No all deem, musst Dir eng aner Datei mat Rou ophuelen. Et ass néideg fir e Soundtrack fir stille Videoen ze addéieren: wann ee Video en Soundtrack huet an deen aneren net, dann ass et schwéier dës Videoen zesummen ze pechen. Silence kann aus engem Mikrofon opgeholl ginn, awer et ass besser eng Datei am Editor ze kreéieren Audacity. D'Dateilängt soll op d'mannst eng Sekonn sinn (méi ass méiglech), an et soll genannt ginn roueg.mp3

Preparéieren Ënnerbriechung Videoen

Hei ass alles limitéiert nëmme vun Ärer Fantasi. Dir kënnt en Editor benotze fir Videoen z'änneren Avidemux. Eemol war et an de Standard Repositories, awer dunn aus iergendengem Grond gouf et ausgeschnidden. Dëst wäert eis net ophalen:

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

Et gi vill Instruktioune fir mat dësem Editor am Internet ze schaffen, an am Prinzip ass alles intuitiv. Et ass wichteg verschidde Konditiounen ze erfëllen.

Als éischt muss d'Videoresolutioun mat der Zilvideoresolutioun passen. Fir dëst ze maachen, musst Dir zwee Filteren am "Output Video" benotzen: swsResize fir d'Resolutioun z'änneren an "Felder derbäi" fir e sowjetesche "schmuele Format" Film an e breet Format ze maachen. All aner Filtere sinn fakultativ. Zum Beispill, wann een net versteet firwat dem Här Sharikov seng Ausso am Fragment ënner Diskussioun ass, andeems Dir de "Add logo" Filter benotzt, kënnt Dir de PostgreSQL Logo op der "Dog Heart" iwwerlageren.

Zweetens, all Fragmenter mussen déi selwecht Frame Taux benotzen. Ech benotzen 25 Frames pro Sekonn well meng Kamera an al sowjetesch Filmer mir esou vill ginn. Wann de Film aus deem Dir geschnidden ass mat enger anerer Geschwindegkeet erschoss gouf, benotzt de Resample Video Filter.

Drëttens mussen all Fragmenter mam selwechte Codec kompriméiert ginn an an déiselwecht Container verpackt ginn. Dofir, an Avidemux fir de Format, wielt Video - "MPEG4 AVC (x264)", audio-"AAC (FAAC)", Ausgangsformat - "MP4 Muxer".

Véiertens ass et wichteg déi geschnidden Videoen richteg ze nennen. De Dateinumm muss aus der Rutschnummer an der Fragmentnummer bestoen. Fragmenter gi mat gläichen Zuelen nummeréiert, ab 2. Also, fir de Kader, deen diskutéiert gëtt, soll de Video mat der Ënnerbriechung genannt ginn 002-2.mp4

Nodeems d'Videoe fäerdeg sinn, musst Dir se an de Verzeechnes mat Fragmenter transferéieren. Astellungen avidemux ënnerscheeden vun Astellungen ffmpeg par défaut mat mysteriéisen Parameteren tbr, tbn, tbc. Si beaflossen net d'Wiedergabe, awer si erlaben net d'Videoen zesummen ze pechen. Also loosst eis nei codéieren:

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

Schéissen screensavers

Och hei ass alles einfach: Dir schéisst géint den Hannergrond vun engem clevere Schema, setzt déi resultéierend Videoen an e Katalog rec, a vun do iwwerdroen et an den Dossier mat Fragmenter. D'Benennungsregele sinn d'selwecht wéi fir Ënnerbriechungsquoten, de Recoding Kommando ass wéi follegt:

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

Wann Dir plangt de Video mat Ärer Ried unzefänken, nennt dëst Fragment 000-1.mp4

Frames aus statesche Biller maachen

Et ass Zäit Videoe vu statesche Biller an Toun z'änneren. Dëst gëtt mat de folgende Skript gemaach:

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

Maacht weg datt d'Dauer vun der Audiodatei fir d'éischt vum Utility bestëmmt gëtt soxi, an da gëtt de Video vun der erfuerderter Längt geännert. All Empfehlungen, déi ech fonnt hunn, si méi einfach: amplaz vun engem Fändel -t ${Dauer} Fändel benotzt gëtt - am kuerzsten... Eigentlech ffmpeg bestëmmt d'Längt vum mp3 ganz ongeféier, a während der Redaktioun kann d'Längt vun der Audiostreck vill (vun enger oder zwou Sekonnen) vun der Längt vun der Videospur ënnerscheeden. Dëst ass egal ob de ganze Video aus engem eenzege Frame besteet, awer wann Dir esou e Video mat Ënnerbriechungen un der Grenz kleet, entstinn extrem onsympathesch Stottereffekter.

Eng aner Manéier fir d'Dauer vun enger mp3 Datei ze bestëmmen ass ze benotzen mp3 info. Si mécht och Feeler, an heiansdo ffmpeg gëtt méi wéi mp3 info, heiansdo ass et ëmgedréint, heiansdo léien se allebéid - ech hu kee Muster gemierkt. An hei soxi funktionnéiert richteg.

Fir dëst nëtzlech Utility ze installéieren, maacht dat:

sudo apt-get install sox libsox-fmt-mp3

Maacht Iwwergäng tëscht Rutschen

En Iwwergang ass e kuerze Video an deem ee Rutsch an en anert gëtt. Fir esou Videoen ze maachen, maache mir Rutschen a Pairen a benotzen imagemagick transforméiert een an dat anert:

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

Aus iergendengem Grond wollt ech de Rutsch mat Punkte verstreet ginn, an da wier de nächste Rutsch aus de Punkten zesummegesat, an dofir hunn ech e Skript geschriwwen fade.pl Hunn imagemagick, e richtege Linux Benotzer wäert all speziellen Effekt erstellen, awer wann iergendeen meng Iddi mat Streuung gär huet, hei ass de 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);
}

Mir montéieren de fäerdege Video

Elo hu mir all d'Fragmenter. Gitt an de Katalog erauskënnt a montéiert de fäerdege Film mat zwee Kommandoen:

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

Genéisst Är dankbar Studenten ze kucken!

Source: will.com

Setzt e Commentaire