Vitio lauga: unix way

Vitio lauga: unix way
Quarantine o se taimi matagofie e aʻoaʻo ai se mea. Ae ui i lea, e pei ona e malamalama, ina ia mafai e se tasi ona aʻoaʻoina se mea, e tatau i se tasi ona aʻoaʻo atu. Afai ei ai sau faʻaaliga e te manaʻo e tuʻuina atu i le faitau miliona o tagata ma maua le taʻutaʻua i le lalolagi atoa, o lenei tusiga e mo oe. O iinei e te maua ai faʻatonuga taʻitasi i le auala e fai ai se vitio mai lau faʻaaliga.

Matou te fa'ate'aina le ala o le pu'eina o "fa'amatalaga leo" i le PowerPoint ma fa'aulu atu le fa'aaliga i le vitiō e fa'atauva'a ma le le tu'uina atu o le tasi vaesefulu o le gafatia e mana'omia mo se ata manaia moni.

Muamua, tatou filifili po o le a le faʻavaa tatou te manaʻomia:

  1. O fa'ase'e moni ma le leo
  2. Suia fa'ase'e
  3. Upusii mai ata tifaga lauiloa
  4. Tele fa'avaa fa'atasi ai ma foliga o le faiaoga ma lana pusi e fiafia i ai (filifiliga)

Fausia se fausaga fa'atonu

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

Le faʻamoemoega o faʻatonuga i le faasologa o lisi: ata tifaga o le a tatou toso mai ai upusii (clipart), vaega o la tatou vitio i le lumanaʻi (clips), vitio mai le mea pueata (rec), faʻataʻitaʻi i foliga o ata (slide), leo (leo).

Faia o se folasaga i ata

Mo se tagata faʻaoga Linux mata mumu, o le faia o se faʻaaliga i foliga o ata e le o iai ni faʻafitauli. Sei ou faamanatu atu ia te oe o se pepa i le pdf format e mafai ona faʻapipiʻiina i ata e faʻaaoga ai le poloaiga

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

Afai e leai se faʻatonuga faʻapea, faʻapipiʻi le afifi oe lava ia poppler-utils (faatonuga mo Ubuntu; afai e iai sau Arch, ona e iloa lelei lea o le mea e fai e aunoa ma aʻu).

O iinei ma le isi, ou te talitonu o le vitio ua saunia i le HD Ready format, o lona uiga 1280x720. O se fa'aaliga fa'atasi ma le lapo'a fa'alava o le 10 inisi e tu'u sa'o mai ai le lapo'a lea pe a la'u mai (silasila i le -r 128 filifiliga).

Saunia le tusitusiga

Afai e te manaʻo e fai ni mea e sili ona lelei, e tatau ona tusia muamua lau tautalaga. Na ou manatu foʻi e mafai ona ou tautala i le mau e aunoa ma se sauniuniga, aemaise lava ona e lelei loʻu poto masani i le faia o lauga. Ae e tasi le mea e fai sao, ma le isi mea e puʻeina se vitio. Aua le paie – o le taimi e fa'aalu i le taina o le a toe totogi fa'atele.

Vitio lauga: unix way

O la'u fa'amaumauga lea. Ole numera ile ulutala e tutusa ma le numera fa'ase'e, o fa'alavelave e fa'ailoa i le mumu. Soʻo se faʻatonu e talafeagai mo sauniuniga, ae sili atu le faʻaaogaina o se faʻaogaina o upu faʻapitoa - mo se faʻataʻitaʻiga, Na o le Tofi.

Siufofoga i luga o fa'asolo

O le a sa'u tala e fai atu - ki le masini faaleotele leo ma tusi :)

O le poto masani e faʻaalia ai o le lelei o le puʻeina e oʻo lava i le sili ona taugofie mai fafo microphone e le mafaatusalia le sili atu nai lo le faʻaogaina o le masini faaleotele leo o se komepiuta feaveaʻi. Afai e te manaʻo i meafaigaluega lelei, ou te fautuaina lenei tusiga.

