Muxaadaro muuqaal ah: unix way

Muxaadaro muuqaal ah: unix way
Karantiilku waa wakhti cajiib ah oo wax lagu barto. Si kastaba ha ahaatee, sida aad fahamsan tahay, si qof u barto wax, qof waa inuu baraa. Haddii aad haysatid bandhig aad rabto inaad siiso dhagaystayaal malaayiin ah oo aad kasbato sumcad caalami ah, markaa maqaalkani adiga ayuu kuu yahay. Halkan waxaad ka heli doontaa tilmaamo tallaabo-tallaabo ah oo ku saabsan sida loo sameeyo muuqaal ka mid ah bandhiggaaga.

Waxaan meesha ka saaraynaa dariiqa duubista "falooyinka maqalka" ee PowerPoint iyo u dhoofinta bandhigga fiidyaha si aan waxtar lahayn oo aan u bixin toban meelood meel awoodaha looga baahan yahay fiidyow dhab ah oo qabow.

Marka hore, aan go'aansanno xirmooyinka aan u baahanahay:

  1. Sawirada dhabta ah ee leh codka kor u kaca
  2. Beddelida boggaga
  3. Xigasho filimaan caan ah
  4. Qaybo dhawr ah oo leh wejiga macalinka iyo bisadda uu jecel yahay (ikhtiyaar)

Abuuritaanka qaab dhismeedka hagaha

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

Ujeedada tusaha sida ay u kala horreeyaan: filimada aan ka soo jiidan doono xigashooyin (clipart), jajabyada fiidyaha mustaqbalka (clips), fiidiyowyada kamarada (rec), sawiro qaab sawir ah (slide), dhawaaq (dhawaaq).

Samaynta bandhig sawir

Isticmaalaha Linux-ka-cas ee dhabta ah, samaynta soo bandhigida qaabka sawirada wax dhib ah ma soo bandhigto. Aan kaliya ku xasuusiyo in dukumeenti qaab pdf ah lagu kala saari karo sawirro iyadoo la adeegsanayo amarka

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

Haddii uusan jirin amar noocaas ah, ku rakib baakadda laftaada poppler-utils (tilmaamaha Ubuntu, haddii aad leedahay Arch, markaa si fiican ayaad u garanaysaa waxa la sameeyo aniga la'aanteed).

Halkan iyo in ka badan, waxaan aaminsanahay in fiidiyowga lagu diyaariyey qaab HD U diyaarsan, i.e. 1280x720. Soo bandhigid leh cabbir siman oo 10 inji ah ayaa siinaya cabbirkan saxda ah marka la dejiyo (eeg ikhtiyaarka -r 128).

Diyaarinta qoraalka

Haddii aad rabto in aad samayso wax aad u wanaagsan, hadalkaagu waxa uu u baahan yahay in marka hore la qoro. Waxa kale oo aan mooday in aan qoraalka ku hadli karo diyaargarow la'aan, gaar ahaan maadaama aan khibrad fiican u leeyahay casharrada. Laakiin waa hal shay in si toos ah loo sameeyo, iyo shay kale in la duubo muuqaal. Ha caajisin - wakhtiga wax lagu qoro wax lagu qoro ayaa wax badan ka soo bixi doona.

Muxaadaro muuqaal ah: unix way

Waa kan qaabka duubistayda. Nambarka ciwaanka ku jira wuxuu la mid yahay nambarka slide-ka, hakadyada waxaa lagu muujiyay casaan. Tifaftire kasta wuxuu ku habboon yahay diyaarinta, laakiin way fiicantahay in la qaato processor-ka ereyga oo buuxa - tusaale ahaan, OnlyOffice.

Codka dulsaar sawirada

Maxaan dhihi karaa - shid makarafoonka oo qor :)

Waayo-aragnimadu waxay muujineysaa in tayada duubista xitaa makarafoonka dibadda ugu jaban ay si aan la barbar dhigi karin uga wanaagsan tahay makarafoonka ku dhex jira ee laptop-ka. Haddii aad rabto qalab tayo leh, waxaan kugula talinayaa maqaalkan.

Duubista ayaan isticmaalay maqal-duubaye - codsi aad u fudud oo loogu talagalay duubista codka. Waxaad u qaadan kartaa, tusaale ahaan, halkan:

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

