InglesPransesEspanyol

Ad


OnWorks favicon

avconv - Online sa Cloud

Patakbuhin ang avconv sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command na avconv na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


ffmpeg - ffmpeg video converter

SINOPSIS


ffmpeg [global_options] {[input_file_options] -i input_file} ... {[output_file_options]
output_file} ...

DESCRIPTION


ffmpeg ay isang napakabilis na video at audio converter na maaari ding kumuha mula sa isang live na audio/video
pinagmulan. Maaari rin itong mag-convert sa pagitan ng mga arbitrary na rate ng sample at baguhin ang laki ng video sa mabilisang
na may mataas na kalidad na polyphase filter.

ffmpeg bumabasa mula sa isang arbitrary na bilang ng input na "mga file" (na maaaring regular na mga file, pipe,
network stream, grabbing device, atbp.), na tinukoy ng "-i" na opsyon, at nagsusulat sa isang
arbitrary na bilang ng output na "mga file", na tinukoy ng isang plain na output filename.
Ang anumang bagay na matatagpuan sa command line na hindi maaaring bigyang-kahulugan bilang isang opsyon ay isinasaalang-alang
upang maging isang output filename.

Ang bawat input o output file, sa prinsipyo, ay maaaring maglaman ng anumang bilang ng mga stream na magkakaiba
mga uri (video/audio/subtitle/attachment/data). Ang pinapayagang numero at/o mga uri ng stream
maaaring limitado ng format ng lalagyan. Pagpili kung aling mga stream kung saan pupunta ang mga input
kung saan awtomatikong ginagawa ang output o gamit ang opsyong "-map" (tingnan ang Stream
kabanata ng pagpili).

Upang sumangguni sa mga input file sa mga opsyon, dapat mong gamitin ang kanilang mga indeks (0-based). Hal ang una
input file ay 0, ang pangalawa ay 1, atbp. Katulad nito, ang mga stream sa loob ng isang file ay tinutukoy ng
kanilang mga indeks. Hal. "2:3" ay tumutukoy sa ikaapat na stream sa ikatlong input file. Tingnan din
ang kabanata ng Stream specifiers.

Bilang pangkalahatang tuntunin, inilalapat ang mga opsyon sa susunod na tinukoy na file. Samakatuwid, ang order ay
mahalaga, at maaari kang magkaroon ng parehong opsyon sa command line nang maraming beses. Bawat isa
Ang paglitaw ay pagkatapos ay inilapat sa susunod na input o output file. Mga pagbubukod mula sa panuntunang ito
ay ang mga pandaigdigang opsyon (hal. verbosity level), na dapat munang tukuyin.

Huwag paghaluin ang input at output file -- tukuyin muna ang lahat ng input file, pagkatapos ay ang lahat ng output file.
Huwag ding paghaluin ang mga opsyon na nabibilang sa iba't ibang mga file. Lahat ng opsyon ay nalalapat LAMANG sa
susunod na input o output file at na-reset sa pagitan ng mga file.

· Upang itakda ang bitrate ng video ng output file sa 64 kbit/s:

ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi

· Upang pilitin ang frame rate ng output file sa 24 fps:

ffmpeg -i input.avi -r 24 output.avi

· Upang pilitin ang frame rate ng input file (valid para sa mga raw na format lamang) sa 1 fps at
ang frame rate ng output file sa 24 fps:

ffmpeg -r 1 -i input.m2v -r 24 output.avi

Maaaring kailanganin ang opsyon sa format para sa mga raw input file.

DETALYE DESCRIPTION


Ang proseso ng transcoding sa ffmpeg para sa bawat output ay maaaring ilarawan ng mga sumusunod
diagram:

_______ ______________
| | | |
| input | demuxer | naka-encode na data | decoder
| file | ---------> | mga pakete | -----+
|_______| |___________| |
v
_________
| |
| na-decode |
| mga frame |
| _________ |
________ ______________ |
| | | | |
| output | <-------- | naka-encode na data | <----+
| file | muxer | mga pakete | encoder
|________| |___________|

ffmpeg tumatawag sa libavformat library (naglalaman ng mga demuxer) upang basahin ang mga input file at makuha
mga packet na naglalaman ng naka-encode na data mula sa kanila. Kapag maraming input file, ffmpeg
sinusubukang panatilihing naka-synchronize ang mga ito sa pamamagitan ng pagsubaybay sa pinakamababang timestamp sa anumang aktibong input stream.

Ang mga naka-encode na packet ay ipinapasa sa decoder (maliban kung pinili ang streamcopy para sa
stream, tingnan ang karagdagang para sa isang paglalarawan). Ang decoder ay gumagawa ng hindi naka-compress na mga frame (raw
video/PCM audio/...) na maaaring maproseso pa sa pamamagitan ng pag-filter (tingnan ang susunod na seksyon). Pagkatapos
pag-filter, ang mga frame ay ipinapasa sa encoder, na nag-e-encode sa kanila at mga output na naka-encode
mga pakete. Sa wakas ay ipinasa ang mga iyon sa muxer, na nagsusulat ng mga naka-encode na packet sa
output file.

Pagsasala
Bago mag-encode, ffmpeg maaaring magproseso ng mga raw audio at video frame gamit ang mga filter mula sa
library ng libavfilter. Maraming nakakadena na filter ang bumubuo ng isang filter graph. ffmpeg nakikilala
sa pagitan ng dalawang uri ng mga filtergraph: simple at kumplikado.

Simple mga filtergraph

Ang mga simpleng filtergraph ay yaong may eksaktong isang input at output, parehong pareho
uri. Sa diagram sa itaas maaari silang katawanin sa pamamagitan lamang ng pagpasok ng karagdagang hakbang
sa pagitan ng pag-decode at pag-encode:

_________ ______________
| | | |
| na-decode | | naka-encode na data |
| mga frame |\ _ | mga pakete |
|_________| \ /||___________|
\ __________ /
simple _\|| | / encoder
filtergraph | na-filter |/
| mga frame |
|__________|

Ang mga simpleng filtergraph ay na-configure gamit ang per-stream -filter opsyon (kasama ang -vf at -af
mga alias para sa video at audio ayon sa pagkakabanggit). Maaaring hanapin ang isang simpleng filtergraph para sa video
halimbawa tulad nito:

_______ _____________ _______ ________
| | | | | | | |
| input | ---> | deinterlace | ---> | sukat | ---> | output |
|_______| |_____________| |_______| |________|

Tandaan na binabago ng ilang filter ang mga katangian ng frame ngunit hindi ang mga nilalaman ng frame. Hal ang "fps"
Ang filter sa halimbawa sa itaas ay nagbabago ng bilang ng mga frame, ngunit hindi naaapektuhan ang frame
nilalaman. Ang isa pang halimbawa ay ang "setpts" na filter, na nagtatakda lamang ng mga timestamp at kung hindi man
pumasa sa mga frame na hindi nagbabago.

Mahirap unawain mga filtergraph

Ang mga kumplikadong filtergraph ay ang mga hindi maaaring inilarawan bilang isang linear na pagproseso
chain na inilapat sa isang stream. Ito ang kaso, halimbawa, kapag ang graph ay may higit sa
isang input at/o output, o kapag ang uri ng output stream ay iba sa input. Maaari silang maging
kinakatawan ng sumusunod na diagram:

_________
| |
| input 0 |\ __________
|_________| \ | |
\ _________ /| output 0 |
\ | | / |__________|
_________ \| kumplikado | /
| | | |/
| input 1 |---->| filter |\
|_________| | | \ __________
// graph | \ | |
/ | | \| output 1 |
_________ / |_________| |__________|
| | /
| input 2 |/
| _________ |

Ang mga kumplikadong filtergraph ay na-configure gamit ang -filter_complex opsyon. Tandaan na ito
Ang opsyon ay pandaigdigan, dahil ang isang kumplikadong filtergraph, ayon sa likas na katangian nito, ay hindi maaaring maging malinaw
nauugnay sa isang stream o file.

Ang -lavfi ang opsyon ay katumbas ng -filter_complex.

Ang isang maliit na halimbawa ng isang kumplikadong filtergraph ay ang "overlay" na filter, na may dalawang video
input at isang video output, na naglalaman ng isang video na naka-overlay sa ibabaw ng isa. Ang audio nito
katapat ay ang "mix" na filter.

sapa kopyahin
Ang stream copy ay isang mode na pinili sa pamamagitan ng pagbibigay ng parameter na "kopya" sa -codec opsyon. Ito
Ginagawang ffmpeg tanggalin ang hakbang sa pag-decode at pag-encode para sa tinukoy na stream, kaya ginagawa lang nito
demuxing at muxing. Ito ay kapaki-pakinabang para sa pagbabago ng format ng lalagyan o pagbabago
metadata sa antas ng lalagyan. Ang diagram sa itaas, sa kasong ito, ay magpapasimple dito:

_______ ______________ ________
| | | | | |
| input | demuxer | naka-encode na data | muxer | output |
| file | ---------> | mga pakete | -------> | file |
|_______| |___________| |________|

Dahil walang decoding o encoding, napakabilis nito at walang pagkawala ng kalidad.
Gayunpaman, maaaring hindi ito gumana sa ilang mga kaso dahil sa maraming mga kadahilanan. Ang paglalapat ng mga filter ay
halatang imposible rin, dahil gumagana ang mga filter sa hindi naka-compress na data.

STREAM SELECTION


Sa pamamagitan ng default, ffmpeg may kasama lamang isang stream ng bawat uri (video, audio, subtitle) na naroroon
sa mga input file at idinaragdag ang mga ito sa bawat output file. Pinipili nito ang "pinakamahusay" sa bawat batayan
sa sumusunod na pamantayan: para sa video, ito ang stream na may pinakamataas na resolution, para sa
audio, ito ang stream na may pinakamaraming channel, para sa mga subtitle, ito ang unang subtitle
stream. Sa kaso kung saan pantay-pantay ang rate ng ilang stream ng parehong uri, ang stream na may
ang pinakamababang index ay pinili.

Maaari mong i-disable ang ilan sa mga default na iyon sa pamamagitan ng paggamit sa mga opsyon na "-vn/-an/-sn". Para sa buong manual
kontrolin, gamitin ang opsyong "-map", na hindi pinapagana ang mga default na inilarawan.

Opsyon


Ang lahat ng mga opsyon sa numero, kung hindi tinukoy kung hindi man, ay tumatanggap ng isang string na kumakatawan sa a
bilang input, na maaaring sundan ng isa sa mga prefix ng unit ng SI, halimbawa: 'K',
'M', o 'G'.

Kung idinagdag ang 'i' sa prefix ng unit ng SI, ang kumpletong prefix ay bibigyang kahulugan bilang isang
unit prefix para sa binary multiples, na nakabatay sa mga kapangyarihan ng 1024 sa halip na mga kapangyarihan ng
1000. Ang pagdaragdag ng 'B' sa prefix ng SI unit ay nagpaparami ng halaga sa 8. Nagbibigay-daan ito sa paggamit ng,
halimbawa: 'KB', 'MiB', 'G' at 'B' bilang mga suffix ng numero.

Ang mga opsyon na hindi kumukuha ng mga argumento ay mga boolean na opsyon, at itinakda ang katumbas na halaga
sa totoo. Maaari silang itakda sa false sa pamamagitan ng paglalagay ng prefix sa pangalan ng opsyon na may "hindi". Halimbawa
ang paggamit ng "-nofoo" ay magtatakda ng boolean na opsyon na may pangalang "foo" sa false.

