Karatun bidiyo: hanyar unix

Karatun bidiyo: hanyar unix
Keɓewa lokaci ne na ban mamaki don koyon wani abu. Koyaya, kamar yadda kuka fahimta, don wani ya koyi wani abu, dole ne wani ya koyar. Idan kuna da gabatarwar da kuke son bayarwa ga masu sauraron miliyoyin kuma ku sami shahara a duniya, to wannan labarin na ku ne. Anan za ku sami umarnin mataki-mataki kan yadda ake yin bidiyo daga gabatarwar ku.

Mun yi watsi da hanyar yin rikodin "sharuɗɗan sauti" a cikin PowerPoint da fitar da gabatarwar zuwa bidiyo a matsayin maras muhimmanci kuma ba mu samar da kashi goma na abubuwan da ake buƙata don bidiyo mai kyau ba.

Da farko, bari mu yanke shawarar waɗanne firam ɗin da muke buƙata:

  1. Ainihin nunin faifai tare da ƙarar murya
  2. Canza nunin faifai
  3. Kalamai daga shahararrun fina-finai
  4. Firam da yawa tare da fuskar malamin da katsin da ya fi so (na zaɓi)

Ƙirƙirar tsarin shugabanci

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

Manufar kundin kundayen adireshi a cikin tsari na jeri: fina-finai daga abin da za mu ja kwatance (clipart), gutsuttsuran bidiyon mu na gaba ( shirye-shiryen bidiyo ), bidiyo daga kyamara (rec), nunin faifai a cikin nau'in hotuna (slide), sauti (sauti).

Yin gabatarwa a hotuna

Don ainihin mai amfani da Linux mai jan ido, yin gabatarwa a cikin nau'in hotuna ba ya haifar da wata matsala. Bari in tunatar da ku cewa za a iya rarraba takarda a cikin tsarin pdf cikin hotuna ta amfani da umarnin

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

Idan babu irin wannan umarni, shigar da kunshin da kanka masu amfani da kayan aiki (umarni don Ubuntu; idan kuna da Arch, to kun san sarai abin da za ku yi ba tare da ni ba).

Anan da ƙari, na yi imani cewa an shirya bidiyon a cikin Tsarin Shirya HD, watau 1280x720. Gabatarwa mai girman inci 10 a kwance yana ba da daidai wannan girman lokacin da aka sauke (duba zaɓi -r 128).

Ana shirya rubutun

Idan kuna son yin abubuwa masu mahimmanci, jawabinku yana buƙatar fara rubutawa. Na kuma yi tunanin cewa zan iya yin nassin ba tare da shiri ba, musamman da yake ina da gogewa sosai wajen koyarwa. Amma abu ɗaya ne don yin kai tsaye, kuma wani abu don yin rikodin bidiyo. Kada ku yi kasala - lokacin da aka kashe lokacin bugawa zai biya sau da yawa.

Karatun bidiyo: hanyar unix

Ga tsarin rikodi na. Lambar da ke cikin take tana daidai da lambar zamewar, ana nuna katsewar da ja. Duk wani edita ya dace da shirye-shirye, amma yana da kyau a ɗauki cikakken mai sarrafa kalma - alal misali, KawaiOffice.

Murya akan nunin faifai

Me zan iya cewa - kunna makirufo kuma rubuta :)

Kwarewa ta nuna cewa ingancin rikodi ko da daga makirufo mafi arha na waje bai misaltuwa fiye da na ginanniyar makirufo na kwamfutar tafi-da-gidanka. Idan kuna son kayan aiki masu inganci, ina ba da shawarar shi wannan labarin.

Don yin rikodi na yi amfani da shi mai rikodin sauti – aikace-aikace mai sauƙi don rikodin sauti. Kuna iya ɗaukar shi, misali, a nan:

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

Babban abu a wannan mataki shine suna suna fayilolin daidai. Dole ne sunan ya ƙunshi lambar zamewar da lambar guntuwa. An ƙididdige guntu tare da lambobi masu banƙyama - 1, 3, 5, da dai sauransu. Don haka, don zane-zane, rubutun wanda aka nuna a cikin hoton, za a ƙirƙiri fayiloli guda biyu: 002-1.mp3 и 002-3.mp3.

Idan kun yi rikodin duk bidiyon a lokaci ɗaya a cikin daki mai shiru, ba lallai ne ku ƙara yin wani abu da su ba. Idan kun yi rikodin a matakai da yawa, zai fi kyau ku daidaita matakin ƙara:

mp3gain -r *.mp3

Kayan aiki mp3 sake Don wasu dalilai ba a cikin daidaitattun ma'ajin, amma kuna iya samun shi anan:

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

Bayan duk wannan, kuna buƙatar yin rikodin wani fayil tare da shiru. Wajibi ne a ƙara waƙar sauti zuwa bidiyon shiru: idan ɗayan bidiyon yana da waƙoƙin sauti kuma ɗayan ba ya da, to yana da wahala a haɗa waɗannan bidiyon tare. Ana iya yin rikodin shiru daga makirufo, amma yana da kyau a ƙirƙiri fayil a edita Audacity. Tsawon fayil ɗin ya kamata ya zama aƙalla daƙiƙa guda (ƙarin yana yiwuwa), kuma yakamata a sanya masa suna shiru.mp3

Ana shirya bidiyon katsewa

Anan komai yana iyakance kawai da tunanin ku. Kuna iya amfani da edita don shirya bidiyo Avidemux. Wani lokaci yana cikin ma'auni na daidaitattun, amma saboda wasu dalilai an yanke shi. Wannan ba zai hana mu ba:

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

Akwai umarni da yawa don yin aiki tare da wannan editan akan Intanet, kuma bisa ga ka'ida, duk abin da ke akwai mai hankali. Yana da mahimmanci a cika sharuɗɗa da yawa.

Na farko, ƙudurin bidiyo dole ne ya dace da ƙudurin bidiyon da aka yi niyya. Don yin wannan, kuna buƙatar amfani da matattara guda biyu a cikin "bidiyon fitarwa": swsResize don canza ƙuduri da "ƙara filayen" don kunna fim ɗin "ƙunƙuntaccen tsari" na Soviet a cikin tsari mai faɗi. Duk sauran tacewa na zaɓi ne. Misali, idan wani bai fahimci dalilin da yasa bayanin Mr. Sharikov ke cikin guntun da ake tattaunawa ba, ta amfani da tace “add logo”, zaku iya rufe tambarin PostgreSQL a saman “Dog Heart”.

Na biyu, duk gutsuttsura dole ne su yi amfani da ƙimar firam iri ɗaya. Ina amfani da firam 25 a sakan daya saboda kyamarata da tsoffin fina-finan Soviet suna ba ni da yawa. Idan fim ɗin da kuke yankan an harbe shi da wani gudu daban, yi amfani da tacewar Bidiyo na Sake Samfura.

Na uku, duk gutsuttsura dole ne a matsa su da codec iri ɗaya kuma a tattara su a cikin kwantena iri ɗaya. Saboda haka, in Avidemux don tsarin, zaɓi bidiyo - "MPEG4 AVC (x264)", audio -"AAC (FAAC)", tsarin fitarwa -"MP4 Muhadara".

Abu na hudu, yana da mahimmanci a sanya sunan bidiyon da aka yanke daidai. Dole ne sunan fayil ya ƙunshi lambar nunin faifai da lambar guntuwa. An ƙididdige gutsuttsura tare da lambobi ma, farawa daga 2. Don haka, don firam ɗin da ake tattaunawa, ya kamata a kira bidiyon tare da katsewa. 002-2.mp4

Bayan an shirya bidiyon, kuna buƙatar canja wurin su zuwa kundin adireshi tare da gutsuttsura. Saituna avidemux bambanta da saituna ffmpeg ta tsohuwa tare da m sigogi tbr, tbn, tbc. Ba sa shafar sake kunnawa, amma ba sa ƙyale a haɗa bidiyon tare. Don haka bari mu sake rikodin:

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

Shooting screensavers

Anan ma, komai mai sauƙi ne: kuna harba a kan bangon wasu dabarun wayo, sanya bidiyon da aka samu a cikin kasida. rec, kuma daga can canza shi zuwa kundin adireshi tare da guntu. Dokokin sanya suna iri ɗaya ne da na katse magana, umarnin sake rikodin shine kamar haka:

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

Idan kuna shirin fara bidiyon da jawabin ku, ambaci wannan guntun 000-1.mp4

Yin firam daga hotuna a tsaye

Lokaci ya yi da za a shirya bidiyo daga hotuna da sauti na tsaye. Ana yin wannan tare da rubutun mai zuwa:

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

Lura cewa tsawon fayil ɗin mai jiwuwa an fara ƙaddara ta mai amfani soxi, sa'an nan kuma an gyara bidiyo na tsawon da ake bukata. Duk shawarwarin da na samo sun fi sauƙi: maimakon tuta -t ${lokacin} ana amfani da tuta -mafi gajarta... A gaskiya ffmpeg yana ƙayyade tsawon mp3 sosai, kuma yayin gyarawa, tsawon waƙar mai jiwuwa na iya bambanta sosai (da daƙiƙa ɗaya ko biyu) daga tsawon waƙar bidiyo. Wannan ba kome ba idan duk bidiyon ya ƙunshi firam guda ɗaya, amma lokacin da kuka manne irin wannan bidiyon tare da katsewa a kan iyaka, yana haifar da mummunan tasiri.

Wata hanya don sanin tsawon lokacin fayil mp3 shine amfani mp3 bayani. Ita ma tana yin kurakurai, wani lokacin kuma ffmpeg bada fiye da mp3 bayani, wani lokacin yana da wata hanya, wani lokacin duka biyu suna karya - Ban lura da wani tsari ba. Kuma a nan soxi yana aiki daidai.

Don shigar da wannan kayan aiki mai amfani, yi wannan:

sudo apt-get install sox libsox-fmt-mp3

Yin canji tsakanin nunin faifai

Canji wani ɗan gajeren bidiyo ne wanda faifan bidiyo zai juya zuwa wani. Don yin irin waɗannan bidiyon, muna ɗaukar nunin faifai bi-biyu muna amfani imagemagick canza daya zuwa wani:

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

Don wasu dalilai na so faifan ya watse da dige-dige, sa'an nan kuma za a haɗa zane na gaba daga ɗigon, don haka na rubuta rubutun mai suna. fadi.pl Samun imagemagick, ainihin mai amfani da Linux zai haifar da kowane tasiri na musamman, amma idan wani yana son ra'ayina tare da watsawa, ga rubutun:

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

Muna hawa bidiyon da aka gama

Yanzu muna da duk guntu. Jeka kasida shirye-shiryen bidiyo sannan a hada fim din da aka gama ta amfani da umarni guda biyu:

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

Ji daɗin kallon ga ɗaliban ku masu godiya!

source: www.habr.com

Add a comment