Video ikowe: unix ona

Video ikowe: unix ona
Quarantine jẹ akoko iyalẹnu lati kọ nkan kan. Sibẹsibẹ, bi o ti yeye, ki ẹnikan le kọ nkan, ẹnikan gbọdọ kọ. Ti o ba ni igbejade ti o fẹ lati fun awọn olugbo ti awọn miliọnu ati gba olokiki agbaye, lẹhinna nkan yii jẹ fun ọ. Nibi iwọ yoo wa awọn ilana igbesẹ-nipasẹ-igbesẹ lori bi o ṣe le ṣe fidio lati igbejade rẹ.

A kọ ipa-ọna ti gbigbasilẹ “awọn asọye ohun” ni PowerPoint ati jijade igbejade si fidio bi ohun kekere ati pe ko pese idamẹwa awọn agbara ti o nilo fun fidio ti o tutu nitootọ.

Ni akọkọ, jẹ ki a pinnu kini awọn fireemu ti a nilo:

  1. Awọn ifaworanhan gangan pẹlu voiceover
  2. Yiyipada kikọja
  3. Awọn agbasọ lati awọn fiimu olokiki
  4. Awọn fireemu pupọ pẹlu oju olukọni ati ologbo ayanfẹ rẹ (aṣayan)

Ṣiṣẹda a liana be

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

Idi ti awọn ilana ni aṣẹ ti atokọ: awọn fiimu lati eyiti a yoo fa awọn agbasọ (agekuru), awọn ajẹkù ti fidio iwaju wa (awọn agekuru), awọn fidio lati kamẹra (rec), awọn kikọja ni irisi awọn aworan (ifaworanhan), ohun (ohun).

Ṣiṣe igbejade ni awọn aworan

Fun olumulo Linux oju-pupa gidi kan, ṣiṣe igbejade ni irisi awọn aworan ko ṣafihan eyikeyi awọn iṣoro. Jẹ ki n kan leti rẹ pe iwe kan ni ọna kika pdf le ṣe itupalẹ si awọn aworan nipa lilo aṣẹ naa

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

Ti ko ba si iru aṣẹ bẹ, fi package sori ẹrọ funrararẹ poppler-utils (awọn itọnisọna fun Ubuntu; ti o ba ni Arch, lẹhinna o mọ daradara daradara kini lati ṣe laisi mi).

Lẹhin eyi, Mo gbagbọ pe fidio ti pese sile ni HD kika kika, ie 1280x720. Igbejade pẹlu iwọn petele ti awọn inṣi 10 n ṣe agbejade iwọn naa ni deede nigbati a ko gbejade (wo aṣayan -r 128).

Ngbaradi ọrọ naa

Ti o ba fẹ ṣe ohun elo nla gaan, ọrọ rẹ nilo lati kọ ni akọkọ. Mo tún rò pé mo lè sọ ọ̀rọ̀ ẹ̀kọ́ náà láìmúra sílẹ̀, pàápàá níwọ̀n bó ti jẹ́ pé mo ní ìrírí tó jinlẹ̀ nínú ìdánilẹ́kọ̀ọ́. Ṣugbọn o jẹ ohun kan lati ṣe ifiwe, ati ohun miiran lati ṣe igbasilẹ fidio kan. Maṣe ṣe ọlẹ - akoko ti o lo titẹ yoo sanwo ni ọpọlọpọ igba.

Video ikowe: unix ona

Eyi ni ọna kika gbigbasilẹ mi. Nọmba ti o wa ninu akọle jẹ dogba si nọmba ifaworanhan, awọn idilọwọ ti wa ni afihan ni pupa. Olootu eyikeyi dara fun igbaradi, ṣugbọn o dara lati mu ero-ọrọ ti o ni kikun - fun apẹẹrẹ, Nikankankan.

Ohùn lori awọn kikọja

Kini MO le sọ - tan gbohungbohun ki o kọ :)

Iriri fihan pe didara gbigbasilẹ paapaa lati gbohungbohun ita ti ko gbowolori jẹ ailẹgbẹ dara ju lati inu gbohungbohun ti a ṣe sinu ti kọǹpútà alágbèéká kan. Ti o ba fẹ ohun elo didara, Mo ṣeduro rẹ nibi ni yi article.