sapa mga detalye
Ang ilang mga opsyon ay inilapat sa bawat stream, hal bitrate o codec. Nakasanayan na ang mga stream specifier
tiyak na tukuyin kung saang stream (mga) kabilang ang isang ibinigay na opsyon.

Ang stream specifier ay isang string na karaniwang nakadugtong sa pangalan ng opsyon at hinihiwalay mula dito
sa pamamagitan ng colon. Hal. "-codec:a:1 ac3" ay naglalaman ng "a:1" stream specifier, na tumutugma sa
pangalawang audio stream. Samakatuwid, pipiliin nito ang ac3 codec para sa pangalawang audio stream.

Maaaring tumugma ang isang stream specifier sa ilang stream, para mailapat ang opsyon sa lahat
sila. Hal. ang stream specifier sa "-b:a 128k" ay tumutugma sa lahat ng audio stream.

Ang isang walang laman na specifier ng stream ay tumutugma sa lahat ng mga stream. Halimbawa, "-codec copy" o "-codec:
kopyahin" ay kokopyahin ang lahat ng mga stream nang walang reencoding.

Ang mga posibleng anyo ng stream specifier ay:

stream_index
Tumutugma sa stream sa index na ito. Hal. "-threads:1 4" ay magtatakda ng bilang ng thread para sa
ang pangalawang stream hanggang 4.

stream_type[:stream_index]
stream_type ay isa sa mga sumusunod: 'v' o 'V' para sa video, 'a' para sa audio, 's' para sa
subtitle, 'd' para sa data, at 't' para sa mga attachment. Ang 'v' ay tumutugma sa lahat ng mga video stream, 'V'
tumutugma lamang sa mga video stream na hindi naka-attach na mga larawan, video thumbnail o cover
sining. Kung stream_index ay ibinigay, pagkatapos ay tumutugma ito sa numero ng stream stream_index nito
uri. Kung hindi, tumutugma ito sa lahat ng mga stream ng ganitong uri.

p:program_id[:stream_index]
If stream_index ay ibinigay, pagkatapos ay tumutugma ito sa stream na may numero stream_index nasa
programa na may id program_id. Kung hindi, tumutugma ito sa lahat ng stream sa programa.

#stream_id or i:stream_id
Itugma ang stream ayon sa stream id (hal. PID sa MPEG-TS container).

m:susi[:halaga]
Tumutugma sa mga stream sa metadata tag susi pagkakaroon ng tinukoy na halaga. Kung halaga Hindi
ibinigay, tumutugma sa mga stream na naglalaman ng ibinigay na tag sa anumang halaga.

u Tumutugma sa mga stream na may magagamit na configuration, dapat na tukuyin ang codec at ang mahalaga
impormasyon tulad ng dimensyon ng video o audio sample rate ay dapat na naroroon.

Tandaan na sa ffmpeg, ang pagtutugma ng metadata ay gagana lamang nang maayos para sa mga input file.

Panlahat pagpipilian
Ibinabahagi ang mga opsyong ito sa mga tool ng ff*.

-L Ipakita ang lisensya.

-h, -?, -tulong, - Tumulong [arg]
Magpakita ng tulong. Maaaring tukuyin ang isang opsyonal na parameter upang mag-print ng tulong tungkol sa isang partikular na item.
Kung walang tinukoy na argumento, ang pangunahing (hindi advanced) na mga opsyon sa tool lang ang ipinapakita.

Mga posibleng halaga ng arg ay:

mahaba
Mag-print ng mga advanced na opsyon sa tool bilang karagdagan sa mga pangunahing opsyon sa tool.

ganap
I-print ang kumpletong listahan ng mga opsyon, kabilang ang nakabahagi at pribadong mga opsyon para sa mga encoder,
decoder, demuxer, muxer, filter, atbp.

decoder=decoder_name
Mag-print ng detalyadong impormasyon tungkol sa decoder na pinangalanan decoder_name. Gamitin ang -mga decoder
opsyon upang makakuha ng listahan ng lahat ng mga decoder.

encoder=encoder_name
Mag-print ng detalyadong impormasyon tungkol sa pinangalanang encoder encoder_name. Gamitin ang -mga encoder
opsyon upang makakuha ng listahan ng lahat ng mga encoder.

demuxer=demuxer_name
Mag-print ng detalyadong impormasyon tungkol sa demuxer na pinangalanan demuxer_name. Gamitin ang -mga format
opsyon upang makakuha ng listahan ng lahat ng mga demuxer at muxer.

muxer=muxer_name
Mag-print ng detalyadong impormasyon tungkol sa pinangalanang muxer muxer_name. Gamitin ang -mga format
opsyon upang makakuha ng listahan ng lahat ng muxer at demuxer.

filter=filter_name
Mag-print ng detalyadong impormasyon tungkol sa pangalan ng filter filter_name. Gamitin ang -mga filter
opsyon upang makakuha ng listahan ng lahat ng mga filter.

-version
Ipakita ang bersyon.

-mga format
Ipakita ang mga available na format (kabilang ang mga device).

-mga device
Ipakita ang mga available na device.

-mga codec
Ipakita ang lahat ng codec na kilala sa libavcodec.

Tandaan na ang terminong 'codec' ay ginagamit sa buong dokumentasyong ito bilang shortcut para sa
ano ang mas tamang tawag sa isang media bitstream na format.

-mga decoder
Ipakita ang mga available na decoder.

-mga encoder
Ipakita ang lahat ng available na encoder.

-bsfs
Ipakita ang mga available na bitstream na filter.

-mga protocol
Ipakita ang mga magagamit na protocol.

-mga filter
Ipakita ang mga available na filter ng libavfilter.

-pix_fmts
Ipakita ang mga available na pixel na format.

-sample_fmts
Ipakita ang mga available na sample na format.

-mga layout
Ipakita ang mga pangalan ng channel at karaniwang mga layout ng channel.

-mga kulay
Ipakita ang mga kinikilalang pangalan ng kulay.

-Mga mapagkukunan aparato[,opt1=Val1[,opt2=Val2]...]
Ipakita ang mga autodetected na pinagmumulan ng intput device. Ang ilang device ay maaaring magbigay ng system-
dependent source name na hindi ma-autodetected. Ang ibinalik na listahan ay hindi maaaring
ipinapalagay na laging kumpleto.

ffmpeg -sources pulse,server=192.168.0.4

-lubog aparato[,opt1=Val1[,opt2=Val2]...]
Ipakita ang mga awtomatikong natukoy na lababo ng output device. Ang ilang device ay maaaring magbigay ng system-
mga dependent na pangalan ng lababo na hindi ma-autodetected. Ang ibinalik na listahan ay hindi maaaring ipagpalagay
para laging kumpleto.

ffmpeg -sinks pulse,server=192.168.0.4

-loglevel [ulitin+]antas ng log | -v [ulitin+]antas ng log
Itakda ang antas ng pag-log na ginagamit ng library. Ang pagdaragdag ng "repeat+" ay nagpapahiwatig na naulit iyon
ang output ng log ay hindi dapat i-compress sa unang linya at ang "Huling mensahe na paulit-ulit n
times" na linya ay aalisin. Ang "repeat" ay maaari ding gamitin nang mag-isa. Kung "repeat" ang ginamit
mag-isa, at nang walang paunang set ng loglevel, ang default na loglevel ang gagamitin. Kung maramihan
Ang mga parameter ng loglevel ay ibinigay, gamit ang 'repeat' ay hindi magbabago sa loglevel. antas ng log
ay isang string o isang numero na naglalaman ng isa sa mga sumusunod na halaga:

tahimik, -8
Wala man lang ipakita; tumahimik ka.

gulat, 0
Magpakita lamang ng mga nakamamatay na error na maaaring humantong sa pag-crash ng proseso, gaya ng at igiit
kabiguan. Ito ay kasalukuyang hindi ginagamit para sa anumang bagay.

nakamamatay, 8
Magpakita lamang ng mga nakamamatay na error. Ang mga ito ay mga error pagkatapos kung saan ang proseso ay ganap na hindi
magpatuloy pagkatapos.

pagkakamali, 16
Ipakita ang lahat ng mga error, kabilang ang mga error na maaaring makuha mula sa.

babala, 24
Ipakita ang lahat ng mga babala at error. Anumang mensahe na nauugnay sa posibleng mali o
ipapakita ang mga hindi inaasahang pangyayari.

impormasyon, 32
Magpakita ng mga mensaheng nagbibigay-kaalaman sa panahon ng pagproseso. Bukod pa ito sa mga babala at
mga pagkakamali. Ito ang default na halaga.

verbose, 40
Pareho sa "impormasyon", maliban sa mas maraming salita.

debug, 48
Ipakita ang lahat, kabilang ang impormasyon sa pag-debug.

bakas, 56

Bilang default, ang programa ay nag-log sa stderr, kung ang pangkulay ay sinusuportahan ng terminal,
ang mga kulay ay ginagamit upang markahan ang mga error at babala. Maaaring hindi paganahin ang pangkulay ng log sa pagtatakda ng
variable ng kapaligiran AV_LOG_FORCE_NOCOLOR or WALANG_KULAY, o maaaring sapilitang pagtatakda ng
variable ng kapaligiran AV_LOG_FORCE_COLOR. Ang paggamit ng variable ng kapaligiran WALANG_KULAY
ay hindi na ginagamit at ihuhulog sa susunod na bersyon ng FFmpeg.

-ulat
Itapon ang buong command line at console output sa isang file na pinangalanan
"program-YYYYMMDD-HHMMSS.log" sa kasalukuyang direktoryo. Maaaring maging kapaki-pakinabang ang file na ito para sa
mga ulat ng bug. Ito rin ay nagpapahiwatig ng "-loglevel verbose".

Pagtatakda ng variable ng kapaligiran FFREPORT sa anumang halaga ay may parehong epekto. Kung ang
ang value ay isang ':'-separated key=value sequence, ang mga opsyong ito ay makakaapekto sa ulat;
dapat na i-escape ang mga value ng opsyon kung naglalaman ang mga ito ng mga espesyal na character o mga opsyon
delimiter ':' (tingnan ang seksyong ``Pag-quote at pagtakas'' sa ffmpeg-utils manual).

Ang mga sumusunod na opsyon ay kinikilala:

file
itakda ang pangalan ng file na gagamitin para sa ulat; Ang %p ay pinalawak sa pangalan ng
program, ang %t ay pinalawak sa isang timestamp, ang "%%" ay pinalawak sa isang plain na "%"

antas
itakda ang log verbosity level gamit ang numerical value (tingnan ang "-loglevel").

Halimbawa, upang mag-output ng isang ulat sa isang file na pinangalanan ffreport.log gamit ang log level na 32
(alias para sa antas ng log na "impormasyon"):

FFREPORT=file=ffreport.log:level=32 ffmpeg -i input output

Ang mga error sa pag-parse ng environment variable ay hindi nakamamatay, at hindi lalabas sa
ulat.

-hide_banner
Pigilan ang pag-print ng banner.

Ang lahat ng mga tool ng FFmpeg ay karaniwang magpapakita ng isang abiso sa copyright, mga pagpipilian sa pagbuo at library
mga bersyon. Maaaring gamitin ang opsyong ito upang sugpuin ang pag-print ng impormasyong ito.

