Nā haʻiʻōlelo wikiō: unix way

Nā haʻiʻōlelo wikiō: unix way
He manawa maikaʻi ʻo Quarantine e aʻo ai i kekahi mea. Eia naʻe, e like me kou hoʻomaopopo ʻana, i mea e aʻo ai kekahi, pono e aʻo kekahi. Inā loaʻa iā ʻoe kahi hōʻike āu e makemake ai e hāʻawi i ka lehulehu o nā miliona a loaʻa ka kaulana o ka honua, a laila no ʻoe kēia ʻatikala. Ma ʻaneʻi ʻoe e ʻike ai i nā ʻōlelo aʻoaʻo i kēlā me kēia pae i ka hana ʻana i wikiō mai kāu hōʻike.

Hoʻokuʻu mākou i ke ala o ka hoʻopaʻa ʻana i "nā manaʻo leo" ma PowerPoint a me ka lawe ʻana i ka hōʻike i ka wikiō ma ke ʻano he mea liʻiliʻi a ʻaʻole hāʻawi i ka hapaʻumi o nā mana e pono ai no kahi wikiō ʻoluʻolu maoli.

ʻO ka mea mua, e hoʻoholo kākou i nā papa e pono ai mākou:

  1. ʻO nā paheʻe maoli me ka leo
  2. Ke hoʻololi nei i nā paheʻe
  3. Nā huaʻōlelo mai nā kiʻiʻoniʻoni kaulana
  4. Nui nā kiʻi me ka maka o ke kumu aʻo a me kāna pōpoki punahele (koho ʻia)

Ke hana nei i kahi papa kuhikuhi

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

ʻO ke kumu o nā papa kuhikuhi ma ke ʻano o ka papa inoa: nā kiʻiʻoniʻoni kahi e huki ai mākou i nā huaʻōlelo (clipart), nā ʻāpana o kā mākou wikiō e hiki mai ana (clips), nā wikiō mai ke kāmela (rec), nā paheʻe ma ke ʻano o nā kiʻi (slide), kani. (kani).

Ke hana nei i kahi hōʻike ma nā kiʻi

No ka mea hoʻohana Linux ʻulaʻula maoli, ʻo ka hana ʻana i kahi hōʻike ma ke ʻano o nā kiʻi ʻaʻole e hōʻike i nā pilikia. E hoʻomanaʻo wale wau iā ʻoe e hiki ke hoʻopaʻa ʻia kahi palapala ma ka format pdf i nā kiʻi me ka hoʻohana ʻana i ke kauoha

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

Inā ʻaʻohe kauoha e like me ia, e hoʻokomo i ka pūʻolo iā ʻoe iho poppler-utils (nā ʻōlelo aʻoaʻo no Ubuntu; inā loaʻa iā ʻoe ʻo Arch, a laila ʻike maopopo ʻoe i ka mea e hana ai me aʻu ʻole).

Eia a ʻoi aku, manaʻo wau ua hoʻomākaukau ʻia ke wikiō ma ke ʻano HD Ready, ʻo ia hoʻi 1280x720. ʻO kahi hōʻike me ka nui ākea o 10 mau ʻīniha e hāʻawi pololei i kēia nui ke wehe ʻia (e ʻike i ke koho -r 128).

Hoʻomākaukau i ka kikokikona

Inā makemake ʻoe e hana i nā mea maikaʻi loa, pono e kākau mua kāu ʻōlelo. Ua manaʻo nō hoʻi au e hiki iaʻu ke ʻōlelo i ka kikokikona me ka hoʻomākaukau ʻole ʻana, ʻoiai ua loaʻa iaʻu ka ʻike maikaʻi i ka haʻi ʻōlelo. Akā, hoʻokahi mea e hoʻokani ola, a ʻo kekahi mea e hoʻopaʻa wikiō. Mai palaualelo - e uku nui ana ka manawa e paʻi ai.

Nā haʻiʻōlelo wikiō: unix way

Eia kaʻu ʻano hoʻopaʻa leo. ʻO ka helu ma ke poʻo inoa e like me ka helu paheʻe, hōʻike ʻia nā keakea i ka ʻulaʻula. He kūpono kēlā me kēia mea hoʻoponopono no ka hoʻomākaukau ʻana, akā ʻoi aku ka maikaʻi o ka lawe ʻana i kahi kaʻina huaʻōlelo piha - no ka laʻana, 'AiHoʻo.

Leo ma luna o nā paheʻe

He aha kaʻu e ʻōlelo ai - e hoʻā i ka microphone a kākau :)

Hōʻike ka ʻike e ʻoi aku ka maikaʻi o ka hoʻopaʻa ʻana mai ka microphone waho haʻahaʻa loa ma mua o ka microphone i kūkulu ʻia o kahi pona. Inā makemake ʻoe i nā lako maikaʻi, paipai wau kēia ʻatikala.