Mo le pueina sa ou faaaogaina leo-leo leo - o se talosaga faigofie tele mo le pueina o leo. E mafai ona e ave, mo se faʻataʻitaʻiga, iinei:

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

O le mea autu i lenei laasaga o le taʻu saʻo o faila. O le igoa e tatau ona aofia ai le numera fa'ase'e ma le numera vaega. O fasipepa e faanumeraina ma numera ese - 1, 3, 5, ma isi. O lea la, mo le faʻasolo, o le tusitusiga o loʻo faʻaalia i le ata, e lua faila o le a faia: 002-1.mp3 и 002-3.mp3.

Afai e te pueina uma vitio i le taimi e tasi i totonu o se potu filemu, e te le toe faia se isi mea ma i latou. Afai na e faamaumauina i ni nai laasaga, e sili atu le tutusa o le maualuga o le leo:

mp3gain -r *.mp3

Meafaigaluega mp3gain Mo nisi mafuaʻaga e leʻo i totonu o fale teu oloa, ae e mafai ona e mauaina iinei:

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

A maeʻa nei mea uma, e tatau ona e faʻamauina se isi faila ma le leoa. E mana'omia le fa'aopoopoina o se leo leo i vitio le leoa: afai o le tasi vitio e i ai se leo leo ae o le isi e leai, ona faigata lea ona fa'apipi'i fa'atasi nei vitio. E mafai ona pueina le leoa mai se masini faaleotele leo, ae sili atu le faia o se faila i le faatonu Malosiaga. Ole umi ole faila e tatau ona le itiiti ifo ile lua (sili atu e mafai), ma e tatau ona faaigoa filemu.mp3

Saunia vitio fa'alavelave

O iinei e gata ai mea uma i lou mafaufau. E mafai ona e fa'aogaina se fa'atonu e fa'asa'o ai vitio Avidemux. I se tasi taimi sa i totonu o faleteuoloa masani, ae ona o nisi mafuaaga na tipi ese ai. E le taofia i tatou e lenei mea:

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

E tele faʻatonuga mo le galulue faʻatasi ma lenei faatonu i luga o le Initaneti, ma i le mataupu faavae, o mea uma o loʻo i ai e faʻaogaina. E taua le ausia o ni nai tulaga.

Muamua, e tatau ona fetaui le iugafono o le vitio ma le iuga o le vitio sini. Ina ia faia lenei mea, e manaʻomia lou faʻaogaina o ni filiga se lua i le "video output": swsResize e sui ai le iugafono ma le "faʻaopoopoina o fanua" e faʻaliliu ai se ata tifaga Soviet "vaapiapi" i se lautele lautele. O isi filiga uma e filifili. Mo se faʻataʻitaʻiga, afai e le malamalama se tasi pe aisea ua i ai le faʻamatalaga a Mr. Sharikov i le vaega o loʻo talanoaina, i le faʻaaogaina o le "faʻaopoopo le logo" faamama, e mafai ona e ufiufi le logo PostgreSQL i luga o le "Dog Heart".

Lona lua, o vaega uma e tatau ona fa'aoga tutusa le fua fa'avaa. Ou te faaaogaina 25 faavaa i le sekone ona o la'u meapueata ma ata tuai a le Soviet e aumai ai ia te a'u lena tele. Afai o le ata o lo'o e tipi mai ai na fana i se isi saoasaoa, fa'aoga le Resample Video filter.

Lona tolu, o vaega uma e tatau ona faʻapipiʻiina i le codec tutusa ma afifi i totonu o pusa tutusa. O le mea lea, i Avidemux mo le faatulagaga, filifili le vitio - "MPEG4 AVC (x264)", leo-"AAC (FAAC)", fa'asologa o galuega -"MP4 Muxer".