-cpuflags flag (global)
Nagbibigay-daan sa pagtatakda at pag-clear ng mga flag ng cpu. Ang pagpipiliang ito ay inilaan para sa pagsubok. Huwag gamitin
ito maliban kung alam mo kung ano ang iyong ginagawa.

ffmpeg -cpuflags -sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...

Ang mga posibleng flag para sa opsyong ito ay:

x86
processor na MMX
mmxext
sse
sse2
sse2slow
sse3
sse3slow
ssse3
atomo
sse4.1
sse4.2
avx
avx2
xop
fma3
fma4
3dnow
3dnowex
bmi1
bmi2
cmov
Braso
armv5te
armv6
armv6t2
vfp
vfpv3
neon
pahabain
AAArch64
armv8
vfp
neon
PowerPC
altivec
tiyak Processor
Pentium 2
Pentium 3
Pentium 4
k6
k62
athlon
athlonxp
k8
-opencl_bench
Ginagamit ang opsyong ito upang i-benchmark ang lahat ng available na OpenCL device at i-print ang mga resulta.
Ang pagpipiliang ito ay magagamit lamang kapag ang FFmpeg ay pinagsama-sama sa "--enable-opencl".

Kapag ang FFmpeg ay na-configure sa "--enable-opencl", ang mga opsyon para sa pandaigdigang OpenCL
konteksto ay itinakda sa pamamagitan ng -opencl_options. Tingnan ang seksyong "OpenCL Options" sa ffmpeg-
utils manual para sa kumpletong listahan ng mga sinusuportahang opsyon. Sa iba pa, ang mga pagpipiliang ito
isama ang kakayahang pumili ng partikular na platform at device para patakbuhin ang OpenCL code
sa. Bilang default, tatakbo ang FFmpeg sa unang device ng unang platform. Habang ang
ang mga opsyon para sa pandaigdigang konteksto ng OpenCL ay nagbibigay ng flexibility sa user sa pagpili ng
OpenCL device na kanilang pinili, karamihan sa mga user ay malamang na gustong piliin ang pinakamabilis
OpenCL device para sa kanilang system.

Tinutulungan ng opsyong ito ang pagpili ng pinakamabisang configuration sa pamamagitan ng pagtukoy
ang naaangkop na device para sa system ng user. Ang built-in na benchmark ay pinapatakbo sa lahat ng
Ang mga OpenCL device at ang pagganap ay sinusukat para sa bawat device. Ang mga kagamitan sa
Ang listahan ng mga resulta ay pinagbukud-bukod batay sa kanilang pagganap gamit ang pinakamabilis na nakalistang device
una. Maaaring mag-invoke ang user ffmpeg gamit ang device na itinuturing na karamihan
naaangkop sa pamamagitan ng -opencl_options upang makuha ang pinakamahusay na pagganap para sa OpenCL
pinabilis na code.

Ang karaniwang paggamit upang gamitin ang pinakamabilis na OpenCL device ay kinabibilangan ng mga sumusunod na hakbang.

Patakbuhin ang utos:

ffmpeg -opencl_bench

Tandaan ang platform ID (pidx) at device ID (didx) ng unang ie pinakamabilis na aparato
sa listahan. Piliin ang platform at device gamit ang command:

ffmpeg -opencl_options platform_idx= :device_idx= ...

-opencl_options pagpipilian (global)
Itakda ang mga opsyon sa kapaligiran ng OpenCL. Available lang ang opsyong ito kapag naging FFmpeg
pinagsama-sama ng "--enable-opencl".

pagpipilian dapat ay isang listahan ng susi=halaga mga pares ng opsyon na pinaghihiwalay ng ':'. Tingnan ang ``OpenCL
Opsyon'' seksyon sa ffmpeg-utils manual para sa listahan ng mga sinusuportahang opsyon.

AVOptions
Ang mga opsyong ito ay direktang ibinibigay ng libavformat, libavdevice at libavcodec
mga aklatan. Upang makita ang listahan ng mga available na AVOptions, gamitin ang -tulong opsyon. Sila ay
nahahati sa dalawang kategorya:

panlahat
Maaaring itakda ang mga opsyong ito para sa anumang container, codec o device. Ang mga generic na opsyon ay
nakalista sa ilalim ng mga opsyon sa AVFormatContext para sa mga container/device at sa ilalim ng AVCodecContext
mga opsyon para sa mga codec.

pribado
Ang mga opsyong ito ay partikular sa ibinigay na lalagyan, device o codec. Mga pribadong opsyon
ay nakalista sa ilalim ng kanilang mga kaukulang container/device/codec.

Halimbawa para magsulat ng ID3v2.3 header sa halip na default na ID3v2.4 sa isang MP3 file, gumamit ng
ang id3v2_version pribadong opsyon ng MP3 muxer:

ffmpeg -i input.flac -id3v2_version 3 out.mp3

Ang lahat ng codec AVOptions ay per-stream, at sa gayon ay dapat na naka-attach ang isang stream specifier
Kanila.

Tandaan: ang -nooption syntax ay hindi maaaring gamitin para sa boolean AVOptions, gamitin -pagpipilian 0/-pagpipilian 1.

Tandaan: ang lumang undocumented na paraan ng pagtukoy ng per-stream AVOptions sa pamamagitan ng paglalagay ng v/a/s sa
ang pangalan ng mga opsyon ay hindi na ginagamit at aalisin sa lalong madaling panahon.

Pangunahin pagpipilian
-f fmt (input / output)
Force input o output file format. Ang format ay karaniwang awtomatikong nakita para sa pag-input
mga file at nahulaan mula sa extension ng file para sa mga output file, kaya ang pagpipiliang ito ay hindi
kailangan sa karamihan ng mga kaso.

-i filename (input)
pangalan ng file ng input

-y (global)
I-overwrite ang mga output file nang hindi nagtatanong.

-n (global)
Huwag i-overwrite ang mga output file, at lumabas kaagad kung isang tinukoy na output file na
umiiral.

-c[:stream_specifier] Codec (input/output, per-stream)
-codec[:stream_specifier] Codec (input/output, per-stream)
Pumili ng isang encoder (kapag ginamit bago ang isang output file) o isang decoder (kapag ginamit bago ang isang
input file) para sa isa o higit pang mga stream. Codec ay ang pangalan ng isang decoder/encoder o a
espesyal na halaga na "kopya" (output lamang) upang ipahiwatig na ang stream ay hindi na muling
naka-encode.

Halimbawa

ffmpeg -i INPUT -map 0 -c:v libx264 -c:a copy OUTPUT

ine-encode ang lahat ng video stream gamit ang libx264 at kinokopya ang lahat ng audio stream.

Para sa bawat stream, ang huling katugmang "c" na opsyon ay inilapat, kaya

ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis OUTPUT

kokopyahin ang lahat ng mga stream maliban sa pangalawang video, na ie-encode sa libx264,
at ang ika-138 na audio, na ie-encode ng libvorbis.

-t tagal (input / output)
Kapag ginamit bilang opsyon sa pag-input (bago ang "-i"), limitahan ang tagal ng datos na binasa mula sa
input file.

Kapag ginamit bilang isang opsyon sa output (bago ang isang output filename), itigil ang pagsusulat ng output
pagkatapos maabot ang tagal nito tagal.

tagal dapat ay isang detalye ng tagal ng oras, tingnan ang oras tagal seksyon in ang
ffmpeg-utils(1) manwal.

-to at -t ay kapwa eksklusibo at -t ay may priyoridad.

-sa posisyon (output)
Itigil ang pagsusulat ng output sa posisyon. posisyon dapat ay isang detalye ng tagal ng oras,
makita ang oras tagal seksyon in ang ffmpeg-utils(1) manwal.

-to at -t ay kapwa eksklusibo at -t ay may priyoridad.

-fs limit_size (output)
Itakda ang limitasyon sa laki ng file, na ipinahayag sa mga byte.

-ss posisyon (input / output)
Kapag ginamit bilang opsyon sa pag-input (bago ang "-i"), hinahanap sa input file na ito ang posisyon. Tandaan
na sa karamihan ng mga format ay hindi posibleng maghanap nang eksakto, kaya ffmpeg maghahanap sa
pinakamalapit na punto ng paghahanap bago posisyon. Kapag transcoding at -accurate_seek ay gumagana
(ang default), itong dagdag na segment sa pagitan ng seek point at posisyon ay i-decode
at itinapon. Kapag gumagawa ng stream copy o kapag -noccurate_seek ay ginagamit, ito ay magiging
napanatili

Kapag ginamit bilang isang opsyon sa output (bago ang isang output filename), nagde-decode ngunit nagtatapon ng input
hanggang sa umabot ang mga timestamp posisyon.

posisyon dapat ay isang detalye ng tagal ng oras, tingnan ang oras tagal seksyon in ang
ffmpeg-utils(1) manwal.

-sseof posisyon (input / output)
Tulad ng opsyong "-ss" ngunit nauugnay sa "end of file". Iyon ay ang mga negatibong halaga
mas maaga sa file, ang 0 ay nasa EOF.

-itsoffset ginalaw (input)
Itakda ang offset ng oras ng input.

ginalaw dapat ay isang detalye ng tagal ng oras, tingnan ang oras tagal seksyon in ang
ffmpeg-utils(1) manwal.

Ang offset ay idinagdag sa mga timestamp ng mga input file. Pagtukoy ng positibong offset
nangangahulugan na ang mga kaukulang stream ay naaantala ng tagal ng oras na tinukoy sa
ginalaw.

-timestamp petsa (output)
Itakda ang recording timestamp sa container.

petsa dapat ay isang detalye ng petsa, tingnan ang petsa seksyon in ang ffmpeg-utils(1) manwal.

-metadata[:metadata_specifier] susi=halaga (output, per-metadata)
Magtakda ng metadata key/value pair.

Isang opsyonal metadata_specifier maaaring ibigay upang magtakda ng metadata sa mga stream o mga kabanata.
Tingnan ang dokumentasyong "-map_metadata" para sa mga detalye.

Ino-override ng opsyong ito ang set ng metadata gamit ang "-map_metadata". Posible ring tanggalin
metadata sa pamamagitan ng paggamit ng walang laman na halaga.

Halimbawa, para sa pagtatakda ng pamagat sa output file:

ffmpeg -i in.avi -metadata title="my title" out.flv

Upang itakda ang wika ng unang audio stream:

ffmpeg -i INPUT -metadata:s:a:0 language=eng OUTPUT

-target uri (output)
Tukuyin ang target na uri ng file ("vcd", "svcd", "dvd", "dv", "dv50"). uri maaaring prefix
na may "pal-", "ntsc-" o "film-" para magamit ang kaukulang pamantayan. Lahat ng format
Ang mga opsyon (bitrate, codec, buffer size) ay awtomatikong itatakda. Maaari mo lamang i-type:

ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg

Gayunpaman maaari mong tukuyin ang mga karagdagang opsyon hangga't alam mong hindi
sumasalungat sa pamantayan, tulad ng:

ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg

-dframes numero (output)
Itakda ang bilang ng mga data frame sa output. Isa itong alias para sa "-frames:d".

-mga frame[:stream_specifier] framecount (output, per-stream)
Itigil ang pagsusulat sa stream pagkatapos framecount mga frame.