No ka hoʻopaʻa ʻana aʻu i hoʻohana ai mea hoʻopaʻa leo - he noi maʻalahi loa no ka hoʻopaʻa leo. Hiki iā ʻoe ke lawe, no ka laʻana, ma aneʻi:

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

ʻO ka mea nui ma kēia ʻanuʻu, ʻo ia ka inoa pololei i nā faila. Pono ka inoa me ka helu paheʻe a me ka helu ʻāpana. Ua helu ʻia nā ʻāpana me nā helu ʻokoʻa - 1, 3, 5, a me nā mea ʻē aʻe. 002-1.mp3 и 002-3.mp3.

Inā hoʻopaʻa ʻoe i nā wikiō a pau i ka manawa hoʻokahi i loko o kahi lumi mālie, ʻaʻole pono ʻoe e hana hou me lākou. Inā hoʻopaʻa ʻoe i kekahi mau ʻanuʻu, ʻoi aku ka maikaʻi o ka hoʻohālikelike ʻana i ka pae leo:

mp3gain -r *.mp3

Nā mea hoʻohana mp3gain No kekahi kumu ʻaʻole ia i loko o nā waihona waihona maʻamau, akā hiki iā ʻoe ke kiʻi ma aneʻi:

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

Ma hope o kēia mau mea, pono ʻoe e hoʻopaʻa i kahi faila ʻē aʻe me ka hāmau. Pono e hoʻohui i kahi mele kani i nā wikiō leo leo: inā he mele kani kekahi wikiō a ʻaʻole kekahi, a laila paʻakikī ke hoʻopili i kēia mau wikiō. Hiki ke hoʻopaʻa ʻia ka leo mai kahi microphone, akā ʻoi aku ka maikaʻi o ka hana ʻana i kahi faila i ka mea hoʻoponopono ʻO ke kuhi. Pono ka lōʻihi o ka faila ma kahi o hoʻokahi kekona (ʻoi aku ka hiki ke hiki), a pono e kapa ʻia hāmau.mp3

Hoʻomākaukau i nā wikiō hoʻopau

Eia nā mea a pau i kaupalena wale ʻia e kou manaʻo. Hiki iā ʻoe ke hoʻohana i ka mea hoʻoponopono e hoʻoponopono i nā wikiō Avidemux. I kekahi manawa aia i loko o nā waihona maʻamau, akā no kekahi kumu ua ʻoki ʻia. ʻAʻole kēia e kāpae iā mākou:

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

Nui nā ʻōlelo aʻoaʻo no ka hana ʻana me kēia mea hoʻoponopono ma ka Pūnaewele, a ma ke kumu, aia nā mea āpau ma laila. He mea nui e hoʻokō i kekahi mau kūlana.

ʻO ka mua, pono e kūlike ka hoʻonā wikiō me ka hoʻonā wikiō. No ka hana ʻana i kēia, pono ʻoe e hoʻohana i nā kānana ʻelua i ka "video output": swsResize e hoʻololi i ka hoʻonā a me ka "hoʻohui ʻana i nā kahua" e hoʻohuli i kahi kiʻiʻoniʻoni Soviet "narrow format" i kahi ākea ākea. ʻO nā kānana ʻē aʻe a pau he koho. Eia kekahi laʻana, inā maopopoʻole kekahi i ke kumu o ka'ōlelo a Mr. Sharikov i loko o ka'āpana ma lalo o ke kūkākūkāʻana, me ka hoʻohanaʻana i ka kānana "add logo", hiki iāʻoe ke uhi i ka hōʻailona PostgreSQL ma luna o ka "Dog Heart".

ʻO ka lua, pono e hoʻohana nā ʻāpana a pau i ka helu hoʻohālikelike like. Hoʻohana au i 25 mau kiʻi i kēlā me kēia kekona no ka mea hāʻawi kaʻu kamera a me nā kiʻiʻoniʻoni Soviet kahiko iaʻu. Inā kiʻi ʻia ke kiʻiʻoniʻoni āu e ʻoki nei i kahi wikiwiki ʻē aʻe, e hoʻohana i ka kānana Resample Video.

ʻO ke kolu, pono e hoʻopili ʻia nā ʻāpana āpau me ka codec like a hoʻopaʻa ʻia i loko o nā pahu like. No laila ma Avidemux no ke ʻano, koho wikiō - "MPEG4 AVC (x264)", leo -"AAC (FAAC)", puka puka -"MP4 Muxer".

