వీడియో ఉపన్యాసాలు: unix వే

వీడియో ఉపన్యాసాలు: unix వే
దిగ్బంధం అనేది ఏదైనా నేర్చుకోవడానికి అద్భుతమైన సమయం. అయితే, మీరు అర్థం చేసుకున్నట్లుగా, ఎవరైనా ఏదైనా నేర్చుకోవాలంటే, ఎవరైనా బోధించాలి. మీరు మిలియన్ల మంది ప్రేక్షకులకు అందించాలని మరియు ప్రపంచవ్యాప్త ఖ్యాతిని పొందాలనుకునే ప్రెజెంటేషన్‌ను కలిగి ఉంటే, ఈ కథనం మీ కోసం. ఇక్కడ మీరు మీ ప్రెజెంటేషన్ నుండి వీడియోను ఎలా రూపొందించాలో దశల వారీ సూచనలను కనుగొంటారు.

పవర్‌పాయింట్‌లో “ఆడియో కామెంట్‌లు” రికార్డ్ చేయడం మరియు ప్రెజెంటేషన్‌ను వీడియోకు ఎగుమతి చేయడం అనేది చిన్నవిషయమని మేము విస్మరిస్తాము మరియు నిజంగా అద్భుతమైన వీడియో కోసం అవసరమైన సామర్థ్యాలలో పదవ వంతును అందించడం లేదు.

మొదట, మనకు ఏ ఫ్రేమ్‌లు అవసరమో నిర్ణయించుకుందాం:

  1. వాయిస్‌ఓవర్‌తో అసలు స్లయిడ్‌లు
  2. స్లయిడ్లను మార్చడం
  3. జనాదరణ పొందిన చిత్రాల నుండి కోట్‌లు
  4. లెక్చరర్ ముఖం మరియు అతనికి ఇష్టమైన పిల్లితో అనేక ఫ్రేమ్‌లు (ఐచ్ఛికం)

డైరెక్టరీ నిర్మాణాన్ని సృష్టిస్తోంది

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

జాబితా క్రమంలో డైరెక్టరీల ప్రయోజనం: మేము కోట్‌లు (క్లిపార్ట్), మన భవిష్యత్ వీడియో యొక్క శకలాలు (క్లిప్‌లు), కెమెరా నుండి వీడియోలు (rec), చిత్రాల రూపంలో స్లైడ్‌లు (స్లయిడ్), ధ్వని (ధ్వని).

చిత్రాలలో ప్రదర్శనను రూపొందించడం

నిజమైన రెడ్-ఐడ్ Linux వినియోగదారు కోసం, చిత్రాల రూపంలో ప్రెజెంటేషన్ చేయడం వల్ల ఎలాంటి సమస్యలు ఉండవు. పిడిఎఫ్ ఫార్మాట్‌లోని పత్రాన్ని కమాండ్‌ని ఉపయోగించి ఇమేజ్‌లుగా అన్వయించవచ్చని నేను మీకు గుర్తు చేస్తున్నాను

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

అటువంటి ఆదేశం లేకపోతే, ప్యాకేజీని మీరే ఇన్‌స్టాల్ చేయండి poppler-utils (ఉబుంటు కోసం సూచనలు; మీకు ఆర్చ్ ఉంటే, నేను లేకుండా ఏమి చేయాలో మీకు బాగా తెలుసు).

ఇక్కడ మరియు ఇంకా, వీడియో HD రెడీ ఫార్మాట్‌లో సిద్ధం చేయబడిందని నేను నమ్ముతున్నాను, అంటే 1280x720. 10 అంగుళాల క్షితిజ సమాంతర పరిమాణంతో ఉన్న ప్రెజెంటేషన్ అన్‌లోడ్ చేసినప్పుడు సరిగ్గా ఈ పరిమాణాన్ని ఇస్తుంది (-r 128 ఎంపికను చూడండి).

వచనాన్ని సిద్ధం చేస్తోంది

మీరు నిజంగా గొప్ప విషయాలను తయారు చేయాలనుకుంటే, ముందుగా మీ ప్రసంగాన్ని వ్రాయాలి. ముఖ్యంగా పాఠాలు చెప్పడంలో నాకు మంచి అనుభవం ఉండడంతో ప్రిపరేషన్ లేకుండా పాఠ్యాంశం మాట్లాడగలనని కూడా అనుకున్నాను. కానీ ప్రత్యక్షంగా ప్రదర్శించడం ఒక విషయం మరియు వీడియోను రికార్డ్ చేయడం మరొక విషయం. సోమరితనం చేయవద్దు - టైప్ చేయడానికి గడిపిన సమయం చాలా సార్లు చెల్లించబడుతుంది.