-q[:stream_specifier] q (output, per-stream)
-qscale[:stream_specifier] q (output, per-stream)
Gumamit ng fixed quality scale (VBR). Ang kahulugan ng q/qscale ay nakadepende sa codec. Kung qscale
ay ginagamit nang walang a stream_specifier pagkatapos ito ay nalalapat lamang sa video stream, ito ay
upang mapanatili ang pagiging tugma sa dating gawi at bilang pagtukoy sa parehong codec
tiyak na halaga sa 2 magkaibang codec na audio at video sa pangkalahatan ay hindi kung ano
nilayon kapag walang stream_specifier ang ginagamit.

-filter[:stream_specifier] filtergraph (output, per-stream)
Lumikha ng filtergraph na tinukoy ni filtergraph at gamitin ito upang i-filter ang stream.

filtergraph ay isang paglalarawan ng filtergraph na ilalapat sa stream, at dapat mayroon
isang input at isang output ng parehong uri ng stream. Sa filtergraph,
ang input ay nauugnay sa label na "in", at ang output sa label na "out". Tingnan ang
ffmpeg-filters manual para sa higit pang impormasyon tungkol sa filtergraph syntax.

Tingnan ang -filter_complex opsyon kung gusto mong lumikha ng mga filtergraph na may maraming input
at/o mga output.

-filter_script[:stream_specifier] filename (output, per-stream)
Ang pagpipiliang ito ay katulad ng -filter, ang pagkakaiba lang ay ang argumento nito ay ang
pangalan ng file kung saan babasahin ang isang paglalarawan ng filtergraph.

-pre[:stream_specifier] preset_name (output, per-stream)
Tukuyin ang preset para sa tumutugmang (mga) stream.

-stats (global)
I-print ang progreso/istatistika ng pag-encode. Naka-on ito bilang default, para tahasan itong i-disable mo
kailangang tukuyin ang "-nostats".

- pag-unlad url (global)
Magpadala ng program-friendly na impormasyon sa pag-unlad sa url.

Ang impormasyon sa pag-unlad ay isinusulat humigit-kumulang bawat segundo at sa dulo ng
proseso ng pag-encode. Ito ay gawa sa "susi=halaga"mga linya. susi binubuo lamang ng alphanumeric
mga karakter. Ang huling susi ng isang pagkakasunud-sunod ng impormasyon sa pag-unlad ay palaging "pag-unlad".

-stdin
Paganahin ang pakikipag-ugnayan sa karaniwang input. Naka-on bilang default maliban kung ginagamit ang karaniwang input bilang
isang input. Upang tahasang hindi paganahin ang pakikipag-ugnayan kailangan mong tukuyin ang "-nostdin".

Ang hindi pagpapagana ng pakikipag-ugnayan sa karaniwang input ay kapaki-pakinabang, halimbawa, kung ang ffmpeg ay nasa
pangkat ng proseso sa background. Halos ang parehong resulta ay maaaring makamit sa "ffmpeg ...
/dev/null" ngunit nangangailangan ito ng shell.

-debug_ts (global)
I-print ang impormasyon ng timestamp. Naka-off ito bilang default. Ang pagpipiliang ito ay kadalasang kapaki-pakinabang para sa
pagsubok at pag-debug, at ang format ng output ay maaaring magbago mula sa isang bersyon patungo sa
isa pa, kaya hindi ito dapat gamitin ng mga portable na script.

Tingnan din ang opsyong "-fdebug ts".

-kabit filename (output)
Magdagdag ng attachment sa output file. Ito ay sinusuportahan ng ilang mga format tulad ng Matroska
para sa hal. mga font na ginamit sa pag-render ng mga subtitle. Ang mga attachment ay ipinatupad bilang isang tiyak
uri ng stream, kaya ang opsyong ito ay magdaragdag ng bagong stream sa file. Ito ay pagkatapos ay posible
na gumamit ng mga opsyon sa bawat stream sa stream na ito sa karaniwang paraan. Nagawa ang mga stream ng attachment
na may pagpipiliang ito ay malilikha pagkatapos ng lahat ng iba pang mga stream (ibig sabihin, ang mga nilikha gamit ang
"-map" o awtomatikong pagmamapa).

Tandaan na para sa Matroska kailangan mo ring itakda ang mimetype metadata tag:

ffmpeg -i INPUT -attach DejaVuSans.ttf -metadata:s:2 mimetype=application/x-truetype-font out.mkv

(ipagpalagay na ang attachment stream ay magiging pangatlo sa output file).

-dump_attachment[:stream_specifier] filename (input, per-stream)
I-extract ang tumutugmang stream ng attachment sa isang file na pinangalanan filename. Kung filename is
walang laman, pagkatapos ay gagamitin ang halaga ng "filename" metadata tag.

Hal upang kunin ang unang attachment sa isang file na pinangalanang 'out.ttf':

ffmpeg -dump_attachment:t:0 out.ttf -i INPUT

Upang i-extract ang lahat ng attachment sa mga file na tinutukoy ng "filename" na tag:

ffmpeg -dump_attachment:t "" -i INPUT

Teknikal na tala -- ipinapatupad ang mga attachment bilang codec extradata, kaya magagawa ng opsyong ito
aktwal na ginagamit upang kunin ang extradata mula sa anumang stream, hindi lamang mga attachment.

-noautorotate
I-disable ang awtomatikong umiikot na video batay sa metadata ng file.

Video Options
-vframes numero (output)
Itakda ang bilang ng mga video frame sa output. Isa itong alias para sa "-frames:v".

-r[:stream_specifier] fps (input/output, per-stream)
Itakda ang frame rate (Hz value, fraction o abbreviation).

Bilang opsyon sa pag-input, huwag pansinin ang anumang mga timestamp na nakaimbak sa file at sa halip ay bumuo
timestamp na ipinapalagay na pare-pareho ang frame rate fps. Ito ay hindi katulad ng -frame rate
opsyong ginagamit para sa ilang format ng pag-input tulad ng image2 o v4l2 (ito ay dating pareho sa
mas lumang bersyon ng FFmpeg). Kung may pagdududa gamitin -frame rate sa halip na opsyon sa pag-input -r.

Bilang isang opsyon sa output, i-duplicate o i-drop ang mga input frame upang makamit ang pare-pareho ang output frame
singil fps.

-s[:stream_specifier] laki (input/output, per-stream)
Itakda ang laki ng frame.

Bilang opsyon sa pag-input, ito ay isang shortcut para sa laki_ng video pribadong opsyon, kinikilala
ng ilang mga demuxer kung saan ang laki ng frame ay maaaring hindi nakaimbak sa file o ay
maaaring i-configure -- hal. raw video o video grabbers.

Bilang isang opsyon sa output, ipinapasok nito ang "scale" na video filter sa dulo ng
kaukulang filtergraph. Mangyaring gamitin ang filter na "scale" nang direkta upang ipasok ito sa
simula o ibang lugar.

Ang format ay wxh (default - katulad ng pinagmulan).

-aspect[:stream_specifier] anyo (output, per-stream)
Itakda ang aspect ratio ng display ng video na tinukoy ni anyo.

anyo maaaring isang floating point number string, o isang string ng form num:araw, Kung saan
num at araw ay ang numerator at denominator ng aspect ratio. Halimbawa "4:3",
Ang "16:9", "1.3333", at "1.7777" ay mga wastong halaga ng argumento.

Kung gagamitin kasama ng -vcodec kopyahin, makakaapekto ito sa aspect ratio na nakaimbak sa
antas ng container, ngunit hindi ang aspect ratio na nakaimbak sa mga naka-encode na frame, kung mayroon man.

-vn (output)
Huwag paganahin ang pag-record ng video.

-vcodec Codec (output)
Itakda ang video codec. Isa itong alias para sa "-codec:v".

-pasa[:stream_specifier] n (output, per-stream)
Piliin ang pass number (1 o 2). Ito ay ginagamit upang gumawa ng two-pass video encoding. Ang
ang mga istatistika ng video ay naitala sa unang pagpasa sa isang log file (tingnan din ang
opsyon -passlogfile), at sa pangalawang pass na log file ang ginagamit upang makabuo ng
video sa eksaktong hiniling na bitrate. Sa pass 1, maaari mo lang i-deactivate ang audio at
itakda ang output sa null, mga halimbawa para sa Windows at Unix:

ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y NUL
ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y /dev/null

-passlogfile[:stream_specifier] unlapi (output, per-stream)
Itakda ang two-pass log file name prefix sa unlapi, ang default na prefix ng pangalan ng file ay
``ffmpeg2pass''. Ang kumpletong pangalan ng file ay magiging PREFIX-N.log, kung saan ang N ay isang numero
tiyak sa output stream

-vf filtergraph (output)
Lumikha ng filtergraph na tinukoy ni filtergraph at gamitin ito upang i-filter ang stream.

Isa itong alias para sa "-filter:v", tingnan ang -filter opsyon.

Advanced Video pagpipilian
-pix_fmt[:stream_specifier] format (input/output, per-stream)
Itakda ang format ng pixel. Gamitin ang "-pix_fmts" upang ipakita ang lahat ng sinusuportahang format ng pixel. Kung ang
ang napiling pixel format ay hindi mapipili, ang ffmpeg ay magpi-print ng babala at piliin ang
pinakamahusay na format ng pixel na sinusuportahan ng encoder. Kung pix_fmt ay prefix ng "+", ffmpeg
lalabas nang may error kung hindi mapili ang hiniling na format ng pixel, at
ang mga awtomatikong conversion sa loob ng mga filtergraph ay hindi pinagana. Kung pix_fmt ay isang solong "+",
Pinipili ng ffmpeg ang parehong format ng pixel bilang input (o output ng graph) at awtomatiko
hindi pinagana ang mga conversion.

-sws_flags flag (input / output)
Itakda ang mga flag ng SwScaler.

-vdt n
Itapon ang threshold.

-rc_override[:stream_specifier] pawalang-bisa (output, per-stream)
Pag-override ng kontrol sa rate para sa mga partikular na agwat, na naka-format bilang "int,int,int" na listahan
pinaghiwalay ng mga slash. Dalawang unang value ang mga numero ng frame ng simula at pagtatapos, ang huli
ang isa ay quantizer na gagamitin kung positibo, o quality factor kung negatibo.

-ilme
Pilitin ang interlacing na suporta sa encoder (MPEG-2 at MPEG-4 lang). Gamitin ang opsyong ito kung
ang iyong input file ay interlaced at gusto mong panatilihin ang interlaced na format para sa pinakamaliit
pagkalugi. Ang kahalili ay i-deinterlace ang input stream gamit ang -deinterlace, Ngunit
Ang deinterlacing ay nagpapakilala ng mga pagkalugi.

-psnr
Kalkulahin ang PSNR ng mga naka-compress na frame.

-vstats
Itapon ang mga istatistika ng video coding sa vstats_HHMMSS.log.

-vstats_file file
Itapon ang mga istatistika ng video coding sa file.

-tuktok[:stream_specifier] n (output, per-stream)
top=1/bottom=0/auto=-1 field muna

-dc katumpakan
Intra_dc_precision.

-vtag fourcc/tag (output)
Force video tag/fourcc. Isa itong alias para sa "-tag:v".

-qphist (global)
Ipakita ang histogram ng QP

-vbsf bitstream_filter
Hindi na ginagamit tingnan -bsf

-force_key_frames[:stream_specifier] oras[,oras...] (output, per-stream)
-force_key_frames[:stream_specifier] expr:ipahayag (output, per-stream)
Pilitin ang mga key frame sa mga tinukoy na timestamp, mas tiyak sa mga unang frame pagkatapos
bawat tinukoy na oras.

Kung ang argument ay may prefix na "expr:", ang string ipahayag ay binibigyang kahulugan tulad ng isang
expression at sinusuri para sa bawat frame. Ang isang key frame ay sapilitang kung sakaling ang
ang pagsusuri ay hindi zero.

Kung ang isa sa mga oras ay ""kabanata"[delta]", ito ay pinalawak sa panahon ng
simula ng lahat ng mga kabanata sa file, inilipat ng delta, ipinahayag bilang isang oras sa
segundo. Maaaring maging kapaki-pakinabang ang opsyong ito upang matiyak na ang isang punto ng paghahanap ay naroroon sa a
marka ng kabanata o anumang iba pang itinalagang lugar sa output file.

Halimbawa, upang magpasok ng key frame sa loob ng 5 minuto, kasama ang mga key frame 0.1 segundo bago ang
simula ng bawat kabanata:

-force_key_frames 0:05:00,chapters-0.1

Ang ekspresyon sa ipahayag maaaring maglaman ng mga sumusunod na constants:

n ang bilang ng kasalukuyang naprosesong frame, simula sa 0

n_sapilitan
ang bilang ng mga sapilitang frame

prev_forced_n
ang bilang ng nakaraang sapilitang frame, ito ay "NAN" kapag walang keyframe ang pinilit
pa

prev_forced_t
ang oras ng nakaraang sapilitang frame, ito ay "NAN" kapag wala pang napipilitang keyframe

t ang oras ng kasalukuyang naprosesong frame

Halimbawa upang pilitin ang isang key frame bawat 5 segundo, maaari mong tukuyin ang:

-force_key_frames expr:gte(t,n_forced*5)

Upang pilitin ang isang key frame 5 segundo pagkatapos ng oras ng huling sapilitang isa, simula sa
ikalawang 13:

-force_key_frames expr:if(isnan(prev_forced_t),gte(t,13),gte(t,prev_forced_t+5))

Tandaan na ang pagpilit ng masyadong maraming keyframe ay lubhang nakakapinsala para sa lookahead algorithm ng
ilang mga encoder: ang paggamit ng mga fixed-GOP na opsyon o katulad ay magiging mas mahusay.

-copyinkf[:stream_specifier] (output, per-stream)
Kapag gumagawa ng stream copy, kopyahin din ang mga non-key na frame na makikita sa simula.

-hwaccel[:stream_specifier] hwaccel (input, per-stream)
Gumamit ng hardware acceleration para i-decode ang (mga) tumutugmang stream. Ang mga pinahihintulutang halaga ng
hwaccel ay:

wala
Huwag gumamit ng anumang hardware acceleration (ang default).

kotse
Awtomatikong piliin ang paraan ng hardware acceleration.

buhay Gumamit ng Apple VDA hardware acceleration.

vdpau
Gumamit ng VDPAU (Video Decode at Presentation API para sa Unix) hardware acceleration.

dxva2
Gumamit ng DXVA2 (DirectX Video Acceleration) hardware acceleration.

Walang epekto ang opsyong ito kung ang napiling hwaccel ay hindi available o hindi sinusuportahan ng
ang napiling decoder.

Tandaan na ang karamihan sa mga paraan ng acceleration ay inilaan para sa pag-playback at hindi magiging mas mabilis
kaysa sa software decoding sa mga modernong CPU. Bukod pa rito, ffmpeg ay karaniwang kailangang kopyahin
ang mga decoded na frame mula sa GPU memory papunta sa system memory, na nagreresulta sa karagdagang
pagkawala ng pagganap. Sa gayon, ang pagpipiliang ito ay pangunahing kapaki-pakinabang para sa pagsubok.

-hwaccel_device[:stream_specifier] hwaccel_device (input, per-stream)
Pumili ng device na gagamitin para sa hardware acceleration.

Makatuwiran lamang ang opsyong ito kapag ang -hwaccel ang pagpipilian ay tinukoy din. Ang eksaktong
ang kahulugan ay depende sa partikular na paraan ng pagpabilis ng hardware na pinili.

vdpau
Para sa VDPAU, tinutukoy ng opsyong ito ang X11 display/screen na gagamitin. Kung ang pagpipiliang ito ay
hindi tinukoy, ang halaga ng DISPLAY environment variable ang ginagamit

dxva2
Para sa DXVA2, ang opsyong ito ay dapat maglaman ng numero ng display adapter na gagamitin.
Kung hindi tinukoy ang opsyong ito, ginagamit ang default na adaptor.

-hwaccels
Ilista ang lahat ng mga pamamaraan sa pagpapabilis ng hardware na sinusuportahan sa build na ito ng ffmpeg.

audio Options
-mga frame numero (output)
Itakda ang bilang ng mga audio frame sa output. Isa itong alias para sa "-frames:a".

-ar[:stream_specifier] freq (input/output, per-stream)
Itakda ang dalas ng sampling ng audio. Para sa mga output stream ito ay itinakda bilang default sa
dalas ng kaukulang input stream. Para sa mga input stream na ginagawa lang ng pagpipiliang ito
kahulugan para sa mga audio grabbing device at mga hilaw na demuxer at nakamapa sa katumbas
mga pagpipilian sa demuxer.

-aq q (output)
Itakda ang kalidad ng audio (codec-specific, VBR). Ito ay isang alias para sa -q:a.

-ac[:stream_specifier] channel (input/output, per-stream)
Itakda ang bilang ng mga audio channel. Para sa mga output stream ito ay nakatakda bilang default sa
bilang ng mga input audio channel. Para sa mga input stream ang pagpipiliang ito ay may katuturan lamang
mga audio grabbing device at raw demuxer at nakamapa sa kaukulang demuxer
mga pagpipilian.

-taon (output)
Huwag paganahin ang pag-record ng audio.

-codec Codec (input / output)
Itakda ang audio codec. Isa itong alias para sa "-codec:a".

-sample_fmt[:stream_specifier] sample_fmt (output, per-stream)
Itakda ang format ng sample ng audio. Gamitin ang "-sample_fmts" para makakuha ng listahan ng sinusuportahang sample
format.

-af filtergraph (output)
Lumikha ng filtergraph na tinukoy ni filtergraph at gamitin ito upang i-filter ang stream.

Isa itong alias para sa "-filter:a", tingnan ang -filter opsyon.

Advanced audio pagpipilian
-atag fourcc/tag (output)
Force audio tag/fourcc. Isa itong alias para sa "-tag:a".

-absf bitstream_filter
Hindi na ginagamit, tingnan ang -bsf

-hulaan_layout_max channel (input, per-stream)
Kung hindi alam ang ilang layout ng input channel, subukang hulaan lang kung tumutugma ito sa at
karamihan sa tinukoy na bilang ng mga channel. Halimbawa, ang 2 ay nagsasabi sa ffmpeg makilala 1
channel bilang mono at 2 channel bilang stereo ngunit hindi 6 channel bilang 5.1. Ang default ay sa
laging subukang hulaan. Gamitin ang 0 upang huwag paganahin ang lahat ng paghula.

Pangalawang pamagat pagpipilian
-scodec Codec (input / output)
Itakda ang subtitle codec. Isa itong alias para sa "-codec:s".

-sn (output)
Huwag paganahin ang pag-record ng subtitle.

-sbsf bitstream_filter
Hindi na ginagamit, tingnan ang -bsf

Advanced Pangalawang pamagat pagpipilian
-fix_sub_duration
Ayusin ang mga tagal ng subtitle. Para sa bawat subtitle, maghintay para sa susunod na packet sa parehong
stream at ayusin ang tagal ng una para maiwasan ang overlap. Ito ay kinakailangan sa
ilang mga subtitle codec, lalo na ang DVB subtitle, dahil ang tagal sa orihinal
ang packet ay isang magaspang na pagtatantya lamang at ang wakas ay talagang minarkahan ng isang walang laman na subtitle
kuwadro. Ang pagkabigong gamitin ang opsyong ito kapag kinakailangan ay maaaring magresulta sa labis na mga tagal
o mga pagkabigo sa muxing dahil sa mga hindi monotonic na timestamp.

Tandaan na ang opsyong ito ay maaantala ang output ng lahat ng data hanggang sa susunod na subtitle packet
ay na-decode: maaari itong tumaas nang husto sa pagkonsumo ng memorya at latency.

-canvas_size laki
Itakda ang laki ng canvas na ginamit para mag-render ng mga subtitle.

Advanced pagpipilian
-mapa [-]input_file_id[:stream_specifier][,sync_file_id[:stream_specifier]] | [linklabel]
(output)
Magtalaga ng isa o higit pang input stream bilang source para sa output file. Ang bawat input stream
ay kinilala ng input file index input_file_id at ang input stream index
input_stream_id sa loob ng input file. Ang parehong mga indeks ay nagsisimula sa 0. Kung tinukoy,
sync_file_id:stream_specifier nagtatakda kung aling input stream ang ginagamit bilang pag-sync ng presentasyon
sanggunian.

Ang unang "-map" na opsyon sa command line ay tumutukoy sa pinagmulan para sa output stream 0,
ang pangalawang "-map" na opsyon ay tumutukoy sa pinagmulan para sa output stream 1, atbp.

Ang isang "-" na character bago ang stream identifier ay lumilikha ng isang "negatibong" pagmamapa. Ito
hindi pinapagana ang mga tumutugmang stream mula sa mga nagawa nang pagmamapa.

Isang alternatibo [linklabel] ang form ay magmamapa ng mga output mula sa mga kumplikadong filter na graph (tingnan ang
-filter_complex opsyon) sa output file. linklabel dapat tumutugma sa isang tinukoy
label ng link ng output sa graph.

Halimbawa, upang i-map ang LAHAT ng mga stream mula sa unang input file hanggang sa output

ffmpeg -i INPUT -mapa 0 na output

Halimbawa, kung mayroon kang dalawang audio stream sa unang input file, ang mga stream na ito ay
kinilala ng "0:0" at "0:1". Maaari mong gamitin ang "-map" upang piliin kung aling mga stream ang ilalagay
isang output file. Halimbawa:

ffmpeg -i INPUT -map 0:1 out.wav

ay imamapa ang input stream sa INPUT kinilala ng "0:1" sa (iisang) output stream
in out.wav.

Halimbawa, upang piliin ang stream na may index 2 mula sa input file a.mov (tinukoy ng
identifier "0:2"), at stream na may index 6 mula sa input b.mov (tinukoy ng
identifier "1:6"), at kopyahin ang mga ito sa output file out.mov:

ffmpeg -i a.mov -i b.mov -c copy -map 0:2 -map 1:6 out.mov

Upang piliin ang lahat ng video at ang ikatlong audio stream mula sa isang input file:

ffmpeg -i INPUT -map 0:v -map 0:a:2 OUTPUT

Para i-map ang lahat ng stream maliban sa pangalawang audio, gumamit ng mga negatibong mapping

ffmpeg -i INPUT -map 0 -map -0:a:1 OUTPUT