ʻO ka hā, he mea nui e inoa pololei i nā wikiō i ʻoki ʻia. Pono ka inoa faila me ka helu paheʻe a me ka helu ʻāpana. Ua helu ʻia nā ʻāpana me nā helu like, e hoʻomaka ana mai ka 2. No laila, no ke kiʻi ma lalo o ke kūkākūkā ʻana, pono ke kāhea ʻia ke wikiō me ke keakea. 002-2.mp4

Ma hope o ka mākaukau ʻana o nā wikiō, pono ʻoe e hoʻoili iā lākou i ka papa kuhikuhi me nā ʻāpana. Nā hoʻonohonoho avidemux ʻokoʻa mai nā hoʻonohonoho ffmpeg ma ka paʻamau me nā ʻāpana pohihihi tbr, tbn, tbc. ʻAʻole pili lākou i ka pāʻani, akā ʻaʻole lākou e ʻae i nā wikiō e hoʻopili pū ʻia. No laila e hoʻololi hou kākou:

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

Nā kiʻi paʻi kiʻi

Eia nō hoʻi, maʻalahi nā mea a pau: pana ʻoe i ke kua o kekahi hoʻolālā akamai, hoʻokomo i nā wikiō hopena i loko o kahi palapala. hoʻop, a mai laila e hoʻoili i ka papa kuhikuhi me nā ʻāpana. Ua like nā lula inoa me nā huaʻōlelo interrupt, ʻo ke kauoha recoding penei:

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

Inā hoʻolālā ʻoe e hoʻomaka i ke wikiō me kāu ʻōlelo, e inoa i kēia ʻāpana 000-1.mp4

Ke hana ʻana i nā kiʻi mai nā kiʻi paʻa

ʻO ka manawa kēia e hoʻoponopono i nā wikiō mai nā kiʻi paʻa a me ke kani. Hana ʻia kēia me kēia ʻatikala:

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

E ʻoluʻolu, e hoʻoholo mua ka lōʻihi o ka faila leo e ka pono soxi, a laila hoʻoponopono ʻia ke wikiō o ka lōʻihi i koi ʻia. ʻOi aku ka maʻalahi o nā ʻōlelo aʻoaʻo a pau: ma kahi o ka hae -t ${ka lōʻihi} hoʻohana ʻia ka hae -pōkole loa... ʻOiaʻiʻo ffmpeg e hoʻoholo i ka lōʻihi o ka mp3 ma kahi kokoke loa, a ma ka hoʻoponopono ʻana, hiki ke ʻokoʻa ka lōʻihi o ke mele leo (e hoʻokahi a ʻelua paha kekona) mai ka lōʻihi o ke mele wikiō. ʻAʻole pili kēia inā loaʻa ka wikiō holoʻokoʻa i hoʻokahi kiʻi, akā i ka wā e hoʻopili ai ʻoe i kēlā wikiō me nā keʻakeʻa ma ka palena, hiki mai nā hopena stuttering maikaʻi ʻole.

ʻO kahi ala ʻē aʻe e hoʻoholo ai i ka lōʻihi o kahi faila mp3 e hoʻohana mp3info. Hana hewa pū ʻo ia, a i kekahi manawa ffmpeg hāʻawi ʻoi aku ma mua o mp3info, i kekahi manawa ʻo ia ka ʻaoʻao ʻē aʻe, i kekahi manawa hoʻopunipuni lāua ʻelua - ʻaʻole wau i ʻike i kekahi kumu. A maanei soxi hana pololei.

No ka hoʻokomo ʻana i kēia pono pono, e hana i kēia:

sudo apt-get install sox libsox-fmt-mp3

Ke hoʻololi nei i waena o nā paheʻe

ʻO ka hoʻololi he wikiō pōkole kahi e hoʻololi ai kekahi paheʻe i kekahi. No ka hana ʻana i ia mau wikiō, lawe pū mākou i nā paheʻe a hoʻohana kiʻi kiʻi kiʻi e hoʻololi i kekahi i kekahi:

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

No kekahi kumu, makemake au e hoʻopuehu ʻia ka paheʻe me nā kiko, a laila e hui ʻia ka paheʻe aʻe mai nā kiko, a no ia mea ua kākau wau i kahi palapala i kapa ʻia. fade.pl Loaʻa iā kiʻi kiʻi kiʻi, he mea hoʻohana Linux maoli e hana i kekahi hopena kūikawā, akā inā makemake kekahi i koʻu manaʻo me ka hoʻopuehu, eia ka palapala:

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

Kau mākou i ka wikiō i hoʻopau ʻia

I kēia manawa ua loaʻa iā mākou nā ʻāpana āpau. E hele i ka papa inoa pakalōlō a hoʻohui i ke kiʻiʻoniʻoni i hoʻopau ʻia me nā kauoha ʻelua:

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

E hauʻoli i ka nānā ʻana i kāu mau haumāna mahalo!

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka