Lithuto tsa video: unix way

Lithuto tsa video: unix way
Ho behelloa ka thoko ke nako e monate ea ho ithuta ho hong. Leha ho le joalo, joalokaha u utloisisa, e le hore motho a ithute ho hong, motho o lokela ho mo ruta. Haeba u na le nehelano eo u batlang ho e fa bamameli ba limilione le ho fumana botumo lefatšeng ka bophara, joale sengoloa sena ke sa hau. Mona u tla fumana litaelo tsa mohato ka mohato tsa ho etsa video ho tsoa nehelanong ea hau.

Re qhelela ka thōko tsela ea ho rekota "litlhaloso tsa molumo" ho PowerPoint le ho romela tlhahiso ho video e le ntho e sa reng letho ebile e sa fane ka karolo ea leshome ea bokhoni bo hlokahalang bakeng sa video e ntle haholo.

Taba ea pele, a re boneng hore na re hloka liforeimi life:

  1. Li-slide tsa 'nete tse nang le voiceover
  2. Ho fetola li-slide
  3. Litlhaloso tse tsoang lifiliming tse tsebahalang
  4. Liforeimi tse 'maloa tse nang le sefahleho sa morupeli le katse eo a e ratang haholo (ka boikhethelo)

Ho theha sebopeho sa directory

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

Morero oa li-directory ka tatellano ea lethathamo: lifilimi tseo re tla hula mantsoe a qotsitsoeng ho tsona (clipart), likhechana tsa video ea rona ea kamoso (likotoana), livideo tse tsoang kh'amera (rec), li-slide ka mokhoa oa litšoantšo (slide), molumo. (molumo).

Ho etsa nehelano ka litšoantšo

Bakeng sa mosebelisi oa 'nete oa Linux ea mahlo a mafubelu, ho etsa tlhahiso ka mokhoa oa litšoantšo ha ho hlahise mathata. E re ke u hopotse feela hore tokomane ka sebopeho sa pdf e ka aroloa ho ba litšoantšo ho sebelisoa taelo

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

Haeba ho se na taelo e joalo, kenya sephutheloana ka bouena li-poppler-utils (litaelo bakeng sa Ubuntu; haeba u na le Arch, joale u tseba hantle seo u lokelang ho se etsa ntle le 'na).

Mona le ho feta, ke lumela hore video e lokiselitsoe ka sebopeho sa HD Ready, ke hore 1280x720. Tlhahiso e nang le boholo bo otlolohileng ba lisenthimithara tse 10 e fana ka boholo bona hantle ha e laolloa (sheba -r 128 parameter).

Ho lokisetsa mongolo

Haeba u batla ho etsa boitsebiso bo bongata haholo, puo ea hao e lokela ho ngoloa pele. Hape ke ne ke nahana hore nka bua temana ke sa lokisetsa, haholo-holo kaha ke na le phihlelo e ntle ea ho fana ka lipuo. Empa ke ntho e le 'ngoe ho bapala u phela,' me ke ntho e 'ngoe ho rekota video. U se ke ua ba botsoa - nako e sebelisitsoeng ho thaepa e tla lefa ka makhetlo a mangata.

Lithuto tsa video: unix way

Mokhoa oa ka oa ho rekota ke ona. Nomoro e sehloohong e lekana le nomoro ea li-slide, litšitiso li totobatsoa ka bofubelu. Mohlophisi ofe kapa ofe o loketse ho itokisetsa, empa ho molemo ho nka processor ea mantsoe e felletseng - mohlala, Ke Mosebetsi feela.

Lentsoe holim'a li-slide

Nka re'ng - bula microphone 'me u ngole :)

Boiphihlelo bo bontša hore boleng ba ho rekota esita le ho tsoa ho maekrofono a kantle a theko e tlaase bo betere ka tsela e ke keng ea bapisoa ho feta maekerofounu e hahiloeng ka har'a laptop. Haeba u batla lisebelisoa tsa boleng, kea li khothaletsa sengoloa sena ke sena.

Bakeng sa ho rekota ke ne ke sebelisa sehatisi sa audio - sesebelisoa se bonolo haholo sa ho rekota molumo. U ka e nka, ho etsa mohlala, mona:

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

Ntho e ka sehloohong mohatong ona ke ho reha lifaele ka nepo. Lebitso le tlameha ho ba le nomoro ea li-slide le nomoro ea sekhechana. Likhechana li baloa ka linomoro tse sa tloaelehang - 1, 3, 5, joalo-joalo. Kahoo, bakeng sa slide, temana ea eona e bontšitsoeng setšoantšong, lifaele tse peli li tla etsoa: 002-1.mp3 и 002-3.mp3.

Haeba u rekotile livideo tsohle ka nako e le 'ngoe ka phapusing e khutsitseng, ha ua tlameha ho etsa letho ho feta ka tsona. Haeba u rekotile ka mehato e mengata, ho molemo ho lekanya boemo ba molumo:

mp3gain -r *.mp3

Mesebetsi mp3ho fumana hape Ka mabaka a mang ha e teng ka har'a polokelo e tloaelehileng, empa u ka e fumana mona:

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

Kamora tsena tsohle, o hloka ho rekota faele e 'ngoe ka khutso. Hoa hlokahala ho eketsa pina ea molumo ho livideo tse khutsitseng: haeba video e le 'ngoe e na le pina ea molumo' me e 'ngoe e se na eona, ho thata ho kopanya livideo tsena hammoho. Ho khutsa ho ka tlalehoa ho tsoa ho maekrofono, empa ho molemo ho etsa faele ka har'a mohlophisi Tlhaloso. Bolelele ba faele e lokela ho ba bonyane motsotsoana (ho feta ho khoneha), 'me e lokela ho bitsoa khutsa.mp3

Ho lokisa livideo tsa litšitiso

Mona ntho e 'ngoe le e' ngoe e lekanyelitsoe feela ke monahano oa hau. U ka sebelisa mohlophisi ho hlophisa livideo Avidemux. Ka nako e 'ngoe e ne e le libakeng tsa polokelo tse tloaelehileng, empa ka lebaka le itseng e ile ea khaoloa. Sena se ke ke sa re thibela:

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

Ho na le litaelo tse ngata tsa ho sebetsa le mohlophisi enoa Inthaneteng, 'me ha e le hantle, ntho e' ngoe le e 'ngoe e teng ka mokhoa o utloahalang. Ho bohlokoa ho kopana le maemo a 'maloa.

Ntlha ea pele, qeto ea video e tlameha ho lumellana le qeto ea video e reretsoeng. Ho etsa sena, o hloka ho sebelisa li-filters tse peli ho "video e hlahisoang": swsResize ho fetola qeto le "ho eketsa masimo" ho fetola filimi ea "moqotetsane" ea Soviet hore e be sebopeho se pharaletseng. Lisefe tse ling kaofela ke boikhethelo. Ka mohlala, haeba motho e mong a sa utloisise hore na ke hobane'ng ha polelo ea Monghali Sharikov e le sekhechanang seo ho buuoang ka sona, a sebelisa "eketsa logo" filthara, o ka koahela logo ea PostgreSQL ka holim'a "Pelo ea Ntja".

Taba ea bobeli, likhechana tsohle li tlameha ho sebelisa sekhahla se tšoanang sa foreimi. Ke sebelisa liforeimi tse 25 motsotsoana hobane khamera ea ka le lifilimi tsa khale tsa Soviet li mpha haholo. Haeba filimi eo u e khaotsang e ile ea thunngoa ka lebelo le fapaneng, sebelisa filthara ea Resample Video.

Taba ea boraro, likhechana tsohle li tlameha ho hatelloa ka codec e le 'ngoe ebe li phutheloa ka lijaneng tse tšoanang. Ka hona ho Avidemux bakeng sa sebopeho, khetha video - "Mpeg4 AVC (x264)", audio-"AAC (FAAC)", sebopeho sa tlhahiso -"mp4 Muxer".