Fun gbigbasilẹ Mo ti lo agbohunsilẹ - ohun elo ti o rọrun pupọ fun gbigbasilẹ ohun. O le gba, fun apẹẹrẹ, nibi:

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

Ohun akọkọ ni igbesẹ yii ni lati lorukọ awọn faili ni deede. Orukọ naa gbọdọ ni nọmba ifaworanhan ati nọmba ajẹkù. Awọn ajẹkù jẹ nọmba pẹlu awọn nọmba aiṣedeede - 1, 3, 5, bbl Nitorina, fun ifaworanhan ti ọrọ rẹ han ninu aworan, awọn faili meji yoo ṣẹda: 002-1.mp3 и 002-3.mp3.

Ti o ba gbasilẹ gbogbo awọn fidio ni ẹẹkan ni yara idakẹjẹ, iwọ ko ni lati ṣe ohunkohun siwaju sii pẹlu wọn. Ti o ba gbasilẹ ni awọn igbesẹ pupọ, o dara lati dọgba ipele iwọn didun:

mp3gain -r *.mp3

Awọn ohun elo mp3ga Fun idi kan kii ṣe ni awọn ibi ipamọ boṣewa, ṣugbọn o le gba nibi:

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

Lẹhin gbogbo eyi, o nilo lati gbasilẹ faili miiran pẹlu ipalọlọ. O jẹ dandan lati ṣafikun orin ohun si awọn fidio ipalọlọ: ti fidio kan ba ni orin ohun ati ekeji ko ṣe, lẹhinna o nira lati lẹ pọ awọn fidio wọnyi papọ. Ipalọlọ le ṣe igbasilẹ lati inu gbohungbohun, ṣugbọn o dara lati ṣẹda faili kan ninu olootu Imupẹwo. Gigun faili yẹ ki o jẹ o kere ju iṣẹju-aaya (diẹ sii ṣee ṣe), ati pe o yẹ ki o wa lorukọ ipalọlọ.mp3

Ngbaradi awọn fidio idalọwọduro

Nibi ohun gbogbo ni opin nikan nipasẹ oju inu rẹ. O le lo olootu lati ṣatunkọ awọn fidio Ọgbẹni. Ni ẹẹkan ni akoko kan o wa ni awọn ibi ipamọ boṣewa, ṣugbọn lẹhinna fun idi kan o ti ge jade. Eyi ko ni da wa duro:

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

Awọn ilana pupọ lo wa fun ṣiṣẹ pẹlu olootu yii lori Intanẹẹti, ati ni ipilẹ, ohun gbogbo wa ni oye. O ṣe pataki lati pade awọn ipo pupọ.

Ni akọkọ, ipinnu fidio gbọdọ baramu ipinnu fidio afojusun. Lati ṣe eyi, o nilo lati lo awọn asẹ meji ni “fidio ti o jade”: swsResize lati yi ipinnu pada ati “fikun awọn aaye” lati yi fiimu Soviet “kika dín” kan si ọna kika jakejado. Gbogbo awọn asẹ miiran jẹ iyan. Fun apẹẹrẹ, ti ẹnikan ko ba loye idi ti alaye Ọgbẹni Sharikov wa ninu ajẹkù ti o wa labẹ ijiroro, nipa lilo àlẹmọ "fi logo", o le bo aami PostgreSQL lori oke ti "Okan Aja".

Ni ẹẹkeji, gbogbo awọn ajẹkù gbọdọ lo iwọn fireemu kanna. Mo lo awọn fireemu 25 fun iṣẹju kan nitori kamẹra mi ati awọn fiimu Soviet atijọ fun mi ni iye yẹn. Ti fiimu ti o ba ge lati titu ni iyara ti o yatọ, lo àlẹmọ Fidio Atunyẹwo.

Ni ẹkẹta, gbogbo awọn ajẹkù gbọdọ wa ni fisinuirindigbindigbin pẹlu kodẹki kanna ati akopọ ninu awọn apoti kanna. Nitorina ninu Ọgbẹni fun ọna kika, yan fidio -"MPEG4 AVC (x264)", ohun -"AAC (FAAC)", ọna kika -"MP4 Muxer».

Ni ẹkẹrin, o ṣe pataki lati lorukọ awọn fidio gige ni deede. Orukọ faili gbọdọ ni nọmba ifaworanhan ati nọmba ajẹkù. Awọn ajẹkù ti wa ni nọmba pẹlu awọn nọmba paapaa, ti o bẹrẹ lati 2. Nitorinaa, fun fireemu ti o wa labẹ ijiroro, fidio pẹlu idilọwọ yẹ ki o pe 002-2.mp4