Lona fa, e taua le ta'u sa'o o vitio ua tipi. O le igoa faila e tatau ona aofia ai le numera fa'ase'e ma le numera vaega. O fasi vaega e faanumeraina i numera tutusa, e amata mai i le 2. O lea, mo le faʻavaa o loʻo talanoaina, e tatau ona valaʻau le vitio ma le faʻalavelave. 002-2.mp4

A maeʻa ona saunia vitio, e tatau ona e faʻafeiloaʻi i latou i le lisi ma ni vaega. Fa'atonu availaux ese mai tulaga ffmpeg e ala i le le mafai ona fa'aogaina mea lilo tbr, tbn, tbc. Latou te le afaina ai le toe faia, ae latou te le faatagaina vitio e faʻapipiʻi faʻatasi. Ia tatou toe fa'ailoga:

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

Pu'eina ata puipui

O iinei foi, e faigofie mea uma: e te fanaina i tua o se fuafuaga atamai, tuʻu vitio e maua i se lisi f, ma mai iina tuʻuina atu i le faʻatonuga ma ni vaega. O tulafono fa'aigoa e tutusa ma fa'alavelave fa'alavelave, o le fa'atonuga o le toe fa'atonu e fa'apea:

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

Afai e te fuafua e amata le vitio i lau tautalaga, taʻu le vaega lea 000-1.mp4

Faia o fa'avaa mai ata fa'amau

Ua o'o i le taimi e fa'asa'o ai vitio mai ata ma leo. E faia lenei mea i le tusitusiga lenei:

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

Faamolemole ia matau o le umi o le faila leo e muamua fuafuaina e le aoga soxi, ona fa'atonutonu ai lea o le vitio o le umi mana'omia. O fautuaga uma na ou mauaina e sili atu ona faigofie: nai lo se fuʻa -t ${duration} e fa'aaogaina le fu'a -pu'upu'u... O le mea moni ffmpeg fuafua le umi o le mp3 e tusa lava, ma i le taimi o le teuteuga, o le umi o le leo leo e mafai ona matua ese (i le tasi pe lua sekone) mai le umi o le ata vitio. E le afaina pe afai o le vitio atoa e aofia ai se faʻavaa se tasi, ae a e faʻapipiʻiina se vitio faʻatasi ma faʻalavelave i le tuaoi, e tupu aʻafiaga le lelei tele.

O le isi auala e fuafua ai le umi o se faila mp3 o le faʻaaogaina mp3info. Na te faia foi mea sese, ma o nisi taimi ffmpeg e sili atu nai lo mp3info, o nisi taimi o le isi itu, o nisi taimi e pepelo uma - Ou te leʻi matauina se mamanu. Ma iinei soxi galue sa'o.

Ina ia faʻapipiʻi lenei aoga aoga, fai le mea lenei:

sudo apt-get install sox libsox-fmt-mp3

Faia o suiga i le va o fa'asolo

O le suiga o se ata pu'upu'u lea e liliu ai le fa'asolo i le isi. Ina ia faia ia vitio, matou te ave taitoalua ma faaaoga imagemagick liliu le tasi i le isi:

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

Mo nisi mafuaʻaga na ou manaʻo ai e faʻasalalau le slide i togitogi, ona faʻapipiʻiina lea o le isi faʻasolo mai togitogi, ma mo lenei mea na ou tusia ai se tusitusiga e taʻua. fade.pl Mauaina imagemagick, o se tagata faʻaoga Linux moni o le a fatuina soʻo se aafiaga faʻapitoa, ae afai e fiafia se tasi i loʻu manatu i le faʻasalalau, o le tusitusiga lenei:

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

Matou te faʻapipiʻiina le vitio ua maeʻa

O lea ua tatou maua uma vaega. Alu i le lisi ata faavitio ma faʻapotopoto le ata ua maeʻa e faʻaaoga ai tulafono e lua:

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

Fiafia e matamata i au tamaiti aoga loto faafetai!

puna: www.habr.com

Faaopoopo i ai se faamatalaga