వీడియో ఉపన్యాసాలు: unix వే

ఇదిగో నా రికార్డింగ్ ఫార్మాట్. శీర్షికలోని సంఖ్య స్లయిడ్ సంఖ్యకు సమానంగా ఉంటుంది, అంతరాయాలు ఎరుపు రంగులో హైలైట్ చేయబడతాయి. ఏదైనా ఎడిటర్ తయారీకి అనుకూలంగా ఉంటుంది, కానీ పూర్తి స్థాయి వర్డ్ ప్రాసెసర్‌ను తీసుకోవడం మంచిది - ఉదాహరణకు, OnlyOffice.

స్లయిడ్‌లపై వాయిస్

నేను ఏమి చెప్పగలను - మైక్రోఫోన్ ఆన్ చేసి వ్రాయండి :)

ల్యాప్‌టాప్‌లోని అంతర్నిర్మిత మైక్రోఫోన్ కంటే చౌకైన బాహ్య మైక్రోఫోన్ నుండి రికార్డింగ్ నాణ్యత సాటిలేని విధంగా మెరుగ్గా ఉందని అనుభవం చూపిస్తుంది. మీకు నాణ్యమైన పరికరాలు కావాలంటే, నేను దానిని సిఫార్సు చేస్తున్నాను ఈ వ్యాసం.

రికార్డింగ్ కోసం నేను ఉపయోగించాను ఆడియో-రికార్డర్ - సౌండ్ రికార్డింగ్ కోసం చాలా సులభమైన అప్లికేషన్. మీరు దీన్ని తీసుకోవచ్చు, ఉదాహరణకు, ఇక్కడ:

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

ఈ దశలో ప్రధాన విషయం ఏమిటంటే ఫైళ్ళకు సరిగ్గా పేరు పెట్టడం. పేరు తప్పనిసరిగా స్లయిడ్ సంఖ్య మరియు ఫ్రాగ్మెంట్ సంఖ్యను కలిగి ఉండాలి. శకలాలు బేసి సంఖ్యలతో లెక్కించబడ్డాయి - 1, 3, 5, మొదలైనవి. కాబట్టి, స్లయిడ్ కోసం, చిత్రంలో చూపబడిన వచనం, రెండు ఫైల్‌లు సృష్టించబడతాయి: 002-1.mp3 и 002-3.mp3.

మీరు నిశ్శబ్ద గదిలో ఒకేసారి అన్ని వీడియోలను రికార్డ్ చేసినట్లయితే, మీరు వాటితో ఇంకేమీ చేయవలసిన అవసరం లేదు. మీరు అనేక దశల్లో రికార్డ్ చేసినట్లయితే, వాల్యూమ్ స్థాయిని సమం చేయడం ఉత్తమం:

mp3gain -r *.mp3

యుటిలిటీస్ mp3 లాభం కొన్ని కారణాల వలన ఇది ప్రామాణిక రిపోజిటరీలలో లేదు, కానీ మీరు దానిని ఇక్కడ పొందవచ్చు:

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

వీటన్నింటి తర్వాత, మీరు నిశ్శబ్దంతో మరొక ఫైల్‌ను రికార్డ్ చేయాలి. నిశ్శబ్ద వీడియోలకు సౌండ్ ట్రాక్‌ని జోడించడం అవసరం: ఒక వీడియోలో సౌండ్ ట్రాక్ ఉంటే మరియు మరొకటి లేకపోతే, ఈ వీడియోలను కలిపి అతికించడం కష్టం. నిశ్శబ్దాన్ని మైక్రోఫోన్ నుండి రికార్డ్ చేయవచ్చు, కానీ ఎడిటర్‌లో ఫైల్‌ను సృష్టించడం మంచిది అడాసిటీ. ఫైల్ పొడవు కనీసం సెకను ఉండాలి (మరింత సాధ్యమే), మరియు దానికి పేరు పెట్టాలి నిశ్శబ్దం.mp3

అంతరాయ వీడియోలను సిద్ధం చేస్తోంది

ఇక్కడ ప్రతిదీ మీ ఊహ ద్వారా మాత్రమే పరిమితం చేయబడింది. మీరు వీడియోలను సవరించడానికి ఎడిటర్‌ని ఉపయోగించవచ్చు Avidemux. ఒకప్పుడు ఇది ప్రామాణిక రిపోజిటరీలలో ఉండేది, కానీ కొన్ని కారణాల వల్ల అది కత్తిరించబడింది. ఇది మమ్మల్ని ఆపదు:

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