Para piliin ang English audio stream:

ffmpeg -i INPUT -map 0:m:language:eng OUTPUT

Tandaan na ang paggamit sa opsyong ito ay hindi pinapagana ang mga default na pagmamapa para sa output file na ito.

-ignore_unknown
Huwag pansinin ang mga input stream na may hindi kilalang uri sa halip na mabigo kung ang pagkopya ng mga naturang stream ay
sinubukan.

-copy_unknown
Payagan ang mga input stream na may hindi kilalang uri na makopya sa halip na mabigo kung ito ay kinokopya
ang mga stream ay sinubukan.

-map_channel
[input_file_id.stream_specifier.channel_id|-1][:output_file_id.stream_specifier]
I-map ang isang audio channel mula sa isang ibinigay na input patungo sa isang output. Kung
output_file_id.stream_specifier ay hindi nakatakda, ang audio channel ay imamapa sa lahat
ang mga audio stream.

Gamit ang "-1" sa halip na input_file_id.stream_specifier.channel_id ay mapa ang isang naka-mute
channel.

Halimbawa, ipagpalagay INPUT ay isang stereo audio file, maaari mong ilipat ang dalawang audio
mga channel na may sumusunod na command:

ffmpeg -i INPUT -map_channel 0.0.1 -map_channel 0.0.0 OUTPUT

Kung gusto mong i-mute ang unang channel at panatilihin ang pangalawa:

ffmpeg -i INPUT -map_channel -1 -map_channel 0.0.1 OUTPUT

Ang pagkakasunud-sunod ng opsyong "-map_channel" ay tumutukoy sa pagkakasunud-sunod ng mga channel sa
stream ng output. Ang layout ng output channel ay hinuhulaan mula sa bilang ng mga channel na nakamapa
(mono kung isa "-map_channel", stereo kung dalawa, atbp.). Paggamit ng "-ac" sa kumbinasyon ng
Ginagawa ng "-map_channel" na ma-update ang mga antas ng gain ng channel kung input at output channel
hindi magkatugma ang mga layout (halimbawa, dalawang "-map_channel" na opsyon at "-ac 6").

Maaari mo ring i-extract ang bawat channel ng isang input sa mga partikular na output; ang mga sumusunod
Kinukuha ng command ang dalawang channel ng INPUT audio stream (file 0, stream 0) sa
kaukulang OUTPUT_CH0 at OUTPUT_CH1 output:

ffmpeg -i INPUT -map_channel 0.0.0 OUTPUT_CH0 -map_channel 0.0.1 OUTPUT_CH1

Hinahati ng sumusunod na halimbawa ang mga channel ng isang stereo input sa dalawang magkahiwalay na stream,
na inilalagay sa parehong output file:

ffmpeg -i stereo.wav -map 0:0 -map 0:0 -map_channel 0.0.0:0.0 -map_channel 0.0.1:0.1 -y out.ogg

Tandaan na sa kasalukuyan ang bawat output stream ay maaari lamang maglaman ng mga channel mula sa isang input
stream; halimbawa, hindi mo magagamit ang "-map_channel" upang pumili ng maraming input audio channel
na nilalaman sa iba't ibang mga stream (mula sa pareho o magkakaibang mga file) at pagsamahin ang mga ito sa
isang solong output stream. Sa ngayon, hindi posible, halimbawa, na lumiko
dalawang magkahiwalay na mono stream sa isang solong stereo stream. Gayunpaman paghahati ng isang stereo
stream sa dalawang solong channel mono stream ay posible.

Kung kailangan mo ang feature na ito, ang isang posibleng solusyon ay ang paggamit ng pagsamahin salain. Para sa
halimbawa, kung kailangan mong pagsamahin ang isang media (dito input.mkv) na may 2 mono audio stream sa
isang solong stereo channel audio stream (at panatilihin ang video stream), maaari mong gamitin ang
sumusunod na utos:

ffmpeg -i input.mkv -filter_complex "[0:1] [0:2] amerge" -c:a pcm_s16le -c:v copy output.mkv

-map_metadata[:metadata_spec_out] infile[:metadata_spec_in] (output, per-metadata)
Itakda ang impormasyon ng metadata ng susunod na output file mula sa infile. Tandaan na ang mga iyon ay file
mga indeks (zero-based), hindi mga filename. Opsyonal metadata_spec_in/out parameter
tukuyin, kung aling metadata ang kokopyahin. Ang isang metadata specifier ay maaaring magkaroon ng mga sumusunod na form:

g global metadata, ibig sabihin, metadata na nalalapat sa buong file

s[:stream_spec]
per-stream metadata. stream_spec ay isang stream specifier tulad ng inilarawan sa sapa
mga detalye kabanata. Sa isang input metadata specifier, ang unang tumutugmang stream ay
kinopya mula sa. Sa isang output metadata specifier, kinokopya ang lahat ng tumutugmang stream.

c:chapter_index
metadata sa bawat kabanata. chapter_index ay ang zero-based na index ng kabanata.

p:program_index
metadata ng bawat programa. program_index ay ang zero-based program index.

Kung aalisin ang specifier ng metadata, magde-default ito sa global.

Bilang default, kinokopya ang global metadata mula sa unang input file, per-stream at per-
Ang metadata ng kabanata ay kinopya kasama ng mga stream/kabanata. Ang mga default na pagmamapa na ito ay
hindi pinagana sa pamamagitan ng paglikha ng anumang pagmamapa ng may-katuturang uri. Ang isang negatibong file index ay maaaring
ginamit upang lumikha ng isang dummy mapping na hindi pinapagana ang awtomatikong pagkopya.

Halimbawa upang kopyahin ang metadata mula sa unang stream ng input file patungo sa global
metadata ng output file:

ffmpeg -i in.ogg -map_metadata 0:s:0 out.mp3

Upang gawin ang kabaligtaran, ibig sabihin, kopyahin ang global metadata sa lahat ng audio stream:

ffmpeg -i in.mkv -map_metadata:s:a 0:g out.mkv

Tandaan na ang simpleng 0 ay gagana rin sa halimbawang ito, dahil ang global metadata ay
ipinapalagay bilang default.

-map_chapters input_file_index (output)
Kopyahin ang mga kabanata mula sa input file na may index input_file_index sa susunod na output file. Kung
walang kabanata pagmamapa ay tinukoy, pagkatapos kabanata ay kinopya mula sa unang input file
na may kahit isang kabanata. Gumamit ng negatibong file index upang huwag paganahin ang anumang pagkopya ng kabanata.

-benchmark (global)
Ipakita ang impormasyon sa pag-benchmark sa dulo ng isang encode. Ipinapakita ang oras ng CPU na ginamit at
maximum na pagkonsumo ng memorya. Ang maximum na pagkonsumo ng memorya ay hindi suportado sa lahat
system, karaniwan itong ipapakita bilang 0 kung hindi suportado.

-benchmark_all (global)
Ipakita ang impormasyon sa pag-benchmark habang nag-encode. Ipinapakita ang oras ng CPU na ginamit sa iba't ibang hakbang
(audio/video encode/decode).

-takdang oras tagal (global)
Lumabas pagkatapos tumakbo ang ffmpeg tagal segundo.

-tapon (global)
Itapon ang bawat input packet sa stderr.

-hex (global)
Kapag nagtatapon ng mga packet, itapon din ang payload.

-muling (input)
Basahin ang input sa native frame rate. Pangunahing ginagamit upang gayahin ang isang grab device. o live na input
stream (hal. kapag nagbabasa mula sa isang file). Hindi dapat gamitin sa mga aktwal na grab device o
live na input stream (kung saan maaari itong magdulot ng packet loss). Bilang default ffmpeg pagtatangka upang
basahin ang (mga) input nang mabilis hangga't maaari. Ang pagpipiliang ito ay magpapabagal sa pagbabasa ng
(mga) input sa native frame rate ng (mga) input. Ito ay kapaki-pakinabang para sa real-time na output
(hal. live streaming).

-loop_input
I-loop ang input stream. Sa kasalukuyan ito ay gumagana lamang para sa mga stream ng imahe. Ang pagpipiliang ito ay
ginagamit para sa awtomatikong pagsubok sa FFserver. Hindi na ginagamit ang opsyong ito, gamitin ang -loop 1.

-loop_output ilang beses
Paulit-ulit na pag-loop ng output para sa mga format na sumusuporta sa pag-loop gaya ng animated na GIF (0 will
loop ang output nang walang hanggan). Ang pagpipiliang ito ay hindi na ginagamit, gamitin ang -loop.

-vsync parametro
Paraan ng pag-sync ng video. Para sa mga dahilan ng pagiging tugma, maaaring tukuyin ang mga lumang halaga bilang mga numero.
Ang mga bagong idinagdag na halaga ay kailangang tukuyin bilang mga string palagi.

0, dumaan
Ang bawat frame ay ipinapasa kasama ang timestamp nito mula sa demuxer hanggang sa muxer.

1, cf.
Ang mga frame ay mado-duplicate at ibababa upang makamit ang eksaktong hiniling na pare-pareho
frame rate.

2, vfr
Ang mga frame ay ipinapasa gamit ang kanilang timestamp o ibinabagsak upang maiwasan ang 2
mga frame mula sa pagkakaroon ng parehong timestamp.

ilaglag
Bilang passthrough ngunit sinisira ang lahat ng timestamp, ginagawang sariwa ang muxer
timestamp batay sa frame-rate.

-1, kotse
Pumipili sa pagitan ng 1 at 2 depende sa mga kakayahan ng muxer. Ito ang default
pamamaraan.

Tandaan na ang mga timestamp ay maaaring mabago pa ng muxer, pagkatapos nito. Para sa
halimbawa, sa kaso na ang format na opsyon iwasan ang_negatibong_ts Ay pinagana.

Sa -map maaari kang pumili mula sa kung aling stream ang mga timestamp ay dapat kunin. Kaya mo
iwanang hindi nagbabago ang alinman sa video o audio at i-sync ang natitirang (mga) stream sa
hindi nagbabago.

-frame_drop_threshold parametro
Frame drop threshold, na tumutukoy kung gaano kalaki ang nasa likod ng mga video frame bago ang mga ito
ay ibinaba. Sa mga unit ng frame rate, kaya ang 1.0 ay isang frame. Ang default ay -1.1. Isa
Ang posibleng usecase ay upang maiwasan ang mga framedrop kung sakaling magkaroon ng maingay na timestamp o tumaas
katumpakan ng pagbaba ng frame sa kaso ng mga eksaktong timestamp.

-async samples_per_second
Paraan ng pag-sync ng audio. "Iniunat/pinipisil" ang audio stream upang tumugma sa mga timestamp, ang
Ang parameter ay ang maximum na mga sample bawat segundo kung saan binago ang audio. -async 1
ay isang espesyal na kaso kung saan ang simula lamang ng audio stream ang itatama nang walang anuman
mamaya pagwawasto.

Tandaan na ang mga timestamp ay maaaring mabago pa ng muxer, pagkatapos nito. Para sa
halimbawa, sa kaso na ang format na opsyon iwasan ang_negatibong_ts Ay pinagana.

Ang opsyon na ito ay hindi na ginagamit. Gamitin na lang ang "aresample" na audio filter.

