..

Cita skaņas celiņa pievienošana video

Dažreiz nonāc situācijā, kad esi atradis kaut kādu video ar skaņu latviešu valodā, taču video kvalitāte ir zema. Varbūt vēlies paņemt skaņu no šī faila un uzlikt daudz labākas kvalitātes citam video failam.

Meklējot internetā rīkus, ar kuriem to var izdarīt, bieži atrodas tikai maksas programmas vai dažādi apšaubāmas uzticamības rīki no stila “Best movie file converter pro”.

Visās operētājsistēmās ir iespējams uzstādīt komandrindas rīku ffmpeg, kurš patiesībā ir pamatā lielākajai daļai video konvertieru un spēlētāju. Atliek iedziļināties komandu dokumentācijā un tad šīs komandas pierakstīt blogā, lai tās noder arī citiem.

FFmpeg ir ļoti jaudīgs video apstrādes rīks, tāpēc došu šeit vairākus konkrētus piemērus funkcijām, kuras pašam ir nācies izmantot.

Kā rīku instalēt? Uz macOS gandrīz visi komandrindas rīki ērti instalējas ar Homebrew. Ieteiktu Homebrew uzinstalēt jebkurā macOS ierīcē, jo agri vai vēlu tas noderēs.

Ja Homebrew ir uzstādīts, tad uzinstalēt FFmpeg ir gaužām vienkārši:

brew install ffmpeg

Tagad komandrindā būs pieejams ffmpeg un ffprobe, otrais tiek izmantots lai noteiktu video parametrus. Mūs vairāk interesēs video garums un kadri sekundē (fps).

Galvenais no šī visa ir noskaidrot vai viens video fails ir +/- tāda paša garuma kā otrs. Ja video avots ir pilnīgi cits, tad arī skaņa nesakritīs. Var protams skaņu arī pārbīdīt, bet tas ir gaužām sarežģīti komandrindas interfeisā, jāzin precīzi par cik milisekundēm audio vajadzīgs kavēt, bet vieglāk ir atrast pareizā avota video un izmantot pielāgošanai tādu.

Tagad minēšu dažus konkrētus piemērus ko vari izdarīt, kad esi atradis aptuveni viena garuma un vienāda FPS video.

Kavēt skaņu par 1.2s

ffmpeg -i same.mkv -itsoffset 1.2 -i same.mkv -map 0:0 -map 1:1 -c copy delayed.mkv

Ņemt video no pirmā, audio no otrā

ffmpeg -i pirmais.mkv -i otrais.mkv -map 0:v -map 1:a -codec copy -shortest rezultats.mkv

Apvienot divus failus vienu otram galā

ffmpeg -i "concat:pirmais.avi|otrais.avi" -c copy abi.avi

Samazināt FPS no 25 uz 23.9

Šeit rezultāti mēdz būt dažādi, bet nu bieži ir tā, ka Latvijā atrodamie video būs 25 (PAL) sistēmā un to skaņas celiņa garums atšķirsies no ASV izmantotā 23.9FPS (NTSC) formāta failu celiņa garuma, turklāt atšķirsies nelineāri. Tos var salāgot kaut kur pa vidu, taču uz beigām atkal sāksies nobīde. Tad nu jākonvertē audio ar šādu komandu:

ffmpeg -r 24000/1001 -i latviskais.mp4 -vcodec libx264 -preset ultrafast -crf 14 -acodec libmp3lame -ab 224k -filter:a atempo=0.959040959040959 -r 24000/1001 rezultats.mp4