ఇంటర్నెట్‌లో ఈ ఎడిటర్‌తో పనిచేయడానికి చాలా సూచనలు ఉన్నాయి మరియు సూత్రప్రాయంగా, అక్కడ ప్రతిదీ సహజమైనది. అనేక షరతులకు అనుగుణంగా ఉండటం ముఖ్యం.

ముందుగా, వీడియో రిజల్యూషన్ తప్పనిసరిగా టార్గెట్ వీడియో రిజల్యూషన్‌తో సరిపోలాలి. దీన్ని చేయడానికి, మీరు "అవుట్‌పుట్ వీడియో"లో రెండు ఫిల్టర్‌లను ఉపయోగించాలి: రిజల్యూషన్‌ను మార్చడానికి swsResize మరియు సోవియట్ "ఇరుకైన ఫార్మాట్" ఫిల్మ్‌ను విస్తృత ఆకృతిలోకి మార్చడానికి "ఫీల్డ్‌లను జోడించడం". అన్ని ఇతర ఫిల్టర్‌లు ఐచ్ఛికం. ఉదాహరణకు, "లోగోను జోడించు" ఫిల్టర్‌ని ఉపయోగించి, Mr. Sharikov యొక్క ప్రకటన చర్చలో ఉన్న ఫ్రాగ్‌మెంట్‌లో ఎందుకు ఉందో ఎవరికైనా అర్థం కాకపోతే, మీరు PostgreSQL లోగోను "డాగ్ హార్ట్" పైన అతివ్యాప్తి చేయవచ్చు.

రెండవది, అన్ని శకలాలు ఒకే ఫ్రేమ్ రేటును ఉపయోగించాలి. నేను సెకనుకు 25 ఫ్రేమ్‌లను ఉపయోగిస్తాను ఎందుకంటే నా కెమెరా మరియు పాత సోవియట్ ఫిల్మ్‌లు నాకు చాలా ఇస్తాయి. మీరు కత్తిరించే సినిమా వేరే వేగంతో చిత్రీకరించబడితే, రీసాంపుల్ వీడియో ఫిల్టర్‌ని ఉపయోగించండి.

మూడవదిగా, అన్ని శకలాలు ఒకే కోడెక్‌తో కంప్రెస్ చేయబడాలి మరియు అదే కంటైనర్‌లలో ప్యాక్ చేయాలి. అందువలన, లో Avidemux ఫార్మాట్ కోసం, వీడియోను ఎంచుకోండి – “Mpeg4 AVC (x264)", ఆడియో -"AAC (FAAC)", అవుట్‌పుట్ ఫార్మాట్ -"MP4 ముక్సర్".

నాల్గవది, కట్ వీడియోలకు సరిగ్గా పేరు పెట్టడం ముఖ్యం. ఫైల్ పేరు తప్పనిసరిగా స్లయిడ్ సంఖ్య మరియు ఫ్రాగ్మెంట్ సంఖ్యను కలిగి ఉండాలి. శకలాలు సరి సంఖ్యలతో లెక్కించబడతాయి, 2 నుండి మొదలవుతాయి. కాబట్టి, చర్చలో ఉన్న ఫ్రేమ్ కోసం, అంతరాయంతో ఉన్న వీడియోని పిలవాలి 002-2.mp4

వీడియోలు సిద్ధమైన తర్వాత, మీరు వాటిని శకలాలతో డైరెక్టరీకి బదిలీ చేయాలి. సెట్టింగ్‌లు avidemux సెట్టింగుల నుండి భిన్నంగా ఉంటుంది FFmpeg tbr, tbn, tbc అనే రహస్యమైన పారామితులతో డిఫాల్ట్‌గా. అవి ప్లేబ్యాక్‌ను ప్రభావితం చేయవు, కానీ అవి వీడియోలను ఒకదానితో ఒకటి అతుక్కోవడానికి అనుమతించవు. కాబట్టి రీకోడ్ చేద్దాం:

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

షూటింగ్ స్క్రీన్‌సేవర్‌లు

ఇక్కడ కూడా ప్రతిదీ చాలా సులభం: మీరు కొన్ని తెలివైన స్కీమ్‌ల నేపథ్యంలో షూట్ చేసి, ఫలిత వీడియోలను కేటలాగ్‌లో ఉంచండి REC, మరియు అక్కడ నుండి దానిని శకలాలతో డైరెక్టరీకి బదిలీ చేయండి. పేరు పెట్టే నియమాలు అంతరాయ కోట్‌ల మాదిరిగానే ఉంటాయి, రీకోడింగ్ ఆదేశం క్రింది విధంగా ఉంటుంది:

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