-mga kopya
Huwag iproseso ang mga timestamp ng input, ngunit panatilihin ang kanilang mga halaga nang hindi sinusubukang i-sanitize
sila. Sa partikular, huwag alisin ang halaga ng offset ng unang oras ng pagsisimula.

Tandaan na, depende sa vsync opsyon o sa partikular na pagpoproseso ng muxer (hal
ang opsyon sa format iwasan ang_negatibong_ts ay pinagana) ang mga timestamp ng output ay maaaring hindi magkatugma
gamit ang mga timestamp ng input kahit na pinili ang opsyong ito.

-simula_sa_zero
Kapag ginamit sa mga kopya, ilipat ang mga timestamp ng input upang magsimula ang mga ito sa zero.

Nangangahulugan ito na ang paggamit ng hal. "-ss 50" ay magsisimula ang mga timestamp ng output sa 50 segundo,
hindi alintana kung saang timestamp nagsimula ang input file.

-copytb paraan
Tukuyin kung paano itakda ang timebase ng encoder kapag kumukopya ng stream. paraan ay isang integer
numeric na halaga, at maaaring ipagpalagay ang isa sa mga sumusunod na halaga:

1 Gamitin ang demuxer timebase.

Ang time base ay kinopya sa output encoder mula sa kaukulang input
demuxer. Minsan ito ay kinakailangan upang maiwasan ang hindi monotonically pagtaas
timestamp kapag kumukopya ng mga video stream na may variable na frame rate.

0 Gamitin ang timebase ng decoder.

Ang time base ay kinopya sa output encoder mula sa kaukulang input
decoder

-1 Subukang awtomatikong gawin ang pagpili, upang makabuo ng isang matino na output.

Ang default na halaga ay -1.

-pinakamaikli (output)
Tapusin ang pag-encode kapag natapos na ang pinakamaikling input stream.

-dts_delta_threshold
Timestamp discontinuity delta threshold.

-muxdelay segundo (input)
Itakda ang maximum na demux-decode na pagkaantala.

-muxpreload segundo (input)
Itakda ang paunang demux-decode delay.

-streamid output-stream-index:bagong-halaga (output)
Magtalaga ng bagong stream-id value sa isang output stream. Dapat tukuyin ang opsyong ito
bago ang output filename kung saan ito nalalapat. Para sa sitwasyon kung saan marami
umiiral ang mga output file, ang isang streamid ay maaaring muling italaga sa ibang halaga.

Halimbawa, upang itakda ang stream na 0 PID sa 33 at ang stream na 1 PID sa 36 para sa isang output
mpegts file:

ffmpeg -i infile -streamid 0:33 -streamid 1:36 out.ts

-bsf[:stream_specifier] bitstream_filters (output, per-stream)
Magtakda ng mga filter ng bitstream para sa pagtutugma ng mga stream. bitstream_filters ay pinaghihiwalay ng kuwit
listahan ng mga filter ng bitstream. Gamitin ang opsyong "-bsfs" para makuha ang listahan ng bitstream
mga filter.

ffmpeg -i h264.mp4 -c:v copy -bsf:v h264_mp4toannexb -an out.h264

ffmpeg -i file.mov -an -vn -bsf:s mov2textsub -c:s copy -f rawvideo sub.txt

-tag[:stream_specifier] codec_tag (input/output, per-stream)
Pilitin ang isang tag/fourcc para sa pagtutugma ng mga stream.

-timecode hh:mm:ssSeptiyembreff
Tukuyin ang Timecode para sa pagsusulat. Septiyembre ay ':' para sa hindi bumabagsak na timecode at ';' (o '.') para sa
drop.

ffmpeg -i input.mpg -timecode 01:02:03.04 -r 30000/1001 -s ntsc output.mpg

-filter_complex filtergraph (global)
Tukuyin ang isang kumplikadong filtergraph, ibig sabihin, isa na may arbitrary na bilang ng mga input at/o mga output.
Para sa mga simpleng graph -- yaong may isang input at isang output ng parehong uri -- tingnan ang
-filter mga pagpipilian. filtergraph ay isang paglalarawan ng filtergraph, tulad ng inilarawan sa
``Filtergraph syntax'' na seksyon ng ffmpeg-filters manual.

Ang mga label ng link ng input ay dapat sumangguni sa mga stream ng input gamit ang
"[file_index:stream_specifier]" syntax (ibig sabihin, kapareho ng -mapa gamit). Kung
stream_specifier tumutugma sa maraming stream, ang una ay gagamitin. Isang walang label
ang input ay ikokonekta sa unang hindi nagamit na input stream ng katugmang uri.

Tinutukoy ang mga label ng link ng output -mapa. Ang mga walang label na output ay idinaragdag sa una
output file.

Tandaan na sa pagpipiliang ito posible na gumamit lamang ng mga mapagkukunan ng lavfi nang walang normal
input file.

Halimbawa, upang i-overlay ang isang imahe sa video

ffmpeg -i video.mkv -i image.png -filter_complex '[0:v][1:v]overlay[out]' -map
'[out]' out.mkv

Dito ang "[0:v]" ay tumutukoy sa unang video stream sa unang input file, na naka-link
sa unang (pangunahing) input ng overlay na filter. Katulad din ang unang video stream sa
ang pangalawang input ay naka-link sa pangalawang (overlay) input ng overlay.

Ipagpalagay na mayroon lamang isang video stream sa bawat input file, maaari naming alisin ang mga label ng input,
kaya ang nasa itaas ay katumbas ng

ffmpeg -i video.mkv -i image.png -filter_complex 'overlay[out]' -map
'[out]' out.mkv

Higit pa rito, maaari nating alisin ang output label at ang solong output mula sa filter graph
ay awtomatikong idadagdag sa output file, para makapagsulat lang kami

ffmpeg -i video.mkv -i image.png -filter_complex 'overlay' out.mkv

Upang makabuo ng 5 segundo ng purong pulang video gamit ang pinagmulan ng "kulay" ng lavfi:

ffmpeg -filter_complex 'color=c=red' -t 5 out.mkv

-lavfi filtergraph (global)
Tukuyin ang isang kumplikadong filtergraph, ibig sabihin, isa na may arbitrary na bilang ng mga input at/o mga output.
Katumbas ng -filter_complex.

-filter_complex_script filename (global)
Ang pagpipiliang ito ay katulad ng -filter_complex, ang pinagkaiba lang ay ang argumento nito
ang pangalan ng file kung saan babasahin ang isang kumplikadong paglalarawan ng filtergraph.

-accurate_seek (input)
Ang pagpipiliang ito ay nagbibigay-daan o hindi pinapagana ang tumpak na paghahanap sa mga input file gamit ang -ss pagpipilian.
Ito ay pinagana bilang default, kaya ang paghahanap ay tumpak kapag nag-transcode. Gamitin
-noccurate_seek upang i-disable ito, na maaaring maging kapaki-pakinabang hal. kapag kumukopya ng ilang stream at
transcoding ang iba.

-seek_timestamp (input)
Ang opsyong ito ay nagbibigay-daan o hindi pinapagana ang paghahanap sa pamamagitan ng timestamp sa mga input file na may -ss
opsyon. Ito ay hindi pinagana bilang default. Kung pinagana, ang argumento sa -ss Ang opsyon ay
itinuturing na isang aktwal na timestamp, at hindi na-offset ng oras ng pagsisimula ng file. Ito
mahalaga lang para sa mga file na hindi nagsisimula sa timestamp 0, gaya ng mga transport stream.

-laki_ng_pila laki (input)
Itinatakda ng opsyong ito ang maximum na bilang ng mga nakapila na packet kapag nagbabasa mula sa file o
aparato. Sa mababang latency / mataas na rate ng mga live stream, maaaring itapon ang mga packet kung sila
ay hindi binabasa sa isang napapanahong paraan; ang pagtaas ng halagang ito ay maiiwasan ito.

-override_ffserver (global)
Ino-override ang mga detalye ng input mula sa ffserver. Gamit ang opsyong ito maaari mong imapa ang anuman
input stream sa ffserver at kontrolin ang maraming aspeto ng pag-encode mula sa ffmpeg. Kung wala
ang pagpipiliang ito ffmpeg magpapadala sa ffserver kung ano ang hinihiling ng ffserver.

Ang opsyon ay inilaan para sa mga kaso kung saan kailangan ang mga feature na hindi maaaring tukuyin
ffserver ngunit maaaring sa ffmpeg.

-sdp_file file (global)
I-print ang sdp na impormasyon para sa isang output stream sa file. Pinapayagan nito ang paglalaglag ng sdp
impormasyon kapag hindi bababa sa isang output ay hindi isang rtp stream. (Nangangailangan ng hindi bababa sa isa sa
ang mga format ng output ay rtp).

- itapon (input)
Nagbibigay-daan sa pagtatapon ng mga partikular na stream o frame ng mga stream sa demuxer. Hindi lahat
Sinusuportahan ito ng mga demuxer.

wala
Itapon ang walang frame.

default
Default, na hindi nagtatapon ng mga frame.

noref
Itapon ang lahat ng hindi reference na frame.

bidir
Itapon ang lahat ng bidirectional frame.

nokey
Itapon ang lahat ng mga frame maliban sa mga keyframe.

lahat Itapon ang lahat ng mga frame.

-xerror (global)
Huminto at lumabas kapag nagkamali

Bilang isang espesyal na pagbubukod, maaari mong gamitin ang isang bitmap subtitle stream bilang input: ito ay magiging
na-convert sa isang video na may parehong laki ng pinakamalaking video sa file, o 720x576 kung
walang video. Tandaan na isa itong eksperimental at pansamantalang solusyon. Ito ay magiging
inalis kapag ang libavfilter ay may wastong suporta para sa mga subtitle.

Halimbawa, sa hardcode na mga subtitle sa ibabaw ng isang DVB-T recording na nakaimbak sa MPEG-TS na format,
inaantala ang mga subtitle ng 1 segundo:

ffmpeg -i input.ts -filter_complex \
'[#0x2ef] setpts=PTS+1/TB [sub] ; [#0x2d0] [sub] overlay' \
-sn -mapang '#0x2dc' na output.mkv

(0x2d0, 0x2dc at 0x2ef ay ang mga MPEG-TS PID ng video, audio at
mga subtitle na stream; 0:0, 0:3 at 0:7 ay gagana rin)

Preset file
Ang isang preset na file ay naglalaman ng isang sequence ng opsyon=halaga mga pares, isa para sa bawat linya, na tumutukoy sa a
pagkakasunud-sunod ng mga opsyon na magiging awkward na tukuyin sa command line. Nagsisimula ang mga linya
na may hash ('#') na character ay binabalewala at ginagamit upang magbigay ng mga komento. Suriin ang
mga preset direktoryo sa FFmpeg source tree para sa mga halimbawa.

Mayroong dalawang uri ng mga preset na file: ffpreset at avpreset na mga file.

ffpreset file

Ang mga ffpreset na file ay tinukoy kasama ang mga opsyon na "vpre", "apre", "spre", at "fpre". Ang
Kinukuha ng opsyong "fpre" ang filename ng preset sa halip na isang preset na pangalan bilang input at maaari
gamitin para sa anumang uri ng codec. Para sa mga opsyon na "vpre", "apre", at "spre", ang mga opsyon
na tinukoy sa isang preset na file ay inilalapat sa kasalukuyang napiling codec ng parehong uri ng
ang preset na opsyon.

