2024. május 30., csütörtök

Gyorskeresés

Az ffmpeg videókonvertáló

Írásomban az ffmpeg videókonvertálót szeretném bemutatni. Jelige: kezdőtől kezdőknek!

[ ÚJ TESZT ]

Legfontosabb paraméterek

Míg a grafikus programokban a beállításokat különféle menükkel, választógombokkal tudjuk konfigurálni, addig a parancssoros programokat ún. kapcsolók vagy paraméterek segítségével tudjuk a számunkra kívánatos működésre bírni.

Az ffmpeg esetében sokat segíthet a dokumentáció, mely az összes kapcsoló leírását tartalmazza. Megpróbálom áttekinteni a legfontosabbakat, illetve azokat, amelyek az általam felvázolt esetekben szükségesek.

Bemeneti fájl(ok) megadása:
-i <fájl elérési útvonala> – célszerű abszolút elérési útvonalat használni, hogy biztosan azt a fájlt kódoljuk át, amelyik nekünk kell. Ez a kapcsoló többször is előfordulhat, ilyenkor az ffmpeg a megadási sorrend szerint 0-tól kezdve számozza azokat.

-codec <kodek neve> – az ffmpeg által támogatott kodekek közül választhatjuk ki a számunkra megfelelőt. Alapesetben a videokodeket jelöli, míg a hang számára az -acodec kapcsoló használata szükséges. Azonban ha pontosan szeretnénk meghatározni, hogy melyik sáv, mivel kerüljön átkódolásra, akkor a -codec:{sáv szorszáma} <kodek neve> alak használata szükséges

-map {fájl sorszáma}:{sáv sorszáma az adott fájlban} – kiválaszthatjuk, hogy milyen bemenetekre van szükségünk. Jól jön pl. a digitális TV-felvételek átkódolásánál, mivel ha nem adunk meg ilyen paramétert, akkor minden egyes sávot megpróbál átkódolni, viszont a dvb-feliratokba beletörik a digitális bicskája, így azt a sávot ki tudjuk hagyni

-filter:v <szűrő neve> különféle szűrőket tudunk alkalmazni a videora. Általam a leggyakrabban használt szűrők a yadif illetve a crop, melyek közül az első a váltottsorosságot próbálja meg eltüntetni, míg a második levágja a bemenet széleit.

Pár egyszerűbb, de annál fontosabb kapcsoló:
-r {kívánt képfrissítési frekvencia} – beállítja a bemenet képkockaszámát,
-s {szélesség}x{magasság} – a kimenet méretét állítja be,
-async {paraméter} – a kapcsoló alkalmazása esetén az ffmpeg megpróbálja szinkronban tartani a hangot a képpel, amihez a sávokban található timestampeket használja. A kapcsoló paramétere azt határozza meg, hogy másodpercenként hányszor ellenőrzi, illetve javítja a szinkront. Általában az -async 2 opció tökéletes minden helyzetben. Főleg olyan esetben előnyös, amikor hibák lehetnek a fájlban. Jellemzően ilyen eset a digitális TV-felvétel.

-b:v {bitráta} illetve -b:a {bitráta} - a kimenet képi illetve hanganyagának bitrátája. Ha csak számot adunk meg, akkor a mértékegység bit lesz. Így például 1,5Mbites bitrátát legegyszerűbb 1500k -ként megadni.

Ha a felvétel hosszát szeretnénk módosítani, akkor a -t illetve -ss kapcsolókra van szükségünk. Ilyenkor az időformátum a következő: óra:perc:másodperc.ezredmásodperc (pl.: 0:1:30.5 vagy mondjuk 00:01:30.500)

A kodekek illetve a szűrők kiválasztásánál jól jöhet egy lista, hogy lássuk, mi is a választék. Ebben segítenek a -codecs illetve a -filters kapcsolók, melyek kilistázzák az elérhető elemeket és azok tulajdonságait:

"bin/ffmpeg" -codecs kimenete:

Egy lista lesz a kimenet eredménye, ami tartalmazza a kodek nevét, illetve, hogy milyen feladatokat tud ellátni. Pl. a libvorbis kodek audiokodek, amit dekódolásra illetve kódolásra is lehet használni (DEA karaktersor a neve előtt), a libx264 kodek pedig a jól ismert H.264 kódolású videok előállítására szolgál, viszont csak kódolásra jó. (EV karaktersor)

"bin/ffmpeg" -filters kimenete:

Ebben az esetben is egy listát kapunk az elérhető szűrőkről, mely tartalmazza a nevet, mellyel hivatkozhatunk a szűrőre, a szűrő típusát (pl. az A -> A azt jelenti, hogy hangból hangot állít elő), illetve egy rövid leírást, hogy mire szolgál.

Most pedig lássuk, hogyan is kell ezeket a kapcsolókat használni.

A cikk még nem ért véget, kérlek, lapozz!

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.