Waxa ugu weyn ee tallaabadan waa in si sax ah loo magacaabo faylasha. Magacu waa inuu ka kooban yahay nambarka slide-ka iyo lambarka jajabka. Jajabyada waxaa lagu tiriyaa tirooyin aan fiicneyn - 1, 3, 5, iwm. Haddaba, slide-ka, qoraalka kaas oo lagu muujiyey sawirka, laba fayl ayaa la abuuri doonaa: 002-1.mp3 ΠΈ 002-3.mp3.

Haddii aad ku duubtay dhammaan fiidiyowyada hal mar qol degan, uma baahnid inaad wax dheeraad ah ku samayso iyaga. Haddii aad ku duubtay dhowr tillaabo, waxa fiican inaad barbar dhigto heerka mugga:

mp3gain -r *.mp3

Dhaqaalaha mp3gaadh Sababaha qaar kuma jiraan kaydadka caadiga ah, laakiin waxaad ka heli kartaa halkan:

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

Waxaas oo dhan ka dib, waxaad u baahan tahay inaad ku duubto fayl kale aamusnaan. Waa lagama maarmaan in lagu daro raad-raac dhawaaqa fiidiyowyada aamusan: haddii mid ka mid ah fiidiyowgu leeyahay raad-raac dhawaaqa kan kalena uusan lahayn, markaa way adagtahay in la isku dhejiyo fiidiyowyadan. Aamusnaanta waxaa laga duubi karaa makarafoon, laakiin way fiicantahay in la abuuro fayl tafatiraha Maqalka. Dhererka feylku waa inuu ahaadaa ugu yaraan ilbiriqsi (wax badan waa suurtogal), waana in la magacaabo aamusnaan.mp3

Diyaarinta fiidiyowyada joojinta

Halkan wax walba waxay ku xaddidan yihiin oo kaliya male-awaalkaaga. Waxaad isticmaali kartaa tifaftire si aad u saxdo fiidiyowyada Avidemux. Mar waxay ku jirtay kaydka caadiga ah, laakiin ka dib sababo jira ayaa la jaray. Tani nagama joojin doonto:

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

Waxaa jira tilmaamo badan oo loogu talagalay la shaqeynta tifaftirahan internetka, iyo mabda'a, wax kasta oo jira ayaa jira. Waa muhiim in la buuxiyo shuruudo dhowr ah.

Marka hore, xallinta muuqaalku waa in ay u dhigmaan xallinta fiidyaha ee la beegsanayo. Si tan loo sameeyo, waxaad u baahan tahay inaad isticmaasho laba filtarrada "fiidiyowga wax soo saarka": swsResize si aad u bedesho xallinta iyo "goobaha ku darida" si aad u rogo filimka "qaab cidhiidhi ah" Soofiyeedka qaab ballaaran. Dhammaan filtarrada kale waa ikhtiyaari. Tusaale ahaan, haddii qof uusan fahmin sababta hadalka Mr. Sharikov uu ugu jiro jajabka wadahadalka, adoo isticmaalaya shaandhada "ku dar calaamadda", waxaad ku dabooli kartaa sumadda PostgreSQL ee dusha sare ee "Wadnaha Eeyga".

Marka labaad, dhammaan jajabyada waa inay isticmaalaan cabbir isku mid ah. Waxaan isticmaalaa 25 fareemo ilbiriqsikiiba sababtoo ah kamaradeyda iyo filimadii hore ee Soofiyeedka ayaa i siinaya wax badan. Haddii filimka aad ka gooynayso lagu toogtay xawaare ka duwan, isticmaal shaandhada Fiidiyowga ee Resample.

Marka seddexaad, dhammaan jajabyada waa in lagu cadaadiyaa isla codec isla markaana lagu xiraa weel isku mid ah. Sidaa darteed gudaha Avidemux qaabka, dooro muqaal-"MPEG4 AVC (x264)", cod -"AAC (FAAC)", qaabka wax soo saarka -"MP4 Muxer".

Marka afraad, waa muhiim in si sax ah loo magacaabo fiidiyowyada la jaray. Magaca faylku waa inuu ka kooban yahay nambarka slide iyo nambarka jajabka. Jajabyada waxaa lagu tiriyaa nambaro siman, laga bilaabo 2. Haddaba, qaab-dhismeedka doodaha, fiidiyowga leh joojinta waa in loo yeeraa 002-2.mp4

Ka dib markii fiidiyowyadu diyaar yihiin, waxaad u baahan tahay inaad ku wareejiso hagaha oo leh jajab. Dejinta avidemux ka duwan goobaha ffmpeg Sida caadiga ah oo leh cabbirro dahsoon tbr, tbn, tbc. Ma saameeyaan dib u ciyaarida, laakiin ma ogola in fiidiyowyada la isku dhejiyo. Haddaba aan dib u codeeynno:

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

Shaashadaha toogashada

Halkan, sidoo kale, wax waliba waa sahlan yihiin: waxaad ku toogtaa dhabarka dambe ee nidaam xariif ah, ku rid fiidiyowyada ka soo baxa buug-yaraha. rec, halkaasna uga wareeji buugga hagaha oo jajab ah. Xeerarka magac-bixintu waxay la mid yihiin xigashooyinka joojinta, amarka dib u habeyntu waa sida soo socota:

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

Haddi aad qorshaynayso in aad hadalka ku bilawdo muuqaalka, magacow jajabkan 000-1.mp4

Samaynta fareemo sawiro taagan

Waa waqtigii wax laga beddeli lahaa fiidiyowyada sawirada taagan iyo codka Tan waxaa lagu sameeyaa qoraalka soo socda:

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

Fadlan ogow in muddada faylka maqalka ah marka hore ay go'aamiso utility soxi, ka dibna fiidiyowga dhererka loo baahan yahay waa la tafatiray. Dhammaan talooyinka aan helay way ka fudud yihiin: halkii calanka -t ${muddada} calan baa la adeegsadaa - ugu gaaban... Dhab ahaantii ffmpeg wuxuu go'aamiyaa dhererka mp3 aad ugu dhawaad, iyo inta lagu jiro tafatirka, dhererka track maqalku aad ayuu uga duwanaan karaa (hal ama laba ilbiriqsi) dhererka track video. Tani dhib malaha haddii fiidyowga oo dhami uu ka kooban yahay hal jir, laakiin marka aad ku dhejiso fiidyowga noocaan ah ee kala go'a xuduudka, saameyn aad u xun ayaa dhacaya.

Hab kale oo lagu go'aamiyo muddada faylka mp3 waa in la isticmaalo mp3info. Iyadu sidoo kale khaladaad ayay samaysaa, iyo mararka qaarkood ffmpeg siinayaa wax ka badan mp3info, Mararka qaarkood waa si kale, mararka qaarkood labaduba way been sheegaan - Ma aanan dareemin wax qaab ah. Oo halkan soxi si sax ah u shaqeeya

Si loo rakibo utility faa'iidada leh, sidan samee:

sudo apt-get install sox libsox-fmt-mp3

Samaynta kala-guurka inta u dhaxaysa bogagga

Kala guurku waa muuqaal gaaban kaas oo mid ka mid ah slide uu isu beddelayo mid kale. Si aan u samayno fiidiyowyada noocaas ah, waxaan u qaadnaa sawirro labo-labo ah oo aan isticmaalno sawir mid u beddelo kan kale:

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

Sababo jira dartood waxaan rabay in duleelku uu ku kala firdhiyo dhibco, ka dibna duleelka xiga ayaa laga soo ururin doonaa dhibcaha, taas awgeed waxaan u qoray qoraal la yiraahdo libdhi.pl Lahaanshaha sawir, Isticmaalaha dhabta ah ee Linux wuxuu abuuri doonaa saameyn kasta oo gaar ah, laakiin haddii qof uu jecel yahay fikradeyda kala firdhinta, halkan waa qoraalka:

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

Waxaan ku dhejineynaa muuqaalkii dhammaaday

Hadda waxaan haynaa dhammaan jajabkii. Tag liiska clips oo soo ururi filimka la dhammeeyey adigoo isticmaalaya laba amar:

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

Ku raaxayso daawashada ardaydaada mahadnaqaysa!

Source: www.habr.com

Add a comment