Ntlha ea bone, ho bohlokoa ho reha livideo tse sehiloeng ka nepo. Lebitso la faele le tlameha ho ba le nomoro ea li-slide le nomoro ea sekhechana. Likaroloana li baloa ka linomoro tse lekanang, ho qala ho 2. Kahoo, bakeng sa foreimi e ntseng e tšohloa, video e nang le tšitiso e lokela ho bitsoa. 002-2.mp4

Ka mor'a hore livideo li lokisoe, u lokela ho li fetisetsa bukeng ea likaroloana. Litlhophiso avidemux e fapane le litlhophiso ffmpeg ka ho sa feleng ka liparamente tse makatsang tbr, tbn, tbc. Ha li ame ho bapala, empa ha li lumelle livideo ho kopanngoa hammoho. Kahoo ha re khoute:

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

Ho thunya li-screensavers

Mona, hape, ntho e 'ngoe le e' ngoe e bonolo: o thunya khahlanong le mokokotlo oa leano le bohlale, beha livideo tse hlahisoang lethathamong la libuka. rec, 'me ho tloha moo u e fetisetse bukeng e nang le likhechana. Melao ea ho reha mabitso e tšoana le ea mantsoe a qotsitsoeng, taelo ea ho rekota e tjena:

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

Haeba u rera ho qala video ka puo ea hau, bolela sekhechana sena 000-1.mp4

Ho etsa liforeimi ka litšoantšo tse tsitsitseng

Ke nako ea ho hlophisa livideo ho tsoa litšoantšong tse sa fetoheng le molumo. Sena se etsoa ka script e latelang:

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

Ka kopo hlokomela hore nako ea faele ea audio e qala ka ho khethoa ke ts'ebeliso soxi, ebe video ea bolelele bo hlokahalang e ea hlophisoa. Litlhahiso tsohle tseo ke li fumaneng li bonolo: ho e-na le folakha -t ${duration} ho sebelisoa folakha -e kgutshwane. Haele hantle ffmpeg e khetha bolelele ba mp3 hoo e ka bang, 'me nakong ea ho hlophisa, bolelele ba pina ea molumo bo ka fapana haholo (ka motsotsoana o le mong kapa e' meli) ho tloha bolelele ba pina ea video. Sena ha se na taba hore na video eohle e na le foreimi e le 'ngoe, empa ha u khomaretsa video e joalo ka litšitiso moeling, ho ba le litlamorao tse mpe haholo.

Mokhoa o mong oa ho tseba hore na file ea mp3 e nka nako e kae ke ho e sebelisa mp3 info. Le eena o etsa liphoso, 'me ka linako tse ling ffmpeg e fana ka hofeta mp3 info, ka linako tse ling ke tsela e 'ngoe, ka linako tse ling ka bobeli ba bua leshano - ha kea ka ka hlokomela mohlala leha e le ofe. Mme mona soxi e sebetsa ka nepo.

Ho kenya sesebelisoa sena se sebetsang, etsa sena:

sudo apt-get install sox libsox-fmt-mp3

Ho etsa liphetoho lipakeng tsa li-slide

Phetoho ke video e khuts'oane eo ho eona slide se seng se fetohang se seng. Ho etsa livideo tse joalo, re nka li-slide ka bobeli le ho li sebelisa imagemagick fetola se seng ho se seng:

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

Ka lebaka le itseng ke ne ke batla hore selaete se hasane ka matheba, ebe selaete se latelang se tla bokelloa ho tsoa matheba, 'me ka lebaka lena ke ngotse mongolo o bitsoang. fade.pl Ho ba le imagemagick, mosebelisi oa 'nete oa Linux o tla theha phello efe kapa efe e ikhethang, empa haeba motho a rata mohopolo oa ka ka ho hasanya, sengoloa ke sena:

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

Re kenya video e felileng

Hona joale re na le likhechana tsohle. E-ea lethathamong la libuka dikotwana 'me u bokelle filimi e felileng u sebelisa litaelo tse peli:

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

Natefeloa ke ho shebella baithuti ba hau ba lebohang!

Source: www.habr.com

Eketsa ka tlhaloso