Lẹhin ti awọn fidio ti šetan, o nilo lati gbe wọn si liana pẹlu awọn ajẹkù. Ètò arofun yato si awọn eto ffmpeg nipa aiyipada pẹlu awọn paramita aramada tbr, tbn, tbc. Wọn ko ni ipa lori ṣiṣiṣẹsẹhin, ṣugbọn wọn ko gba laaye awọn fidio lati lẹ pọ. Nitorinaa jẹ ki a tun koodu:

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

Ibon iboju

Nibi, paapaa, ohun gbogbo rọrun: o titu lodi si ẹhin ti ero ọgbọn diẹ, fi awọn fidio ti o yọrisi sinu katalogi kan rec, ati lati ibẹ gbe lọ si itọsọna pẹlu awọn ajẹkù. Awọn ofin iforukọ jẹ kanna bi fun awọn agbasọ idalọwọduro, aṣẹ atunṣe jẹ bi atẹle:

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

Ti o ba gbero lati bẹrẹ fidio pẹlu ọrọ rẹ, fun orukọ ajẹkù yii 000-1.mp4

Ṣiṣe awọn fireemu lati awọn aworan aimi

O to akoko lati ṣatunkọ awọn fidio lati awọn aworan aimi ati ohun. Eyi ni a ṣe pẹlu iwe afọwọkọ atẹle:

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

Jọwọ ṣe akiyesi pe iye akoko faili ohun naa jẹ ipinnu akọkọ nipasẹ ohun elo soxi, ati lẹhinna fidio ti ipari ti a beere ti wa ni satunkọ. Gbogbo awọn iṣeduro ti Mo rii ni o rọrun: dipo asia kan -t ${akoko} asia lo - kukuru... Lootọ ffmpeg pinnu ipari ti mp3 ni isunmọ pupọ, ati lakoko ṣiṣatunṣe, ipari orin ohun le yatọ pupọ (nipasẹ kan tabi meji iṣẹju) lati ipari orin fidio naa. Eyi ko ṣe pataki ti gbogbo fidio ba ni fireemu ẹyọkan, ṣugbọn nigbati o ba lẹ pọ iru fidio kan pẹlu awọn idilọwọ ni aala, awọn ipa ikọlu ti ko dun pupọ waye.

Ọna miiran lati pinnu iye akoko faili mp3 ni lati lo mp3 alaye. O tun ṣe awọn aṣiṣe, ati nigba miiran ffmpeg yoo fun diẹ ẹ sii ju mp3 alaye, Nigba miiran o jẹ ọna miiran ni ayika, nigbami awọn mejeeji parọ - Emi ko ṣe akiyesi eyikeyi apẹẹrẹ. Ati nibi soxi ṣiṣẹ tọ.

Lati fi sori ẹrọ ohun elo to wulo, ṣe eyi:

sudo apt-get install sox libsox-fmt-mp3

Ṣiṣe awọn iyipada laarin awọn kikọja

Iyipada jẹ fidio kukuru ninu eyiti ifaworanhan kan yipada si omiiran. Lati ṣe iru awọn fidio, a ya awọn ifaworanhan ni meji-meji ati lilo imagemagick yi ọkan pada si ekeji:

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

Fun idi kan Mo fẹ ki ifaworanhan naa tuka pẹlu awọn aami, lẹhinna ifaworanhan ti o tẹle yoo pejọ lati awọn aami, ati fun eyi Mo kọ iwe afọwọkọ kan ti a pe ni ipare.pl Nini imagemagick, Olumulo Linux gidi kan yoo ṣẹda ipa pataki eyikeyi, ṣugbọn ti ẹnikan ba fẹran imọran mi pẹlu pipinka, eyi ni iwe afọwọkọ:

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

A gbe fidio ti o pari

Bayi a ni gbogbo awọn ajẹkù. Lọ si katalogi awọn agekuru ki o si ṣajọ fiimu ti o pari ni lilo awọn aṣẹ meji:

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

Gbadun wiwo si awọn ọmọ ile-iwe ti o ṣeun!

orisun: www.habr.com

Fi ọrọìwòye kun