Ang argument na ipinasa sa "vpre", "apre", at "spre" na mga preset na opsyon ay tumutukoy sa preset
file na gagamitin ayon sa mga sumusunod na patakaran:

Ang unang ffmpeg ay naghahanap ng isang file na pinangalanan arg.ffpreset sa mga direktoryo $FFMPEG_DATADIR (kung
set), at $HOME/.ffmpeg, at sa datadir na tinukoy sa oras ng pagsasaayos (karaniwan ay
PREFIX/share/ffmpeg) o sa a mga ffpreset folder kasama ang executable sa win32, doon
utos. Halimbawa, kung ang argument ay "libvpx-1080p", hahanapin nito ang file
libvpx-1080p.ffpreset.

Kung walang nakitang ganoong file, maghahanap ang ffmpeg ng isang file na pinangalanan codec_name-arg.ffpreset
sa mga nabanggit na direktoryo, kung saan codec_name ay ang pangalan ng codec kung saan ang
ilalapat ang mga preset na opsyon sa file. Halimbawa, kung pipiliin mo ang video codec na may
"-vcodec libvpx" at gamitin ang "-vpre 1080p", pagkatapos ay hahanapin nito ang file
libvpx-1080p.ffpreset.

avpreset file

Ang mga avpreset na file ay tinukoy gamit ang opsyong "pre". Gumagana ang mga ito katulad ng mga ffpreset na file,
ngunit pinapayagan lamang nila ang mga opsyon na partikular sa encoder. Samakatuwid, ang isang opsyon=halaga pares na tumutukoy
hindi magagamit ang isang encoder.

Kapag tinukoy ang "pre" na opsyon, maghahanap ang ffmpeg ng mga file na may suffix na .avpreset
sa mga direktoryo $AVCONV_DATADIR (kung nakatakda), at $HOME/.avconv, at sa tinukoy na datadir
sa oras ng pagsasaayos (karaniwan PREFIX/share/ffmpeg), sa ganoong pagkakasunud-sunod.

Ang unang ffmpeg ay naghahanap ng isang file na pinangalanan codec_name-arg.avpreset sa nabanggit sa itaas
mga direktoryo, kung saan codec_name ay ang pangalan ng codec kung saan ang mga preset na opsyon sa file
ilalapat. Halimbawa, kung pipiliin mo ang video codec na may "-vcodec libvpx" at gagamitin
"-pre 1080p", pagkatapos ay hahanapin nito ang file libvpx-1080p.avpreset.

Kung walang nakitang ganoong file, maghahanap ang ffmpeg ng isang file na pinangalanan arg.avpreset sa
parehong mga direktoryo.

HALIMBAWA


Video at audio pagkakahawak
Kung tinukoy mo ang format ng pag-input at device, maaaring direktang kumuha ng video at audio ang ffmpeg.

ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg

O may ALSA audio source (mono input, card id 1) sa halip na OSS:

ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/out.mpg

Tandaan na dapat mong i-activate ang tamang pinagmulan ng video at channel bago ilunsad ang ffmpeg
sa sinumang manonood ng TV gaya nghttp://linux.bytesex.org/xawtv/> ni Gerd Knorr. meron ka rin
upang itakda nang tama ang mga antas ng pag-record ng audio gamit ang isang karaniwang mixer.

X11 pagkakahawak
Kunin ang X11 display gamit ang ffmpeg sa pamamagitan ng

ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0 /tmp/out.mpg

Ang 0.0 ay display.screen number ng iyong X11 server, katulad ng DISPLAY environment variable.

ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0+10,20 /tmp/out.mpg

Ang 0.0 ay display.screen number ng iyong X11 server, katulad ng DISPLAY environment variable.
Ang 10 ay ang x-offset at 20 ang y-offset para sa grabbing.

Video at audio file format Conversion
Anumang suportadong format ng file at protocol ay maaaring magsilbing input sa ffmpeg:

Halimbawa:

· Maaari mong gamitin ang mga YUV file bilang input:

ffmpeg -i /tmp/test%dY /tmp/out.mpg

Gagamitin nito ang mga file:

/tmp/test0.Y, /tmp/test0.U, /tmp/test0.V,
/tmp/test1.Y, /tmp/test1.U, /tmp/test1.V, atbp...

Ang mga Y file ay gumagamit ng dalawang beses sa resolution ng U at V na mga file. Sila ay mga hilaw na file, wala
header. Maaari silang mabuo ng lahat ng disenteng video decoder. Dapat mong tukuyin ang laki
ng larawang may -s opsyon kung hindi ito mahulaan ng ffmpeg.

· Maaari kang mag-input mula sa isang raw YUV420P file:

ffmpeg -i /tmp/test.yuv /tmp/out.avi

Ang test.yuv ay isang file na naglalaman ng raw YUV planar data. Ang bawat frame ay binubuo ng Y
eroplano na sinusundan ng mga U at V na eroplano sa kalahating patayo at pahalang na resolution.

· Maaari kang mag-output sa isang raw YUV420P file:

ffmpeg -i mydivx.avi hugefile.yuv

· Maaari kang magtakda ng ilang input file at output file:

ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg

Kino-convert ang audio file na a.wav at ang raw YUV video file na a.yuv sa MPEG file na a.mpg.

· Maaari ka ring gumawa ng audio at video na mga conversion nang sabay-sabay:

ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2

Kino-convert ang a.wav sa MPEG audio sa 22050 Hz sample rate.

· Maaari kang mag-encode sa ilang mga format nang sabay-sabay at tukuyin ang isang pagmamapa mula sa input
stream sa output stream:

ffmpeg -i /tmp/a.wav -map 0:a -b:a 64k /tmp/a.mp2 -map 0:a -b:a 128k /tmp/b.mp2

Kino-convert ang a.wav sa a.mp2 sa 64 kbits at sa b.mp2 sa 128 kbits. '-map file: index'
tumutukoy kung aling input stream ang ginagamit para sa bawat output stream, sa pagkakasunud-sunod ng
kahulugan ng mga stream ng output.

· Maaari mong i-transcode ang mga decrypted na VOB:

ffmpeg -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.avi

Ito ay isang tipikal na halimbawa ng DVD ripping; ang input ay isang VOB file, ang output ay isang AVI file
na may MPEG-4 na video at MP3 audio. Tandaan na sa utos na ito ginagamit namin ang mga B-frame kaya ang
Ang MPEG-4 stream ay katugma sa DivX5, at ang laki ng GOP ay 300 na nangangahulugang isang intra frame
bawat 10 segundo para sa 29.97fps input na video. Higit pa rito, ang audio stream ay
MP3-encoded kaya kailangan mong paganahin ang LAME support sa pamamagitan ng pagpasa ng "--enable-libmp3lame" sa
i-configure. Ang pagmamapa ay partikular na kapaki-pakinabang para sa DVD transcoding upang makuha ang ninanais
wika ng audio.

TANDAAN: Upang makita ang mga sinusuportahang format ng pag-input, gamitin ang "ffmpeg -formats".

· Maaari kang kumuha ng mga larawan mula sa isang video, o lumikha ng isang video mula sa maraming mga larawan:

Para sa pagkuha ng mga larawan mula sa isang video:

ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg

Ito ay kukuha ng isang video frame bawat segundo mula sa video at ilalabas ang mga ito
mga file na pinangalanan foo-001.jpeg, foo-002.jpeg, atbp. Ire-rescale ang mga imahe upang magkasya sa bago
Mga halaga ng WxH.

Kung gusto mong mag-extract ng limitadong bilang ng mga frame, maaari mong gamitin ang command sa itaas
sa kumbinasyon ng -vframes o -t na opsyon, o kasama ng -ss upang magsimula
pagkuha mula sa isang tiyak na punto ng oras.

Para sa paggawa ng video mula sa maraming larawan:

ffmpeg -f image2 -framerate 12 -i foo-%03d.jpeg -s WxH foo.avi

Tinutukoy ng syntax na "foo-%03d.jpeg" na gumamit ng decimal na numero na binubuo ng tatlong digit
nilagyan ng mga zero para ipahayag ang sequence number. Ito ay ang parehong syntax na sinusuportahan ng
ang C printf function, ngunit ang mga format lamang na tumatanggap ng isang normal na integer ang angkop.

Kapag nag-i-import ng pagkakasunud-sunod ng imahe, sinusuportahan din ng -i ang pagpapalawak ng wildcard na parang shell
mga pattern (globbing) sa loob, sa pamamagitan ng pagpili sa image2-specific na "-pattern_type glob"
pagpipilian.

Halimbawa, para sa paglikha ng isang video mula sa mga filename na tumutugma sa pattern ng glob
"foo-*.jpeg":

ffmpeg -f image2 -pattern_type glob -framerate 12 -i 'foo-*.jpeg' -s WxH foo.avi

· Maaari kang maglagay ng maraming stream ng parehong uri sa output:

ffmpeg -i test1.avi -i test2.avi -map 1:1 -map 1:0 -map 0:1 -map 0:0 -c copy -y test12.nut

Ang resultang output file pagsubok12.nut ay maglalaman ng unang apat na stream mula sa
mag-input ng mga file sa reverse order.

· Para pilitin ang CBR na video output:

ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k out.m2v

· Ang apat na opsyon na lmin, lmax, mblmin at mblmax ay gumagamit ng mga 'lambda' unit, ngunit maaari mong gamitin ang
QP2LAMBDA constant para madaling ma-convert mula sa 'q' units:

ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext

Gumamit ng avconv online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    libusb
    libusb
    Library upang paganahin ang espasyo ng gumagamit
    mga programa ng aplikasyon upang makipag-usap
    Mga USB device. Audience: Mga Developer, End
    Mga user/Desktop. Wika ng Programming: C.
    Mga kategorya...
    I-download ang libusb
  • 2
    SWIG
    SWIG
    Ang SWIG ay isang software development tool
    na nag-uugnay sa mga programang nakasulat sa C at
    C++ na may iba't ibang mataas na antas
    mga programming language. Ang SWIG ay ginagamit kasama ng
    iba...
    I-download ang SWIG
  • 3
    WooCommerce Nextjs React Theme
    WooCommerce Nextjs React Theme
    React WooCommerce theme, built with
    Susunod na JS, Webpack, Babel, Node, at
    Express, gamit ang GraphQL at Apollo
    Kliyente. Tindahan ng WooCommerce sa React(
    naglalaman ng: Mga produkto...
    I-download ang WooCommerce Nextjs React Theme
  • 4
    archlabs_repo
    archlabs_repo
    Package repo para sa ArchLabs Ito ay isang
    application na maaari ding makuha
    mula
    https://sourceforge.net/projects/archlabs-repo/.
    Ito ay na-host sa OnWorks sa...
    I-download ang archlabs_repo
  • 5
    Zephyr Project
    Zephyr Project
    Ang Zephyr Project ay isang bagong henerasyon
    real-time na operating system (RTOS) na
    sumusuporta sa maramihang hardware
    mga arkitektura. Ito ay batay sa a
    maliit na footprint kernel...
    I-download ang Zephyr Project
  • 6
    SCons
    SCons
    Ang SCons ay isang tool sa pagbuo ng software
    iyon ay isang superior alternatibo sa
    classic na "Make" build tool na
    alam at mahal nating lahat. Ang SCons ay
    nagpatupad ng...
    I-download ang SCons
  • Marami pa »

Linux command

Ad