మీరు మీ ప్రసంగంతో వీడియోను ప్రారంభించాలని ప్లాన్ చేస్తే, ఈ భాగానికి పేరు పెట్టండి 000-1.mp4

స్టాటిక్ చిత్రాల నుండి ఫ్రేమ్‌లను తయారు చేయడం

స్టాటిక్ ఇమేజ్‌లు మరియు సౌండ్ నుండి వీడియోలను ఎడిట్ చేయడానికి ఇది సమయం. ఇది క్రింది స్క్రిప్ట్‌తో చేయబడుతుంది:

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

ఆడియో ఫైల్ యొక్క వ్యవధి మొదట యుటిలిటీ ద్వారా నిర్ణయించబడుతుందని దయచేసి గమనించండి soxi, ఆపై అవసరమైన పొడవు యొక్క వీడియో సవరించబడుతుంది. నేను కనుగొన్న అన్ని సిఫార్సులు సరళమైనవి: ఫ్లాగ్‌కు బదులుగా -t ${duration} జెండా ఉపయోగించబడుతుంది - చిన్నది. నిజానికి FFmpeg mp3 నిడివిని చాలా సుమారుగా నిర్ణయిస్తుంది మరియు ఎడిటింగ్ సమయంలో, ఆడియో ట్రాక్ యొక్క పొడవు వీడియో ట్రాక్ పొడవు నుండి చాలా తేడా ఉంటుంది (ఒకటి లేదా రెండు సెకన్లు). మొత్తం వీడియో ఒకే ఫ్రేమ్‌ను కలిగి ఉంటే ఇది పట్టింపు లేదు, కానీ మీరు సరిహద్దు వద్ద అంతరాయాలతో అటువంటి వీడియోను జిగురు చేసినప్పుడు, చాలా అసహ్యకరమైన నత్తిగా మాట్లాడటం జరుగుతుంది.

mp3 ఫైల్ యొక్క వ్యవధిని నిర్ణయించడానికి మరొక మార్గం ఉపయోగించడం mp3info. ఆమె కూడా తప్పులు చేస్తుంది మరియు కొన్నిసార్లు FFmpeg కంటే ఎక్కువ ఇస్తుంది mp3info, కొన్నిసార్లు ఇది మరొక మార్గం, కొన్నిసార్లు అవి రెండూ అబద్ధం - నేను ఏ నమూనాను గమనించలేదు. మరియు ఇక్కడ soxi సరిగ్గా పనిచేస్తుంది.

ఈ ఉపయోగకరమైన యుటిలిటీని ఇన్‌స్టాల్ చేయడానికి, ఇలా చేయండి:

sudo apt-get install sox libsox-fmt-mp3

స్లయిడ్‌ల మధ్య మార్పులను చేస్తోంది

పరివర్తన అనేది ఒక చిన్న వీడియో, దీనిలో ఒక స్లయిడ్ మరొకదానికి మారుతుంది. అటువంటి వీడియోలను రూపొందించడానికి, మేము స్లయిడ్లను జతలుగా తీసుకొని ఉపయోగిస్తాము imagemagick ఒకదానిని మరొకటిగా మార్చండి:

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

కొన్ని కారణాల వల్ల స్లయిడ్ చుక్కలతో చెల్లాచెదురుగా ఉండాలని నేను కోరుకున్నాను, ఆపై తదుపరి స్లయిడ్ చుక్కల నుండి సమీకరించబడుతుంది మరియు దీని కోసం నేను అనే స్క్రిప్ట్‌ను వ్రాసాను fade.pl కలిగి imagemagick, నిజమైన Linux వినియోగదారు ఏదైనా ప్రత్యేక ప్రభావాన్ని సృష్టిస్తారు, కానీ ఎవరైనా నా ఆలోచనను స్కాటరింగ్‌తో ఇష్టపడితే, ఇక్కడ స్క్రిప్ట్ ఉంది:

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

మేము పూర్తి చేసిన వీడియోను మౌంట్ చేస్తాము

ఇప్పుడు మన దగ్గర అన్ని శకలాలు ఉన్నాయి. కేటలాగ్‌కి వెళ్లండి క్లిప్లను మరియు రెండు ఆదేశాలను ఉపయోగించి పూర్తయిన ఫిల్మ్‌ను సమీకరించండి:

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

మీ కృతజ్ఞత గల విద్యార్థులను చూసి ఆనందించండి!

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి