Ini adalah perintah format ffmpeg yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa stasiun kerja online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
format ffmpeg - format FFmpeg
DESKRIPSI
Dokumen ini menjelaskan format yang didukung (muxer dan demuxer) yang disediakan oleh
perpustakaan format libav.
FORMAT PILIHAN
Pustaka libavformat menyediakan beberapa opsi global umum, yang dapat disetel di semua
muxer dan demuxer. Selain itu, setiap muxer atau demuxer dapat mendukung apa yang disebut private
pilihan, yang khusus untuk komponen itu.
Opsi dapat diatur dengan menentukan -Option nilai di alat FFmpeg, atau dengan mengatur
nilai secara eksplisit dalam opsi "AVFormatContext" atau menggunakan libavutil/opt.h API untuk
penggunaan terprogram.
Daftar opsi yang didukung berikut ini:
avioflag bendera (input output)
Nilai yang mungkin:
langsung
Kurangi buffering.
ukuran probe bilangan bulat (memasukkan)
Tetapkan ukuran probing dalam byte, yaitu ukuran data yang akan dianalisis untuk mendapatkan aliran
informasi. Nilai yang lebih tinggi akan memungkinkan pendeteksian lebih banyak informasi jika itu terjadi
tersebar ke dalam aliran, tetapi akan meningkatkan latensi. Harus bilangan bulat bukan lebih kecil
dari 32. Ini adalah 5000000 secara default.
ukuran paket bilangan bulat (keluaran)
Tetapkan ukuran paket.
bendera bendera (input output)
Tetapkan bendera format.
Nilai yang mungkin:
com.ignidx
Abaikan indeks.
pencarian cepat
Aktifkan pencarian cepat, tetapi tidak akurat untuk beberapa format.
tuan-tuan
Menghasilkan PTS.
nofillin
Jangan mengisi nilai-nilai yang hilang yang dapat dihitung dengan tepat.
tidak jelas
Nonaktifkan AVParsers, ini membutuhkan "+nofillin" juga.
menyalakan
Abaikan DTS.
buang korupsi
Buang bingkai yang rusak.
sortir
Cobalah untuk menyisipkan paket keluaran dengan DTS.
simpanan
Jangan gabungkan data samping.
latm
Aktifkan muatan RTP MP4A-LATM.
bukan penyangga
Kurangi latensi yang diperkenalkan oleh buffering opsional
tepat sekali
Hanya tulis data yang tidak bergantung pada platform, build, dan waktu. Ini memastikan file itu
dan checksum data dapat direproduksi dan cocok antar platform. Penggunaan utamanya
adalah untuk pengujian regresi.
cari2any bilangan bulat (memasukkan)
Izinkan pencarian ke non-keyframes pada tingkat demuxer jika didukung jika disetel ke 1. Default
adalah 0.
analisisurasi bilangan bulat (memasukkan)
Tentukan berapa banyak mikrodetik yang dianalisis untuk menyelidiki input. Nilai yang lebih tinggi akan
memungkinkan mendeteksi informasi yang lebih akurat, tetapi akan meningkatkan latensi. Ini default untuk
5,000,000 mikrodetik = 5 detik.
kunci kripto heksadesimal string (memasukkan)
Setel kunci dekripsi.
indeksmem bilangan bulat (memasukkan)
Setel memori maksimal yang digunakan untuk indeks stempel waktu (per streaming).
com.rtbufsize bilangan bulat (memasukkan)
Atur memori maksimal yang digunakan untuk buffering frame waktu nyata.
fdebug bendera (input output)
Cetak info debug tertentu.
Nilai yang mungkin:
ts
max_delay bilangan bulat (input output)
Setel penundaan muxing atau demuxing maksimum dalam mikrodetik.
ukuran penyelidikan fps bilangan bulat (memasukkan)
Atur jumlah frame yang digunakan untuk menyelidiki fps.
audio_pramuat bilangan bulat (keluaran)
Setel mikrodetik di mana paket audio harus disisipkan sebelumnya.
potongan_durasi bilangan bulat (keluaran)
Atur mikrodetik untuk setiap potongan.
potongan_ukuran bilangan bulat (keluaran)
Tetapkan ukuran dalam byte untuk setiap potongan.
err_deteksi, f_err_detect bendera (memasukkan)
Setel tanda deteksi kesalahan. "f_err_detect" tidak digunakan lagi dan hanya boleh digunakan melalui
itu ffmpeg tool.
Nilai yang mungkin:
periksa crc
Verifikasi CRC yang disematkan.
aliran bit
Mendeteksi penyimpangan spesifikasi bitstream.
penyangga
Mendeteksi panjang bitstream yang tidak tepat.
meledak
Batalkan decoding pada deteksi kesalahan kecil.
hati-hati
Pertimbangkan hal-hal yang melanggar spesifikasi dan belum terlihat di alam liar sebagai
kesalahan.
compliant
Pertimbangkan semua ketidaksesuaian spesifikasi sebagai kesalahan.
agresif
Pertimbangkan hal-hal yang tidak boleh dilakukan oleh pembuat enkode waras sebagai kesalahan.
max_interleave_delta bilangan bulat (keluaran)
Tetapkan durasi buffering maksimum untuk interleaving. Durasi dinyatakan dalam
mikrodetik, dan default ke 1000000 (1 detik).
Untuk memastikan semua aliran disisipkan dengan benar, libavformat akan menunggu hingga
memiliki setidaknya satu paket untuk setiap aliran sebelum benar-benar menulis paket apa pun ke
berkas keluaran. Ketika beberapa aliran "jarang" (yaitu ada kesenjangan besar antara
paket yang berurutan), hal ini dapat mengakibatkan buffering yang berlebihan.
Bidang ini menentukan perbedaan maksimum antara cap waktu yang pertama dan
paket terakhir dalam antrian muxing, di atasnya libavformat akan menampilkan sebuah paket
terlepas dari apakah paket tersebut telah mengantri untuk semua aliran.
Jika diatur ke 0, libavformat akan melanjutkan buffering paket hingga memiliki paket untuk
setiap aliran, terlepas dari perbedaan cap waktu maksimum antara buffered
paket.
gunakan_wallclock_as_timestamps bilangan bulat (memasukkan)
Gunakan jam dinding sebagai stempel waktu.
hindari_negatif_ts bilangan bulat (keluaran)
Nilai yang mungkin:
buat_non_negatif
Geser stempel waktu untuk menjadikannya non-negatif. Perhatikan juga bahwa ini hanya memengaruhi
memimpin stempel waktu negatif, dan bukan stempel waktu negatif non-monoton.
jadikan_zero
Geser stempel waktu sehingga stempel waktu pertama adalah 0.
mobil (Default)
Memungkinkan pergeseran bila diperlukan oleh format target.
cacat
Menonaktifkan pergeseran stempel waktu.
Saat pemindahan diaktifkan, semua stempel waktu keluaran digeser dengan jumlah yang sama. suara,
video, dan subtitle desinkronisasi dan perbedaan stempel waktu relatif dipertahankan
dibandingkan dengan bagaimana mereka akan menjadi tanpa pergeseran.
lewati_initial_bytes bilangan bulat (memasukkan)
Setel jumlah byte yang akan dilewati sebelum membaca header dan bingkai jika disetel ke 1. Standarnya adalah
0.
benar_ts_overflow bilangan bulat (memasukkan)
Stempel waktu tunggal yang benar meluap jika disetel ke 1. Standarnya adalah 1.
flush_packets bilangan bulat (keluaran)
Siram aliran I/O yang mendasarinya setelah setiap paket. Default 1 mengaktifkannya, dan memiliki
efek mengurangi latency; 0 menonaktifkannya dan mungkin sedikit meningkatkan kinerja di
beberapa kasus.
keluaran_ts_offset mengimbangi (keluaran)
Atur offset waktu keluaran.
mengimbangi harus spesifikasi durasi waktu, lihat itu Waktu lamanya bagian in itu
ffmpeg-utils(1) panduan.
Offset ditambahkan oleh muxer ke stempel waktu keluaran.
Menentukan offset positif berarti bahwa aliran yang sesuai tertunda oleh
durasi waktu yang ditentukan dalam mengimbangi. Nilai default adalah 0 (artinya tidak ada offset adalah
terapan).
format_daftar putih daftar (memasukkan)
"," dipisahkan Daftar demuxer yang diizinkan. Secara default semua diperbolehkan.
dump_separator string (memasukkan)
Pemisah digunakan untuk memisahkan bidang yang dicetak pada baris perintah tentang Stream
parameter. Misalnya untuk memisahkan bidang dengan baris baru dan indentasi:
ffprobe -dump_separator "
" -Saya ~/videos/matrixbench_mpeg2.mpg
dibentuk aliran penentu
Penentu aliran format memungkinkan pemilihan satu atau lebih aliran yang cocok dengan spesifik
properti.
Kemungkinan bentuk penentu aliran adalah:
aliran_index
Cocokkan aliran dengan indeks ini.
aliran_tipe[:aliran_index]
aliran_tipe adalah salah satu dari berikut: 'v' untuk video, 'a' untuk audio, 's' untuk subtitle, 'd'
untuk data, dan 't' untuk lampiran. Jika aliran_index diberikan, maka cocok dengan
nomor aliran aliran_index jenis ini. Jika tidak, itu cocok dengan semua aliran ini
mengetik.
p:program_id[:aliran_index]
If aliran_index diberikan, maka itu cocok dengan aliran dengan nomor aliran_index dalam
program dengan id program_id. Jika tidak, itu cocok dengan semua aliran dalam program.
#aliran_id
Mencocokkan aliran dengan ID khusus format.
Semantik yang tepat dari penentu aliran ditentukan oleh
Fungsi "avformat_match_stream_specifier()" dideklarasikan dalam libavformat/avformat.h
tajuk.
DEMUXER
Demuxer adalah elemen yang dikonfigurasi dalam FFmpeg yang dapat membaca aliran multimedia dari a
jenis file tertentu.
Saat Anda mengonfigurasi build FFmpeg, semua demuxer yang didukung diaktifkan secara default.
Anda dapat membuat daftar semua yang tersedia menggunakan opsi konfigurasi "--list-demuxers".
Anda dapat menonaktifkan semua demuxer menggunakan opsi konfigurasi "--disable-demuxers", dan
aktifkan satu demuxer secara selektif dengan opsi "--enable-demuxer=DEMUXER", atau nonaktifkan
dengan opsi "--disable-demuxer=DEMUXER".
Opsi "-format" dari alat ff* akan menampilkan daftar demuxer yang diaktifkan.
Deskripsi beberapa demuxer yang tersedia saat ini berikut ini.
aa
Audible Format 2, 3, dan 4 demuxer.
Demuxer ini digunakan untuk mendemux file Audible Format 2, 3, dan 4 (.aa).
apelhttp
Demuxer Streaming Langsung HTTP Apple.
Demuxer ini menyajikan semua AVStreams dari semua varian stream. Bidang id disetel ke
nomor indeks varian bitrate. Dengan menyetel tanda buangan di AVStreams (dengan menekan 'a'
atau 'v' di ffplay), penelepon dapat memutuskan varian mana yang akan benar-benar diterima. Itu
bitrate total dari varian tempat streaming tersebut tersedia dalam kunci metadata
bernama "variant_bitrate".
aplikasi
Demuxer Grafik Jaringan Portabel animasi.
Demuxer ini digunakan untuk mendemux file APNG. Semua tajuk, kecuali tanda tangan PNG, hingga (tetapi
tidak termasuk) potongan fcTL pertama ditransmisikan sebagai ekstradata. Bingkai kemudian dibagi
sebagai semua potongan di antara dua potongan fcTL, atau antara potongan fcTL dan IEND terakhir.
-abaikan_loop bool
Abaikan variabel loop dalam file jika disetel.
-maks_fps int
Framerate maksimum dalam frame per detik (0 tanpa batas).
-default_fps int
Kecepatan bingkai default dalam bingkai per detik ketika tidak ada yang ditentukan dalam file (0 artinya
secepat mungkin).
asf
Demuxer Format Sistem Tingkat Lanjut.
Demuxer ini digunakan untuk demux file ASF dan aliran jaringan MMS.
-no_resync_search bool
Jangan mencoba menyinkronkan ulang dengan mencari kode awal opsional tertentu.
concat
Demuxer skrip penggabungan virtual.
Demuxer ini membaca daftar file dan arahan lain dari file teks dan mendemuxnya
satu demi satu, seolah-olah semua paket mereka telah dicampur bersama.
Stempel waktu dalam file disesuaikan sehingga file pertama dimulai pada 0 dan setiap berikutnya
file dimulai di mana yang sebelumnya selesai. Perhatikan bahwa ini dilakukan secara global dan dapat menyebabkan
celah jika semua aliran tidak memiliki panjang yang sama persis.
Semua file harus memiliki aliran yang sama (codec yang sama, basis waktu yang sama, dll.).
Durasi setiap file digunakan untuk menyesuaikan stempel waktu file berikutnya: jika
durasi salah (karena dihitung menggunakan bit-rate atau karena file
terpotong, misalnya), dapat menyebabkan artefak. Arahan "durasi" dapat digunakan untuk
menimpa durasi yang disimpan di setiap file.
Sintaksis
Script adalah file teks dalam extended-ASCII, dengan satu direktif per baris. Garis kosong,
spasi di depan dan garis yang dimulai dengan '#' diabaikan. Direktif berikut adalah
dikenali:
"mengajukan path"
Jalur ke file untuk dibaca; karakter khusus dan spasi harus diloloskan dengan garis miring terbalik
atau kutipan tunggal.
Semua arahan terkait file berikutnya berlaku untuk file itu.
"ffconcat versi 1.0 "
Identifikasi jenis dan versi skrip. Ini juga mengatur aman opsi ke 1 jika itu untuk
defaultnya -1.
Untuk membuat FFmpeg mengenali format secara otomatis, arahan ini harus muncul dengan tepat
apa adanya (tidak ada ruang ekstra atau tanda urutan byte) pada baris pertama skrip.
"durasi kasar"
Durasi file. Informasi ini dapat ditentukan dari file; menentukannya
di sini mungkin lebih efisien atau membantu jika informasi dari file tidak tersedia
atau akurat.
Jika durasi diatur untuk semua file, maka dimungkinkan untuk mencari secara keseluruhan
video yang digabungkan.
"inpoint timestamp"
Pada titik file. Ketika demuxer membuka file itu langsung mencari ke
stempel waktu yang ditentukan. Pencarian dilakukan agar semua aliran dapat disajikan dengan sukses
di Dalam titik.
Arahan ini bekerja paling baik dengan codec intra frame, karena untuk yang non-intra frame
Anda biasanya akan mendapatkan paket tambahan sebelum In point yang sebenarnya dan konten yang didekodekan
kemungkinan besar akan berisi frame sebelum In point juga.
Untuk setiap file, paket sebelum file In point akan memiliki stempel waktu kurang dari
stempel waktu mulai yang dihitung dari file (negatif untuk file pertama), dan
durasi file (jika tidak ditentukan oleh arahan "durasi") akan dikurangi
berdasarkan poin In yang ditentukan.
Karena paket potensial sebelum titik yang ditentukan, stempel waktu paket mungkin:
tumpang tindih antara dua file yang digabungkan.
"mendapat lebih banyak angka dr timestamp"
Titik keluar dari file. Ketika demuxer mencapai stempel waktu decoding yang ditentukan dalam
salah satu aliran, menanganinya sebagai akhir dari kondisi file dan melewatkan arus
dan semua paket yang tersisa dari semua aliran.
Titik keluar bersifat eksklusif, yang berarti bahwa demuxer tidak akan mengeluarkan paket dengan a
decoding timestamp lebih besar atau sama dengan Out point.
Arahan ini berfungsi paling baik dengan codec dan format bingkai intra di mana semua aliran berada
terjalin erat. Untuk codec bingkai non-intra Anda biasanya akan mendapatkan tambahan
paket dengan stempel waktu presentasi setelah titik Keluar oleh karena itu konten yang didekodekan akan
kemungkinan besar berisi bingkai setelah titik Keluar juga. Jika aliran Anda tidak kencang
interleaved Anda mungkin tidak mendapatkan semua paket dari semua aliran sebelum titik Keluar dan Anda
mungkin hanya akan dapat memecahkan kode aliran paling awal hingga titik Keluar.
Durasi file (jika tidak ditentukan oleh arahan "durasi") akan menjadi
dikurangi berdasarkan titik Keluar yang ditentukan.
"file_paket_metadata kunci = nilai"
Metadata paket file. Metadata yang ditentukan akan ditetapkan untuk setiap file
paket. Anda dapat menentukan arahan ini beberapa kali untuk menambahkan beberapa metadata
entri.
"sungai kecil"
Perkenalkan aliran dalam file virtual. Semua arahan terkait aliran berikutnya
berlaku untuk aliran yang terakhir diperkenalkan. Beberapa properti aliran harus disetel untuk
memungkinkan mengidentifikasi aliran yang cocok di subfile. Jika tidak ada aliran yang didefinisikan dalam
skrip, aliran dari file pertama disalin.
"exact_stream_id id"
Tetapkan id aliran. Jika arahan ini diberikan, string dengan
id yang sesuai dalam subfile akan digunakan. Ini sangat berguna untuk MPEG-PS
(VOB) file, di mana urutan aliran tidak dapat diandalkan.
Opsi
Demuxer ini menerima opsi berikut:
aman
Jika disetel ke 1, tolak jalur file yang tidak aman. Jalur file dianggap aman jika tidak
berisi spesifikasi protokol dan bersifat relatif dan semua komponen hanya berisi
karakter dari set karakter portabel (huruf, angka, titik, garis bawah dan
tanda hubung) dan tidak memiliki titik di awal komponen.
Jika disetel ke 0, nama file apa pun diterima.
Standarnya adalah -1, ini setara dengan 1 jika format secara otomatis diperiksa dan 0
jika tidak.
konversi_otomatis
Jika disetel ke 1, coba lakukan konversi otomatis pada data paket untuk melakukan streaming
dapat digabungkan. Standarnya adalah 1.
Saat ini, satu-satunya konversi adalah menambahkan filter bitstream h264_mp4toannexb ke
H.264 streaming dalam format MP4. Ini diperlukan khususnya jika ada resolusi
perubahan.
flv
Demuxer Format Video Adobe Flash.
Demuxer ini digunakan untuk demux file FLV dan aliran jaringan RTMP.
-flv_metadata bool
Alokasikan aliran sesuai dengan konten larik onMetaData.
libgme
Perpustakaan Game Music Emu adalah kumpulan emulator file musik video game.
Lihathttp://code.google.com/p/game-music-emu/> untuk informasi lebih lanjut.
Beberapa file memiliki banyak trek. Demuxer akan memilih lagu pertama secara default. Itu
track_index pilihan dapat digunakan untuk memilih trek yang berbeda. Melacak indeks mulai dari 0
demuxer mengekspor jumlah trek sebagai trek entri data meta.
Untuk file yang sangat besar, ukuran_maks pilihan mungkin harus disesuaikan.
libquvi
Putar media dari layanan Internet menggunakan proyek quvi.
Demuxer menerima format pilihan untuk meminta kualitas tertentu. Ini secara default diatur ke
terbaik.
Lihathttp://quvi.sourceforge.net/> untuk informasi lebih lanjut.
FFmpeg perlu dibangun dengan "--enable-libquvi" agar demuxer ini dapat diaktifkan.
gif
Demuxer GIF animasi.
Ini menerima opsi berikut:
menit_delay
Tetapkan penundaan valid minimum antara bingkai dalam seperseratus detik. Rentangnya adalah 0 hingga
6000. Nilai default adalah 2.
max_gif_delay
Atur penundaan valid maksimum antara frame dalam seperseratus detik. Rentangnya adalah 0 hingga
65535. Nilai default adalah 65535 (hampir sebelas menit), nilai maksimum yang diizinkan oleh
spesifikasi.
default_delay
Setel penundaan default antar bingkai dalam seperseratus detik. Kisaran 0 hingga 6000.
Nilai defaultnya adalah 10.
abaikan_loop
File GIF dapat berisi informasi untuk diulang beberapa kali (atau tanpa batas).
If abaikan_loop diatur ke 1, maka pengaturan loop dari input akan diabaikan dan
looping tidak akan terjadi. Jika disetel ke 0, maka perulangan akan terjadi dan akan menggilir angka
kali menurut GIF. Nilai defaultnya adalah 1.
Misalnya, dengan filter overlay, tempatkan GIF yang berulang tanpa batas di atas video lain:
ffmpeg -i input.mp4 -abaikan_loop 0 -i input.gif -filter_complex overlay=terpendek=1 keluar.mkv
Perhatikan bahwa dalam contoh di atas, opsi terpendek untuk filter overlay digunakan untuk mengakhiri
output video dengan panjang file input terpendek, yang dalam hal ini adalah masukan.mp4 as
GIF dalam contoh ini berputar tanpa batas.
image2
Demuxer file gambar.
Demuxer ini membaca dari daftar file gambar yang ditentukan oleh suatu pola. Sintaks dan
arti dari pola ditentukan oleh opsi tipe pola.
Pola mungkin berisi sufiks yang digunakan untuk secara otomatis menentukan format
gambar yang terdapat dalam file.
Ukuran, format piksel, dan format setiap gambar harus sama untuk semua
file secara berurutan.
Demuxer ini menerima opsi berikut:
framerate
Atur kecepatan bingkai untuk aliran video. Ini default ke 25.
lingkaran
Jika disetel ke 1, ulangi input. Nilai defaultnya adalah 0.
tipe pola
Pilih jenis pola yang digunakan untuk menafsirkan nama file yang disediakan.
tipe pola menerima salah satu dari nilai berikut.
tak satupun
Nonaktifkan pencocokan pola, oleh karena itu video hanya akan berisi yang ditentukan
gambar. Anda harus menggunakan opsi ini jika Anda tidak ingin membuat urutan dari
beberapa gambar dan nama file Anda mungkin berisi karakter pola khusus.
urutan
Pilih jenis pola urutan, digunakan untuk menentukan urutan file yang diindeks oleh
nomor urut.
Pola urutan mungkin berisi string "%d" atau "%0Nd", yang menentukan
posisi karakter yang mewakili nomor urut di setiap nama file
dicocokkan dengan pola. Jika bentuk "%d0Nd" digunakan, string yang mewakili
nomor di setiap nama file diisi 0 dan N adalah jumlah total angka 0-empuk
mewakili nomor. Karakter literal '%' dapat ditentukan dalam pola
dengan string "%%".
Jika pola urutan berisi "%d" atau "%0Nd", nama file pertama dari file
daftar yang ditentukan oleh pola harus berisi nomor yang secara inklusif terkandung di antara
nomor_mulai dan nomor_mulai+mulai_angka_angka-1, dan semua nomor berikut
harus berurutan.
Misalnya pola "img-%03d.bmp" akan cocok dengan urutan nama file dari
bentuk img-001.bmp, img-002.bmp, ..., img-010.bmp, dll.; pola
"i%%m%%g-%d.jpg" loading="lazy" akan cocok dengan urutan nama file formulir i%m%g-1.jpg,
i%m%g-2.jpg, ..., i%m%g-10.jpg, Dll
Perhatikan bahwa pola tidak harus berisi "%d" atau "%0Nd", misalnya ke
mengonversi satu file gambar img.jpeg anda dapat menggunakan perintah:
ffmpeg -i img.jpeg img.png
bola
Pilih jenis pola wildcard glob.
Pola tersebut ditafsirkan seperti pola "glob()". Ini hanya dapat dipilih jika
libavformat dikompilasi dengan dukungan globbing.
glob_sequence (tidak digunakan lagi, akan be dihapus)
Pilih pola wildcard/urutan glob campuran.
Jika versi libavformat Anda dikompilasi dengan dukungan globbing, dan
pola yang disediakan berisi setidaknya satu karakter meta glob di antara "%*?[]{}" yaitu
didahului oleh "%", pola yang ditafsirkan seperti pola "glob()",
selain itu ditafsirkan seperti pola urutan.
Semua karakter khusus glob "%*?[]{}" harus diawali dengan "%". Untuk melarikan diri
literal "%" Anda harus menggunakan "%%".
Misalnya pola "foo-%*.jpeg" akan cocok dengan semua nama file yang diawali dengan
"foo-" dan diakhiri dengan ".jpeg", dan "foo-%?%?%?.jpeg" akan cocok dengan semua
nama file yang diawali dengan "foo-", diikuti dengan urutan tiga karakter, dan
diakhiri dengan ".jpeg".
Jenis pola ini tidak digunakan lagi karena bola dan urutan.
Nilai defaultnya adalah glob_sequence.
format_piksel
Atur format piksel gambar yang akan dibaca. Jika tidak ditentukan format pikselnya adalah
menebak dari file gambar pertama dalam urutan.
nomor_mulai
Atur indeks file yang cocok dengan pola file gambar untuk mulai membaca.
Nilai defaultnya adalah 0.
mulai_angka_angka
Atur rentang interval indeks untuk diperiksa saat mencari file gambar pertama di
urutan, mulai dari nomor_mulai. Nilai default adalah 5.
ts_from_file
Jika disetel ke 1, akan mengatur stempel waktu bingkai ke waktu modifikasi file gambar. Perhatikan bahwa
monoton stempel waktu tidak disediakan: gambar berjalan dalam urutan yang sama seperti tanpa ini
pilihan. Nilai default adalah 0. Jika diatur ke 2, akan mengatur stempel waktu bingkai ke modifikasi
waktu file gambar dalam presisi nanodetik.
ukuran video
Atur ukuran video dari gambar yang akan dibaca. Jika tidak ditentukan ukuran video yang ditebak
dari file gambar pertama dalam urutan.
contoh
· Menggunakan ffmpeg untuk membuat video dari gambar dalam urutan file img-001.jpeg,
img-002.jpeg, ..., dengan asumsi laju bingkai masukan 10 bingkai per detik:
ffmpeg -framerate 10 -i 'img-%03d.jpeg' keluar.mkv
· Seperti di atas, tetapi mulailah dengan membaca dari file dengan indeks 100 secara berurutan:
ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv
· Baca gambar yang cocok dengan pola glob "*.png" loading="lazy", yaitu semua file yang diakhiri
akhiran ".png" loading="malas":
ffmpeg -framerate 10 -pattern_type glob -i "*.png" loading="malas" out.mkv
mov/mp4/3gp/Quicktme
Demuxer Quicktime / MP4.
Demuxer ini menerima opsi berikut:
aktifkan_drefs
Aktifkan pemuatan trek eksternal, dinonaktifkan secara default. Mengaktifkan ini dapat
secara teoritis membocorkan informasi dalam beberapa kasus penggunaan.
gunakan_jalur_absolute
Memungkinkan pemuatan trek eksternal melalui jalur absolut, dinonaktifkan secara default. Mengaktifkan
ini menimbulkan risiko keamanan. Seharusnya hanya diaktifkan jika sumbernya diketahui bukan
jahat.
mpegts
Demuxer aliran transportasi MPEG-2.
Demuxer ini menerima opsi berikut:
sinkronisasi ulang_ukuran
Tetapkan batas ukuran untuk mencari sinkronisasi baru. Nilai default adalah 65536.
fix_teletext_pts
Ganti nilai PTS dan DTS paket teleteks dengan stempel waktu yang dihitung dari
PCR dari program pertama yang merupakan bagian dari aliran teleteks dan tidak dibuang.
Nilai default adalah 1, atur opsi ini ke 0 jika Anda ingin paket teleteks PTS dan DTS Anda
nilai-nilai yang tidak tersentuh.
ts_packetsize
Opsi keluaran membawa ukuran paket mentah dalam byte. Tampilkan paket mentah yang terdeteksi
ukuran, tidak dapat diatur oleh pengguna.
scan_all_pmts
Pindai dan gabungkan semua PMT. Nilainya adalah bilangan bulat dengan nilai dari -1 hingga 1 (-1 berarti
pengaturan otomatis, 1 berarti diaktifkan, 0 berarti dinonaktifkan). Nilai defaultnya adalah -1.
video mentah
Demuxer video mentah.
Demuxer ini memungkinkan seseorang untuk membaca data video mentah. Karena tidak ada tajuk yang menentukan
parameter video yang diasumsikan, pengguna harus menentukannya agar dapat memecahkan kode
datanya dengan benar.
Demuxer ini menerima opsi berikut:
framerate
Setel kecepatan bingkai video masukan. Nilai defaultnya adalah 25.
format_piksel
Atur format piksel video input. Nilai default adalah "yuv420p".
ukuran video
Atur ukuran video masukan. Nilai ini harus ditentukan secara eksplisit.
Misalnya untuk membaca file rawvideo masukan.raw dengan ffplay, dengan asumsi format piksel
"rgb24", ukuran video "320x240", dan kecepatan bingkai 10 gambar per detik, gunakan
perintah:
ffplay -f video mentah -pixel_format rgb24 -video_ukuran 320x240 -framerate 10 input.raw
sebagai
Demuxer skrip SBaGen.
Demuxer ini membaca bahasa skrip yang digunakan oleh SBaGenhttp://uazu.net/sbagen/> ke
menghasilkan sesi binaural beats. Skrip SBG terlihat seperti itu:
-SE
a: 300-2.5/3 440+4.5/0
b: 300-2.5/0 440+4.5/3
mati: -
SEKARANG ==
+0:07:00 ==b
+0:14:00 ==
+0:21:00 ==b
+0:30:00 diskon
Skrip SBG dapat mencampur stempel waktu absolut dan relatif. Jika skrip hanya menggunakan keduanya
stempel waktu absolut (termasuk waktu mulai skrip) atau hanya yang relatif, lalu itu
tata letak sudah diperbaiki, dan konversinya mudah. Di sisi lain, jika skrip
mencampur kedua jenis stempel waktu, lalu SEKARANG referensi untuk stempel waktu relatif adalah
diambil dari waktu saat ini pada saat skrip dibaca, dan tata letak skrip
akan dibekukan sesuai dengan referensi itu. Itu berarti jika skripnya langsung
dimainkan, waktu aktual akan cocok dengan stempel waktu absolut hingga pengontrol suara
akurasi jam, tetapi jika pengguna entah bagaimana menjeda pemutaran atau mencari, semua waktu akan menjadi
bergeser sesuai.
tedcaption
Teks JSON digunakan untukhttp://www.ted.com/>.
TED tidak menyediakan tautan ke teks, tetapi mereka dapat ditebak dari halaman. Itu
fillet alat/bookmarklets.html dari pohon sumber FFmpeg berisi bookmarklet untuk diekspos
Mereka.
Demuxer ini menerima opsi berikut:
waktu mulai
Atur waktu mulai pembicaraan TED, dalam milidetik. Standarnya adalah 15000 (15 detik). Dia
digunakan untuk menyinkronkan teks dengan video yang dapat diunduh, karena menyertakan 15 detik
pengantar
Contoh: mengonversi teks ke format yang dipahami sebagian besar pemain:
ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en bicara1-en.srt
MUXER
Muxer adalah elemen yang dikonfigurasi dalam FFmpeg yang memungkinkan penulisan aliran multimedia ke
jenis file tertentu.
Saat Anda mengonfigurasi build FFmpeg, semua muxer yang didukung diaktifkan secara default. Anda
dapat membuat daftar semua muxer yang tersedia menggunakan opsi konfigurasi "--list-muxers".
Anda dapat menonaktifkan semua muxer dengan opsi konfigurasi "--disable-muxers" dan
aktifkan/nonaktifkan muxer tunggal secara selektif dengan opsi "--enable-muxer=MUXER" /
"--disable-muxer=MUXER".
Opsi "-format" dari alat ff* akan menampilkan daftar muxer yang diaktifkan.
Deskripsi beberapa muxer yang tersedia saat ini berikut.
oof
Muxer Format File Pertukaran Audio.
Opsi
Ini menerima opsi berikut:
tulis_id3v2
Aktifkan penulisan tag ID3v2 saat disetel ke 1. Standarnya adalah 0 (dinonaktifkan).
id3v2_versi
Pilih versi ID3v2 untuk menulis. Saat ini hanya versi 3 dan 4 (alias. ID3v2.3 dan
ID3v2.4) didukung. Standarnya adalah versi 4.
CRC
Format pengujian CRC (Cyclic Redundancy Check).
Muxer ini menghitung dan mencetak Adler-32 CRC dari semua input audio dan video frame.
Secara default, bingkai audio dikonversi ke bingkai audio dan video mentah 16-bit yang ditandatangani menjadi mentah
video sebelum menghitung CRC.
Keluaran muxer terdiri dari satu baris berbentuk: CRC=0xCRC, Di mana CRC adalah
angka heksadesimal 0-empuk hingga 8 digit yang berisi CRC untuk semua input yang didekodekan
bingkai.
Lihat juga framecrc muxer.
contoh
Misalnya untuk menghitung CRC input, dan menyimpannya dalam file keluar.crc:
ffmpeg -i INPUT -f crc keluar.crc
Anda dapat mencetak CRC ke stdout dengan perintah:
ffmpeg -i MASUKAN -f crc -
Anda dapat memilih format output dari setiap frame dengan ffmpeg dengan menentukan audio dan
codec dan format video. Misalnya untuk menghitung CRC dari input audio yang dikonversi ke PCM
unsigned 8-bit dan video input dikonversi ke video MPEG-2, gunakan perintah:
ffmpeg -i MASUKAN -c:a pcm_u8 -c:v mpeg2video -f crc -
framecrc
Format pengujian CRC (Cyclic Redundancy Check) per paket.
Muxer ini menghitung dan mencetak Adler-32 CRC untuk setiap paket audio dan video. Oleh
bingkai audio default dikonversi ke bingkai audio dan video mentah 16-bit yang ditandatangani menjadi mentah
video sebelum menghitung CRC.
Keluaran muxer terdiri dari satu baris untuk setiap paket audio dan video berupa:
, , , , , 0x
CRC adalah angka heksadesimal 0-empuk ke 8 digit yang berisi CRC paket.
contoh
Misalnya untuk menghitung CRC dari frame audio dan video di INPUT, diubah menjadi mentah
paket audio dan video, dan simpan dalam file keluar.crc:
ffmpeg -i INPUT -f framecrc keluar.crc
Untuk mencetak informasi ke stdout, gunakan perintah:
ffmpeg -i MASUKAN -f framecrc -
Dengan ffmpeg, Anda dapat memilih format output untuk bingkai audio dan video
dikodekan sebelum menghitung CRC untuk setiap paket dengan menentukan codec audio dan video.
Misalnya, untuk menghitung CRC dari setiap bingkai audio input yang didekodekan yang dikonversi ke PCM
unsigned 8-bit dan setiap frame video masukan yang didekode dikonversi ke video MPEG-2, gunakan:
perintah:
ffmpeg -i MASUKAN -c:a pcm_u8 -c:v mpeg2video -f framecrc -
Lihat juga CRC muxer.
framemd5
Format pengujian MD5 per-paket.
Muxer ini menghitung dan mencetak hash MD5 untuk setiap paket audio dan video. Secara default
bingkai audio dikonversi ke bingkai audio dan video mentah 16-bit yang ditandatangani ke video mentah sebelumnya
menghitung hash.
Keluaran muxer terdiri dari satu baris untuk setiap paket audio dan video berupa:
, , , , ,
MD5 adalah angka heksadesimal yang mewakili hash MD5 yang dihitung untuk paket.
contoh
Misalnya untuk menghitung MD5 dari bingkai audio dan video di INPUT, diubah menjadi mentah
paket audio dan video, dan simpan dalam file keluar.md5:
ffmpeg -i INPUT -f framemd5 keluar.md5
Untuk mencetak informasi ke stdout, gunakan perintah:
ffmpeg -i MASUKAN -f framemd5 -
Lihat juga md5 muxer.
gif
Muxer GIF animasi.
Ini menerima opsi berikut:
lingkaran
Atur berapa kali untuk mengulang output. Gunakan "-1" untuk tanpa loop, 0 untuk looping
tanpa batas waktu (default).
akhir_delay
Paksa penundaan (dinyatakan dalam sentimeter) setelah bingkai terakhir. Setiap bingkai diakhiri dengan
penundaan sampai frame berikutnya. Standarnya adalah "-1", yang merupakan nilai khusus untuk diceritakan
muxer untuk menggunakan kembali penundaan sebelumnya. Dalam kasus loop, Anda mungkin ingin menyesuaikan
nilai ini untuk menandai jeda misalnya.
Misalnya, untuk menyandikan gif perulangan 10 kali, dengan jeda 5 detik di antara perulangan:
ffmpeg -i INPUT -loop 10 -final_delay 500 keluar.gif
Catatan 1: jika Anda ingin mengekstrak bingkai dalam file GIF terpisah, Anda perlu memaksa
image2 muxer:
ffmpeg -i INPUT -c:v gif -f image2 "out%d.gif"
Catatan 2: format GIF memiliki basis waktu yang sangat kecil: penundaan antara dua bingkai tidak dapat
lebih kecil dari satu centi detik.
jam
Apple HTTP Live Streaming muxer yang mengelompokkan MPEG-TS menurut HTTP Live Streaming
(HLS) spesifikasi.
Itu membuat file daftar putar, dan satu atau lebih file segmen. Nama file keluaran menentukan
nama file daftar putar.
Secara default, muxer membuat file untuk setiap segmen yang dihasilkan. File-file ini memiliki hal yang sama
nama sebagai daftar putar, diikuti dengan nomor urut dan ekstensi .ts.
Misalnya, untuk mengonversi file input dengan ffmpeg:
ffmpeg -i masuk.kacang keluar.m3u8
Contoh ini akan menghasilkan daftar putar, keluar.m3u8, dan file segmen: keluar0.ts, keluar1.ts,
keluar2.ts, Dll
Lihat juga ruas muxer, yang menyediakan implementasi a . yang lebih umum dan fleksibel
segmenter, dan dapat digunakan untuk melakukan segmentasi HLS.
Opsi
Muxer ini mendukung opsi berikut:
jam_waktu detik
Atur panjang segmen dalam hitungan detik. Nilai defaultnya adalah 2.
hls_daftar_ukuran ukuran
Tetapkan jumlah maksimum entri daftar putar. Jika diatur ke 0 file daftar akan berisi semua
segmen. Nilai defaultnya adalah 5.
hls_ts_options pilihan_daftar
Setel opsi format keluaran menggunakan daftar parameter key=value yang dipisahkan :-separated. Nilai
berisi ":" karakter khusus harus diloloskan.
hls_wrap membungkus
Tetapkan nomor setelah itu nomor nama file segmen (nomor yang ditentukan di masing-masing
file segmen) membungkus. Jika diatur ke 0 nomor tidak akan pernah dibungkus. Nilai defaultnya adalah 0.
Opsi ini berguna untuk menghindari mengisi disk dengan banyak file segmen, dan membatasi
jumlah maksimum file segmen yang ditulis ke disk ke membungkus.
nomor_mulai jumlah
Mulai nomor urut daftar putar dari jumlah. Nilai default adalah 0.
hls_allow_cache izinkan cache
Setel secara eksplisit apakah klien MUNGKIN \fIs0(1) atau TIDAK HARUS \fIs0(0) media tembolok
segmen.
hls_base_url dasar
Menambahkan dasar ke setiap entri dalam daftar putar. Berguna untuk menghasilkan daftar putar dengan
jalur absolut.
Perhatikan bahwa nomor urut daftar putar harus unik untuk setiap segmen dan bukan
menjadi bingung dengan nomor urut nama file segmen yang dapat berupa siklus, untuk
contoh jika membungkus opsi ditentukan.
hls_segment_nama file nama file
Setel nama file segmen. Kecuali hls_flags single_file disetel nama file digunakan sebagai
format string dengan nomor segmen:
ffmpeg in.nut -hls_segment_filename 'file%03d.ts' keluar.m3u8
Contoh ini akan menghasilkan daftar putar, keluar.m3u8, dan file segmen: file000.ts,
file001.ts, file002.ts, Dll
hls_key_info_file key_info_file
Gunakan informasi di key_info_file untuk enkripsi segmen. Baris pertama dari
key_info_file menentukan URI kunci yang ditulis ke daftar putar. URL kunci digunakan untuk
mengakses kunci enkripsi selama pemutaran. Baris kedua menentukan jalur ke
file kunci yang digunakan untuk mendapatkan kunci selama proses enkripsi. File kunci dibaca sebagai
array dikemas tunggal dari 16 oktet dalam format biner. Baris ketiga opsional menentukan
vektor inisialisasi (IV) sebagai string heksadesimal yang akan digunakan sebagai pengganti
nomor urut segmen (default) untuk enkripsi. Perubahan menjadi key_info_file akan menghasilkan
dalam enkripsi segmen dengan kunci/IV baru dan entri dalam daftar putar untuk kunci baru
URI/IV.
Format file info kunci:
(pilihan)
Contoh URI kunci:
http://server/file.key
/path/ke/file.key
file.kunci
Contoh jalur file kunci:
file.kunci
/path/ke/file.key
Contoh IV:
0123456789ABCDEF0123456789ABCDEF
Contoh file info kunci:
http://server/file.key
/path/ke/file.key
0123456789ABCDEF0123456789ABCDEF
Contoh skrip shell:
#!/ Bin / sh
BASE_URL=${1:-'.'}
openssl rand 16 > file.key
echo $BASE_URL/file.key > file.keyinfo
echo file.key >> file.keyinfo
echo $(openssl Rand -hex 16) >> file.keyinfo
ffmpeg -f lavfi -re -i testrc -c:v h264 -hls_flags delete_segments \
-hls_key_info_file file.keyinfo keluar.m3u8
hls_flags file_tunggal
Jika flag ini disetel, muxer akan menyimpan semua segmen dalam satu file MPEG-TS, dan
akan menggunakan rentang byte dalam daftar putar. Daftar putar HLS yang dihasilkan dengan cara ini akan memiliki
versi nomor 4. Misalnya:
ffmpeg -i masuk.nut -hls_flags single_file keluar.m3u8
Akan menghasilkan daftar putar, keluar.m3u8, dan file segmen tunggal, keluar.ts.
hls_flags hapus_segmen
File segmen yang dihapus dari daftar putar akan dihapus setelah jangka waktu yang sama dengan
durasi segmen ditambah durasi playlist.
ico
Muxer file ICO.
Format file ikon (ICO) Microsoft memiliki beberapa batasan ketat yang harus diperhatikan:
· Ukuran tidak boleh melebihi 256 piksel dalam dimensi apa pun
· Hanya gambar BMP dan PNG yang dapat disimpan
· Jika gambar BMP digunakan, itu harus berupa salah satu format piksel berikut:
Format Piksel FFmpeg Kedalaman Bit BMP
1bit sobat8
4bit sobat8
8bit sobat8
16bit rgb555le
24bit bgr24
bgra 32bit
· Jika menggunakan gambar BMP, harus menggunakan header DIB BITMAPINFOHEADER
· Jika gambar PNG digunakan, harus menggunakan format piksel rgba
image2
Muxer file gambar.
Muxer file gambar menulis bingkai video ke file gambar.
Nama file keluaran ditentukan oleh sebuah pola, yang dapat digunakan untuk menghasilkan secara berurutan
serangkaian file bernomor. Polanya mungkin berisi string "%d" atau "%0Nd", string ini
menentukan posisi karakter yang mewakili penomoran dalam nama file. jika
bentuk "%0Nd" digunakan, string yang mewakili nomor di setiap nama file diisi 0 ke N
angka. Karakter literal '%' dapat ditentukan dalam pola dengan string "%%".
Jika polanya berisi "%d" atau "%0Nd", nama file pertama dari daftar file yang ditentukan akan
mengandung nomor 1, semua nomor berikut akan berurutan.
Pola mungkin berisi sufiks yang digunakan untuk secara otomatis menentukan format
file gambar untuk ditulis.
Misalnya pola "img-%03d.bmp" akan menentukan urutan nama file formulir
img-001.bmp, img-002.bmp, ..., img-010.bmp, dll. Pola "img%%-%d.jpg" loading="malas" akan menentukan
urutan nama file dari formulir img%-1.jpg, img%-2.jpg, ..., img%-10.jpg, Dll
contoh
Contoh berikut menunjukkan cara menggunakan ffmpeg untuk membuat urutan file
img-001.jpeg, img-002.jpeg, ..., mengambil satu gambar setiap detik dari video input:
ffmpeg -i in.avi -vsync 1 -r 1 -f image2 'img-%03d.jpeg'
Perhatikan itu dengan ffmpeg, jika format tidak ditentukan dengan opsi "-f" dan output
nama file menentukan format file gambar, muxer image2 dipilih secara otomatis, jadi
perintah sebelumnya dapat ditulis sebagai:
ffmpeg -i in.avi -vsync 1 -r 1 'img-%03d.jpeg'
Perhatikan juga bahwa pola tidak harus berisi "%d" atau "%0Nd", misalnya ke
buat satu file gambar img.jpeg dari video input Anda dapat menggunakan perintah:
ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
waktu luang opsi memungkinkan Anda untuk memperluas nama file dengan informasi tanggal dan waktu.
Periksa dokumentasi fungsi "strftime()" untuk sintaksnya.
Misalnya untuk menghasilkan file gambar dari pola "strftime()" "%Y-%m-%d_%H-%M-%S",
berikut ffmpeg perintah dapat digunakan:
ffmpeg -f v4l2 -r 1 -i /dev/video0 -f image2 -strftime 1 "%Y-%m-%d_%H-%M-%S.jpg"
Opsi
nomor_mulai
Mulai urutan dari nomor yang ditentukan. Nilai defaultnya adalah 0.
memperbarui
Jika disetel ke 1, nama file akan selalu ditafsirkan hanya sebagai nama file, bukan a
pola, dan file yang sesuai akan terus ditimpa dengan gambar baru.
Nilai defaultnya adalah 0.
waktu luang
Jika disetel ke 1, perluas nama file dengan informasi tanggal dan waktu dari "strftime()".
Nilai defaultnya adalah 0.
Muxer gambar mendukung format file gambar .YUV. Format ini spesial karena
setiap bingkai gambar terdiri dari tiga file, untuk masing-masing komponen YUV420P. Untuk membaca atau
tulis format file gambar ini, tentukan nama file '.Y'. muxer akan
secara otomatis membuka file '.U' dan '.V' sesuai kebutuhan.
Matroska
Muxer wadah Matroska.
Muxer ini mengimplementasikan matroska dan spesifikasi container webm.
Metadata
Pengaturan metadata yang dikenali di muxer ini adalah:
judul
Setel nama judul yang disediakan untuk satu lagu.
bahasa
Tentukan bahasa trek dalam bentuk bahasa Matroska.
Bahasa dapat berupa 3 huruf bibliografi ISO-639-2 (ISO 639-2/B) bentuk
(seperti "fre" untuk bahasa Prancis), atau kode bahasa yang dicampur dengan kode negara untuk spesialisasi
dalam bahasa (seperti "fre-ca" untuk bahasa Prancis Kanada).
stereo_mode
Atur tata letak video 3D stereo dari dua tampilan dalam satu trek video.
Nilai-nilai berikut diakui:
mono
videonya tidak stereo
kiri kanan
Kedua tampilan diatur berdampingan, Pandangan mata kiri ada di sebelah kiri
bawah_atas
Kedua tampilan diatur dalam orientasi atas-bawah, tampilan mata kiri berada di bawah
atas bawah
Kedua tampilan diatur dalam orientasi atas-bawah, tampilan mata kiri di atas
kotak-kotak_rl
Setiap tampilan diatur dalam pola interleaved kotak-kotak, tampilan mata kiri menjadi
pertama
kotak-kotak_lr
Setiap tampilan diatur dalam pola interleaved kotak-kotak, tampilan mata kanan menjadi
pertama
baris_interleaved_rl
Setiap tampilan dibentuk oleh interleaving berbasis baris, Pandangan mata kanan adalah baris pertama
baris_interleaved_lr
Setiap tampilan dibentuk oleh interleaving berbasis baris, tampilan mata kiri adalah baris pertama
col_interleaved_rl
Kedua tampilan diatur dalam cara interleaving berbasis kolom, Pandangan mata kanan adalah
kolom pertama
col_interleaved_lr
Kedua tampilan diatur dalam cara interleaving berbasis kolom, tampilan mata kiri adalah
kolom pertama
anaglyph_cyan_red
Semua bingkai dalam format anaglyph yang dapat dilihat melalui filter sian merah
kanan kiri
Kedua pandangan diatur berdampingan, Pandangan mata kanan ada di sebelah kiri
anaglyph_green_magenta
Semua bingkai dalam format anaglyph yang dapat dilihat melalui filter hijau-magenta
blok_lr
Kedua mata menyatu dalam satu Blok, Pandangan mata kiri adalah yang pertama
blok_rl
Kedua mata menyatu dalam satu Blok, Pandangan mata kanan adalah yang pertama
Misalnya klip WebM 3D dapat dibuat menggunakan baris perintah berikut:
ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm
Opsi
Muxer ini mendukung opsi berikut:
cadangan_indeks_ruang
Secara default, muxer ini menulis indeks untuk pencarian (disebut isyarat dalam istilah Matroska) di
akhir file, karena tidak dapat mengetahui sebelumnya berapa banyak ruang yang tersisa untuk
indeks di awal file. Namun untuk beberapa kasus penggunaan -- misalnya streaming
di mana pencarian bisa dilakukan tetapi lambat -- sangat berguna untuk meletakkan indeks di awal
dari file.
Jika opsi ini disetel ke nilai bukan nol, muxer akan mencadangkan sejumlah
spasi di header file dan kemudian coba tulis isyarat di sana saat muxing
selesai. Jika ruang yang tersedia tidak mencukupi, muxing akan gagal. Ukuran yang aman untuk
kebanyakan kasus penggunaan harus sekitar 50kB per jam video.
Perhatikan bahwa isyarat hanya ditulis jika output dapat dicari dan opsi ini tidak memiliki
efek jika tidak.
md5
format pengujian MD5.
Muxer ini menghitung dan mencetak hash MD5 dari semua frame audio dan video input. Oleh
bingkai audio default dikonversi ke bingkai audio dan video mentah 16-bit yang ditandatangani menjadi mentah
video sebelum menghitung hash.
Keluaran muxer terdiri dari satu baris berbentuk: MD5=MD5, Di mana MD5 adalah
angka heksadesimal yang mewakili hash MD5 yang dihitung.
Misalnya untuk menghitung hash MD5 dari input yang dikonversi ke audio dan video mentah, dan
simpan di file keluar.md5:
ffmpeg -i INPUT -f md5 keluar.md5
Anda dapat mencetak MD5 ke stdout dengan perintah:
ffmpeg -i MASUKAN -f md5 -
Lihat juga framemd5 muxer.
pindah, mp4, ismv
Muxer MOV/MP4/ISMV (Smooth Streaming).
Muxer mov/mp4/ismv mendukung fragmentasi. Biasanya, file MOV/MP4 memiliki semua
metadata tentang semua paket yang disimpan di satu lokasi (ditulis di akhir file, dapat
dipindahkan ke awal untuk pemutaran yang lebih baik dengan menambahkan mulai cepat ke bendera bergerak, atau menggunakan
itu qt-mulai cepat alat). Sebuah file terfragmentasi terdiri dari sejumlah fragmen, di mana paket-paket
dan metadata tentang paket-paket ini disimpan bersama. Menulis file terfragmentasi memiliki
keuntungan bahwa file tersebut dapat didekodekan bahkan jika penulisan terganggu (sementara normal
MOV/MP4 tidak dapat dikodekan jika tidak diselesaikan dengan benar), dan membutuhkan lebih sedikit memori saat
menulis file yang sangat panjang (karena menulis file MOV/MP4 normal menyimpan info tentang setiap file
paket dalam memori sampai file ditutup). Kelemahannya adalah kurang kompatibel
dengan aplikasi lain.
Opsi
Fragmentasi diaktifkan dengan mengatur salah satu AVOptions yang menentukan cara memotong file
menjadi fragmen:
-moov_size byte
Cadangan ruang untuk atom moov di awal file alih-alih menempatkan
atom moov di ujungnya. Jika ruang yang disediakan tidak mencukupi, muxing akan gagal.
-movflag frag_keyframe
Mulai fragmen baru di setiap bingkai utama video.
-frag_durasi lamanya
Buat fragmen yang lamanya mikrodetik panjang.
-frag_ukuran ukuran
Buat fragmen yang berisi hingga ukuran byte data muatan.
-movflag frag_custom
Izinkan penelepon untuk memilih secara manual kapan harus memotong fragmen, dengan menelepon
"av_write_frame(ctx, NULL)" untuk menulis sebuah fragmen dengan paket yang ditulis sejauh ini. (Ini
hanya berguna dengan aplikasi lain yang mengintegrasikan libavformat, bukan dari ffmpeg.)
-min_frag_duration lamanya
Jangan membuat fragmen yang lebih pendek dari lamanya mikrodetik panjang.
Jika lebih dari satu kondisi ditentukan, fragmen dipotong ketika salah satu dari yang ditentukan
syarat terpenuhi. Pengecualian untuk ini adalah "-min_frag_duration", yang harus
terpenuhi untuk salah satu kondisi lain untuk diterapkan.
Selain itu, cara file output ditulis dapat disesuaikan melalui beberapa lainnya
pilihan:
-movflag kosong_moov
Tulis atom moov awal langsung di awal file, tanpa menjelaskan apa pun
sampel di dalamnya. Umumnya, pasangan mdat/moov ditulis di awal file, sebagai
file MOV/MP4 normal, hanya berisi sebagian kecil file. Dengan opsi ini
set, tidak ada atom mdat awal, dan atom moov hanya menggambarkan trek tetapi
memiliki durasi nol.
Opsi ini diatur secara implisit saat menulis file ismv (Smooth Streaming).
-movflag terpisah_moof
Tulis atom moof (fragmen film) terpisah untuk setiap trek. Biasanya, paket untuk semua
trek ditulis dalam moof atom (yang sedikit lebih efisien), tetapi dengan ini
set pilihan, muxer menulis satu pasangan moof/mdat untuk setiap trek, membuatnya lebih mudah untuk
trek terpisah.
Opsi ini diatur secara implisit saat menulis file ismv (Smooth Streaming).
-movflag mulai cepat
Jalankan pass kedua memindahkan indeks (atom moov) ke awal file. Ini
operasi dapat memakan waktu cukup lama, dan tidak akan berfungsi dalam berbagai situasi seperti terfragmentasi
output, sehingga tidak diaktifkan secara default.
-movflag petunjuk
Tambahkan trek petunjuk RTP ke file output.
-movflag nonaktifkan_chpl
Nonaktifkan penanda bab Nero (atom chpl). Biasanya, baik bab Nero dan a
Trek bab QuickTime ditulis ke file. Dengan set opsi ini, hanya
Trek bab QuickTime akan ditulis. Bab Nero dapat menyebabkan kegagalan ketika
file diproses ulang dengan program penandaan tertentu, seperti mp3Tag 2.61a dan iTunes 11.3,
kemungkinan besar versi lain juga terpengaruh.
-movflag hilangkan_tfhd_offset
Jangan menulis base_data_offset absolut dalam atom tfhd. Ini menghindari pengikatan fragmen
ke posisi byte absolut dalam file/aliran.
-movflag default_base_moof
Sama halnya dengan omit_tfhd_offset, flag ini menghindari penulisan absolute
base_data_offset dalam atom tfhd, tetapi melakukannya dengan menggunakan default-base-is-
bendera moof sebagai gantinya. Bendera ini baru dari 14496-12:2012. Ini mungkin membuat fragmen
lebih mudah untuk diurai dalam keadaan tertentu (menghindari basis lokasi fragmen trek
perhitungan pada akhir implisit dari fragmen trek sebelumnya).
Example
Konten Streaming yang lancar dapat didorong secara real time ke titik penerbitan di IIS dengan ini
muxer. Contoh:
ffmpeg -re < > -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Pengkode1)
Terdengar AAX
File AAX yang dapat didengar adalah file M4B terenkripsi, dan dapat didekripsi dengan menentukan 4
rahasia aktivasi byte.
ffmpeg -activation_bytes 1CEB00DA -i test.aax -vn -c:hasil salinan.mp4
mp3
Muxer MP3 menulis aliran MP3 mentah dengan fitur opsional berikut:
· Sebuah header metadata ID3v2 di awal (diaktifkan secara default). Versi 2.3 dan 2.4
didukung, opsi pribadi "id3v2_version" mengontrol mana yang digunakan (3 atau 4).
Menyetel "id3v2_version" ke 0 menonaktifkan header ID3v2 sepenuhnya.
Muxer mendukung penulisan gambar terlampir (frame APIC) ke header ID3v2. Itu
gambar dipasok ke muxer dalam bentuk aliran video dengan satu paket.
Mungkin ada sejumlah aliran tersebut, masing-masing akan sesuai dengan satu bingkai APIC.
Tag metadata aliran judul dan komentar peta ke APIC deskripsi dan gambar mengetik
masing-masing. Melihathttp://id3.org/id3v2.4.0-frames> untuk jenis gambar yang diizinkan.
Perhatikan bahwa frame APIC harus ditulis di awal, sehingga muxer akan buffer
bingkai audio sampai mendapatkan semua gambar. Oleh karena itu disarankan untuk menyediakan
gambar sesegera mungkin untuk menghindari buffering yang berlebihan.
· Bingkai Xing/LAME tepat setelah header ID3v2 (jika ada). Ini diaktifkan secara default,
tetapi akan ditulis hanya jika output dapat dicari. Opsi pribadi "tulis_xing"
dapat digunakan untuk menonaktifkannya. Bingkai berisi berbagai informasi yang mungkin berguna
ke decoder, seperti durasi audio atau penundaan encoder.
· Tag ID3v1 lawas di akhir file (dinonaktifkan secara default). Ini mungkin diaktifkan
dengan opsi pribadi "write_id3v1", tetapi karena kemampuannya sangat terbatas, ini
penggunaan tidak dianjurkan.
contoh:
Tulis mp3 dengan header ID3v2.3 dan footer ID3v1:
ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 keluar.mp3
Untuk melampirkan gambar ke file mp3, pilih audio dan aliran gambar dengan
"peta":
ffmpeg -i input.mp3 -i cover.png -c salin -peta 0 -peta 1
-metadata:s:v title="Sampul album" -metadata:s:v comment="Sampul (Depan)" out.mp3
Tulis MP3 "bersih" tanpa fitur tambahan apa pun:
ffmpeg -i masukan.wav -tulis_xing 0 -id3v2_versi 0 keluar.mp3
mpegts
Muxer aliran transportasi MPEG.
Muxer ini mengimplementasikan ISO 13818-1 dan bagian dari ETSI EN 300 468.
Pengaturan metadata yang dikenali di mpegts muxer adalah "service_provider" dan
"Nama layanan". Jika mereka tidak disetel, default untuk "service_provider" adalah "FFmpeg" dan
default untuk "service_name" adalah "Service01".
Opsi
Pilihan muxer adalah:
-mpegts_original_network_id jumlah
Setel original_network_id (default 0x0001). Ini adalah pengidentifikasi unik jaringan
di DVB. Penggunaan utamanya adalah dalam identifikasi unik layanan melalui jalur
ID_Jaringan_Asli, Transport_Stream_ID.
-mpegts_transport_stream_id jumlah
Setel transport_stream_id (default 0x0001). Ini mengidentifikasi transponder di DVB.
-mpegts_service_id jumlah
Atur service_id (default 0x0001) juga dikenal sebagai program di DVB.
-mpegts_service_type jumlah
Atur program service_type (default digital_tv), lihat di bawah daftar yang telah ditentukan sebelumnya
nilai-nilai.
-mpegts_pmt_start_pid jumlah
Setel PID pertama untuk PMT (default 0x1000, maks 0x1f00).
-mpegts_start_pid jumlah
Atur PID pertama untuk paket data (default 0x0100, maks 0x0f00).
-mpegts_m2ts_mode jumlah
Aktifkan mode m2ts jika disetel ke 1. Nilai default adalah -1 yang menonaktifkan mode m2ts.
-tingkat mux jumlah
Tetapkan kecepatan mux konstan (VBR default).
-pcr_periode angka
Ganti waktu transmisi ulang PCR default (default 20ms), diabaikan jika variabel
kecepatan mux dipilih.
pat_period jumlah
Waktu maksimal dalam hitungan detik antara tabel PAT/PMT.
sdt_period jumlah
Waktu maksimal dalam detik antara tabel SDT.
-pes_payload_size jumlah
Tetapkan payload paket PES minimum dalam byte.
-mpegts_flags bendera
Tetapkan bendera (lihat di bawah).
-mpegts_copyts jumlah
Pertahankan stempel waktu asli, jika nilainya disetel ke 1. Nilai default adalah -1, yang menghasilkan
dalam mengubah cap waktu sehingga mereka mulai dari 0.
-tabel_versi jumlah
Tetapkan versi PAT, PMT dan SDT (default 0, nilai yang valid adalah dari 0 hingga 31, secara inklusif).
Opsi ini memungkinkan pembaruan struktur aliran sehingga konsumen standar dapat mendeteksi
mengubah. Untuk melakukannya, buka kembali keluaran AVFormatContext (dalam hal penggunaan API) atau mulai ulang
ffmpeg instance, mengubah nilai tables_version secara siklis:
ffmpeg -i source1.ts -salinan codec -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -salinan codec -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
ffmpeg -i source3.ts -salinan codec -f mpegts -tables_version 31 udp://1.1.1.1:1111
ffmpeg -i source1.ts -salinan codec -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -salinan codec -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
Opsi mpegts_service_type menerima nilai berikut:
hex_nilai
Nilai heksadesimal antara 0x01 hingga 0xff seperti yang didefinisikan dalam ETSI 300 468.
digital_tv
layanan televisi digital.
digital_radio
layanan Radio Digital.
teleteks
Layanan teleteks.
lanjutan_codec_digital_radio
Layanan Radio Digital Codec Lanjutan.
mpeg2_digital_hdtv
Layanan HDTV Digital MPEG2.
lanjutan_codec_digital_sdtv
Layanan Codec Digital SDTV tingkat lanjut.
advanced_codec_digital_hdtv
Layanan HDTV Digital Codec canggih.
Opsi mpegts_flags dapat mengambil satu set flag seperti itu:
kirim ulang_header
Kirim ulang PAT/PMT sebelum menulis paket berikutnya.
latm
Gunakan paket LATM untuk AAC.
pat_pmt_at_frames
Kirim ulang PAT dan PMT pada setiap bingkai video.
Example
ffmpeg -i file.mpg -c salin \
-mpegts_original_network_id 0x1122\
-mpegts_transport_stream_id 0x3344\
-mpegts_service_id 0x5566\
-mpegts_pmt_start_pid 0x1500 \
-mpegts_start_pid 0x150\
-metadata service_provider="Beberapa penyedia" \
-metadata service_name="Beberapa Saluran" \
-y keluar.ts
mxf, mxf_d10
muxer MXF.
Opsi
Pilihan muxer adalah:
toko_pengguna_komentar bool
Setel apakah komentar pengguna harus disimpan jika tersedia atau tidak pernah. IRT D-10 tidak mengizinkan
komentar pengguna. Dengan demikian, defaultnya adalah menulisnya untuk mxf tetapi tidak untuk mxf_d10
nol
muxer nol.
Muxer ini tidak menghasilkan file output apa pun, ini terutama berguna untuk menguji atau
tujuan benchmarking.
Misalnya untuk benchmark decoding dengan ffmpeg anda dapat menggunakan perintah:
ffmpeg -benchmark -i INPUT -f null keluar.null
Perhatikan bahwa perintah di atas tidak membaca atau menulis keluar.null file, tetapi menentukan
file output diperlukan oleh ffmpeg sintaks.
Atau Anda dapat menulis perintah sebagai:
ffmpeg -benchmark -i MASUKAN -f null -
kacang
-titik sinkronisasi bendera
Ubah penggunaan syncpoint di nut:
kegagalan menggunakan itu normal overhead rendah pencarian AIDS.
tak satupun do tidak menggunakan itu titik sinkronisasi at semua, mengurangi itu atas tapi penyusunan itu aliran
tidak dapat dicari;
Penggunaan opsi ini tidak disarankan, karena file yang dihasilkan sangat rusak
sensitif dan mencari tidak mungkin. Juga secara umum overhead dari
sinkpoint dapat diabaikan. Catatan, -C 0 dapat digunakan untuk menonaktifkan
semua tabel data yang berkembang, memungkinkan aliran tanpa akhir dengan memori terbatas
dan tanpa kekurangan ini.
cap waktu memperpanjang itu titik sinkronisasi dengan a Jam dinding lapangan.
tak satupun dan cap waktu bendera bersifat eksperimental.
-tulis_indeks bool
Tulis indeks di akhir, defaultnya adalah menulis indeks.
ffmpeg -i INPUT -f_strict eksperimental -syncpoints none - | prosesor
ogg
Ogg wadah muxer.
-halaman_durasi lamanya
Durasi halaman pilihan, dalam mikrodetik. Muxer akan mencoba membuat halaman yang
kira-kira lamanya mikrodetik panjang. Ini memungkinkan pengguna untuk berkompromi
antara mencari granularitas dan overhead kontainer. Standarnya adalah 1 detik. Nilai 0
akan mengisi semua segmen, membuat halaman sebesar mungkin. Nilai 1 akan
secara efektif menggunakan 1 paket per halaman di sebagian besar situasi, memberikan sedikit perincian pencarian
dengan biaya overhead kontainer tambahan.
-serial_offset nilai
Nilai seri untuk mengatur nomor seri streaming. Mengaturnya ke berbeda dan
nilai yang cukup besar memastikan bahwa file ogg yang dihasilkan dapat dirantai dengan aman.
segmen, aliran_segmen, segmen
Segmenter aliran dasar.
Muxer ini mengeluarkan aliran ke sejumlah file terpisah dengan durasi yang hampir tetap. Keluaran
pola nama file dapat diatur dengan cara yang mirip dengan image2, atau dengan menggunakan "strftime"
template jika waktu luang opsi diaktifkan.
"stream_segment" adalah varian dari muxer yang digunakan untuk menulis ke format output streaming, yaitu
yang tidak memerlukan header global, dan direkomendasikan untuk keluaran misalnya ke MPEG
segmen aliran transportasi. "segment" adalah alias yang lebih pendek untuk "stream_segment".
Setiap segmen dimulai dengan bingkai utama dari aliran referensi yang dipilih, yang disetel
melalui referensi_aliran .
Perhatikan bahwa jika Anda ingin pemisahan yang akurat untuk file video, Anda perlu membuat tombol input
frame sesuai dengan waktu pemisahan yang tepat yang diharapkan oleh segmenter, atau segmen
muxer akan memulai segmen baru dengan bingkai kunci yang ditemukan berikutnya setelah awal yang ditentukan
waktu.
Muxer segmen bekerja paling baik dengan satu video kecepatan bingkai konstan.
Opsional itu dapat menghasilkan daftar segmen yang dibuat, dengan mengatur opsi
segmen_daftar. Jenis daftar ditentukan oleh segmen_daftar_tipe pilihan. Jalan masuk
nama file dalam daftar segmen ditetapkan secara default ke nama dasar yang sesuai
file segmen.
Lihat juga jam muxer, yang menyediakan implementasi yang lebih spesifik untuk HLS
segmentasi.
Opsi
Muxer segmen mendukung opsi berikut:
referensi_aliran penentu
Atur aliran referensi, seperti yang ditentukan oleh string penentu. Jika penentu diatur
ke "otomatis", referensi dipilih secara otomatis. Kalau tidak, itu pasti aliran
specifier (lihat bab ``Stream specifier'' di manual ffmpeg) yang menentukan
aliran referensi. Nilai defaultnya adalah "otomatis".
segmen_format format
Ganti format wadah dalam, secara default ditebak dengan nama file
perpanjangan.
segmen_format_opsi pilihan_daftar
Setel opsi format keluaran menggunakan daftar parameter key=value yang dipisahkan :-separated. Nilai
berisi karakter khusus ":" harus diloloskan.
segmen_daftar nama
Hasilkan juga file daftar bernama nama. Jika tidak ditentukan, tidak ada file daftar yang dihasilkan.
segment_list_flags bendera
Setel tanda yang memengaruhi pembuatan daftar segmen.
Saat ini mendukung flag berikut:
Cache
Izinkan caching (hanya memengaruhi file daftar M3U8).
hidup
Izinkan pembuatan file yang ramah langsung.
segmen_daftar_ukuran ukuran
Perbarui file daftar sehingga berisi paling banyak ukuran segmen. Jika 0 file daftar
akan berisi semua segmen. Nilai defaultnya adalah 0.
segment_list_entry_prefix awalan
tambahkan awalan ke setiap entri. Berguna untuk menghasilkan jalur absolut. Secara default tidak ada awalan
diterapkan.
segmen_daftar_tipe mengetik
Pilih format daftar.
Nilai-nilai berikut diakui:
datar
Hasilkan daftar datar untuk segmen yang dibuat, satu segmen per baris.
csv, ext
Buat daftar untuk segmen yang dibuat, satu segmen per baris, setiap baris cocok
format (nilai yang dipisahkan koma):
, ,
segmen_namafile adalah nama file output yang dihasilkan oleh muxer sesuai
terhadap pola yang disediakan. Pelepasan CSV (menurut RFC4180) diterapkan jika
diperlukan.
segmen_start_time dan segmen_akhir_waktu tentukan waktu mulai dan berakhir segmen
dinyatakan dalam detik.
File daftar dengan akhiran ".csv" atau ".ext" akan memilih format ini secara otomatis.
ext tidak digunakan lagi atau csv.
ffconcat
Hasilkan file ffconcat untuk segmen yang dibuat. File yang dihasilkan dapat dibaca
menggunakan FFmpeg concat demuxer.
File daftar dengan akhiran ".ffcat" atau ".ffconcat" akan memilih format ini secara otomatis.
m3u8
Hasilkan file M3U8 yang diperluas, versi 3, sesuai dengan
<http://tools.ietf.org/id/draft-pantos-http-live-streaming>.
File daftar dengan akhiran ".m3u8" akan memilih format ini secara otomatis.
Jika tidak ditentukan jenisnya ditebak dari akhiran nama file daftar.
segmen_waktu waktu
Setel durasi segmen ke waktu, nilainya harus berupa spesifikasi durasi. Bawaan
nilainya adalah "2". Lihat juga segmen_waktu .
Perhatikan bahwa pemisahan mungkin tidak akurat, kecuali Anda memaksa tombol aliran referensi-
frame pada waktu tertentu. Lihat pemberitahuan pengantar dan contoh di bawah ini.
segmen_atclocktime 1 | 0
Jika diatur ke "1" split pada interval waktu jam reguler mulai dari pukul 00:00. Itu
waktu nilai yang ditentukan dalam segmen_waktu digunakan untuk mengatur panjang pemisahan
selang.
Misalnya dengan segmen_waktu set ke "900" ini memungkinkan untuk membuat file di
12:00, 12:15, 12:30, dst.
Nilai defaultnya adalah "0".
segmen_waktu_delta delta
Tentukan waktu akurasi saat memilih waktu mulai untuk segmen, yang dinyatakan sebagai
spesifikasi durasi. Nilai defaultnya adalah "0".
Ketika delta ditentukan, bingkai kunci akan memulai segmen baru jika PTS-nya memenuhi
hubungan:
PTS >= start_time - time_delta
Opsi ini berguna saat memisahkan konten video, yang selalu dibagi di GOP
batas, jika bingkai kunci ditemukan tepat sebelum waktu split yang ditentukan.
Secara khusus dapat digunakan dalam kombinasi dengan ffmpeg Option force_key_frames. itu
waktu bingkai utama ditentukan oleh force_key_frames mungkin tidak diatur secara akurat karena
masalah pembulatan, dengan konsekuensi bahwa waktu kerangka utama dapat mengakibatkan ditetapkan sebelumnya
waktu yang ditentukan. Untuk video dengan kecepatan bingkai konstan, nilai 1/(2*frame_rate) Sebaiknya
mengatasi ketidakcocokan kasus terburuk antara waktu yang ditentukan dan waktu yang ditentukan oleh
force_key_frames.
segmen_waktu kali
Tentukan daftar titik split. kali berisi daftar durasi yang dipisahkan koma
spesifikasi, dalam urutan yang meningkat. Lihat juga segmen_waktu .
segmen_bingkai frame
Tentukan daftar nomor bingkai video terpisah. frame berisi daftar yang dipisahkan koma
bilangan bulat, dalam urutan meningkat.
Opsi ini menentukan untuk memulai segmen baru setiap kali bingkai kunci aliran referensi
ditemukan dan nomor urut (mulai dari 0) dari frame lebih besar atau sama dengan
nilai berikutnya dalam daftar.
segmen_bungkus membatasi
Bungkus indeks segmen setelah mencapai membatasi.
segmen_start_number jumlah
Tetapkan nomor urut segmen pertama. Default ke 0.
waktu luang 1 | 0
Gunakan fungsi "strftime" untuk menentukan nama segmen baru yang akan ditulis. Jika ini
dipilih, nama segmen keluaran harus berisi templat fungsi "strftime".
Nilai defaultnya adalah 0.
break_non_keyframes 1 | 0
Jika diaktifkan, izinkan segmen dimulai pada bingkai selain bingkai utama. Ini meningkatkan
perilaku pada beberapa pemain ketika waktu antara keyframe tidak konsisten, tetapi mungkin membuat
hal-hal buruk pada orang lain, dan dapat menyebabkan beberapa keanehan selama mencari. Default ke 0.
reset_cap waktu 1 | 0
Setel ulang stempel waktu di awal setiap segmen, sehingga setiap segmen akan dimulai dengan
cap waktu mendekati nol. Ini dimaksudkan untuk memudahkan pemutaran segmen yang dihasilkan. Boleh
tidak bekerja dengan beberapa kombinasi muxer/codec. Ini diatur ke 0 secara default.
inisial_offset mengimbangi
Tentukan offset stempel waktu untuk diterapkan ke stempel waktu paket keluaran. Argumen harus
menjadi spesifikasi durasi waktu, dan default ke 0.
contoh
· Remux isi file di.mkv ke daftar segmen keluar-000.nut, keluar-001.nut, Dll,
dan tulis daftar segmen yang dihasilkan ke keluar.daftar:
ffmpeg -i in.mkv -codec copy -map 0 -f segmen -segment_list out.list out%03d.nut
· Segmen input dan atur opsi format output untuk segmen output:
ffmpeg -i in.mkv -f segmen -segment_time 10 -segment_format_options movflags=+faststart out%03d.mp4
· Segmentasikan file input sesuai dengan titik pemisahan yang ditentukan oleh segmen_waktu
opsi:
ffmpeg -i in.mkv -codec copy -map 0 -f segmen -segment_list out.csv -segment_times 1,2,3,5,8,13,21 out%03d.nut
· Menggunakan ffmpeg force_key_frames opsi untuk memaksa bingkai kunci di input di
lokasi yang ditentukan, bersama dengan opsi segmen segmen_waktu_delta untuk memperhitungkan
kemungkinan pembulatan dioperasikan saat mengatur waktu bingkai utama.
ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -peta 0 \
-f segmen -segment_list out.csv -segment_times 1,2,3,5,8,13,21 -segment_time_delta 0.05 out%03d.nut
Untuk memaksa bingkai kunci pada file input, transcoding diperlukan.
· Segmentasikan file input dengan membagi file input sesuai dengan nomor bingkai
urutan yang ditentukan dengan segmen_bingkai opsi:
ffmpeg -i in.mkv -codec copy -map 0 -f segmen -segment_list out.csv -segment_frames 100,200,300,500,800 out%03d.nut
· Konversikan di.mkv ke segmen TS menggunakan encoder "libx264" dan "libfaac":
ffmpeg -i in.mkv -map 0 -codec:v libx264 -codec:a libfaac -f segment -segment_list out.list out%03d.ts
· Segmentasikan file input, dan buat daftar putar langsung M3U8 (dapat digunakan sebagai HLS langsung
sumber):
ffmpeg -re -i in.mkv -codec copy -map 0 -f segmen -segment_list playlist.m3u8 \
-segment_list_flags +live -segment_time 10 keluar%03d.mkv
kelancaran
Smooth Streaming muxer menghasilkan satu set file (Manifest, chunks) yang cocok untuk disajikan
dengan server web konvensional.
ukuran_jendela
Tentukan jumlah fragmen yang disimpan dalam manifes. Default 0 (simpan semua).
ekstra_jendela_ukuran
Tentukan jumlah fragmen yang disimpan di luar manifes sebelum dihapus dari
disk. Standar 5.
lihat ke depan_hitungan
Tentukan jumlah fragmen lookahead. Standar 2.
min_frag_duration.min_frag_duration
Tentukan durasi fragmen minimum (dalam mikrodetik). Standar 5000000.
hapus_at_keluar
Tentukan apakah akan menghapus semua fragmen setelah selesai. Default 0 (jangan hapus).
tee
Tee muxer dapat digunakan untuk menulis data yang sama ke beberapa file atau jenis lainnya
muxer. Ini dapat digunakan, misalnya, untuk mengalirkan video ke jaringan dan menyimpannya ke
disk secara bersamaan.
Ini berbeda dari menentukan beberapa output ke ffmpeg alat baris perintah karena
data audio dan video hanya akan dikodekan sekali dengan tee muxer; pengkodean dapat berupa
proses yang sangat mahal. Ini tidak berguna saat menggunakan libavformat API secara langsung karena
maka dimungkinkan untuk mengumpankan paket yang sama ke beberapa muxer secara langsung.
Keluaran budak ditentukan dalam nama file yang diberikan ke muxer, dipisahkan oleh '|'. Jika
salah satu nama budak berisi '|' pemisah, ruang depan atau belakang atau apapun
karakter khusus, itu harus diloloskan (lihat itu "Mengutip dan melarikan diri" bagian in itu
ffmpeg-utils(1) panduan).
Opsi Muxer dapat ditentukan untuk setiap slave dengan menambahkannya sebagai daftar kunci=nilai
pasangan dipisahkan oleh ':', di antara tanda kurung siku. Jika nilai opsi mengandung spesial
karakter atau pemisah ':', mereka harus diloloskan; perhatikan bahwa ini adalah level kedua
melarikan diri.
Opsi khusus berikut juga dikenali:
f Tentukan nama formatnya. Berguna jika tidak dapat ditebak dari akhiran nama keluaran.
bsf[/spek]
Tentukan daftar filter bitstream untuk diterapkan ke output yang ditentukan.
Dimungkinkan untuk menentukan aliran mana yang diterapkan oleh filter bitstream tertentu, dengan:
menambahkan penentu aliran ke opsi yang dipisahkan oleh "/". spek harus menjadi aliran
penentu (lihat dibentuk aliran penentu). Jika penentu aliran tidak ditentukan,
filter bitstream akan diterapkan ke semua aliran di output.
Beberapa filter bitstream dapat ditentukan, dipisahkan dengan ",".
memilih
Pilih aliran yang harus dipetakan ke output budak, ditentukan oleh aliran
penentu. Jika tidak ditentukan, ini default ke semua aliran input.
contoh
· Mengkodekan sesuatu dan mengarsipkannya dalam file WebM dan mengalirkannya sebagai MPEG-TS melalui UDP
(aliran perlu dipetakan secara eksplisit):
ffmpeg -i ... -c:v libx264 -c:a mp2 -f tee -peta 0:v -peta 0:a
"archive-20121107.mkv|[f=mpegts]udp://10.0.1.255:1234/"
· Menggunakan ffmpeg untuk mengkodekan input, dan mengirim output ke tiga tujuan berbeda.
Filter bitstream "dump_extra" digunakan untuk menambahkan informasi data ekstra ke semua
output paket keyframe video, seperti yang diminta oleh format MPEG-TS. Opsi pilih
diterapkan ke keluar.aac untuk membuatnya hanya berisi paket audio.
ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -eksperimen ketat
-f tee "[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac"
· Seperti di bawah ini, tetapi pilih hanya aliran "a:1" untuk output audio. Perhatikan bahwa tingkat kedua
melarikan diri harus dilakukan, karena ":" adalah karakter khusus yang digunakan untuk memisahkan opsi.
ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -eksperimen ketat
-f tee "[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=\'a:1\']out.aac"
Catatan: beberapa codec mungkin memerlukan opsi yang berbeda tergantung pada format output; mobil-
deteksi ini tidak dapat bekerja dengan tee muxer. Contoh utamanya adalah global_header
bendera.
webm_dash_manifest
Muxer WebM DASH Manifest.
Muxer ini mengimplementasikan spesifikasi Manifes WebM DASH untuk menghasilkan manifes DASH
XML. Ini juga mendukung pembuatan manifes untuk streaming langsung DASH.
Untuk informasi lebih lanjut, lihat:
· Spesifikasi WebM DASH:
<https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification>
· Spesifikasi ISO DASH:
<http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip>
Opsi
Muxer ini mendukung opsi berikut:
adaptasi_sets
Opsi ini memiliki sintaks berikut: "id=x,streams=a,b,c id=y,streams=d,e" di mana x
dan y adalah pengidentifikasi unik dari set adaptasi dan a,b,c,d dan e adalah
indeks aliran audio dan video yang sesuai. Sejumlah set adaptasi
dapat ditambahkan menggunakan opsi ini.
hidup
Setel ini ke 1 untuk membuat Manifes DASH streaming langsung. Standar: 0.
chunk_start_index
Mulai indeks potongan pertama. Ini akan masuk nomor awal atribut dari
Template Segmen elemen dalam manifes. Standar: 0.
potongan_durasi_ms
Durasi setiap potongan dalam milidetik. Ini akan masuk lamanya atribut dari
Template Segmen elemen dalam manifes. Standar: 1000.
utc_timing_url
URL halaman yang akan mengembalikan stempel waktu UTC dalam format ISO. Ini akan masuk
nilai atribut dari Waktu UTC elemen dalam manifes. Standar: Tidak ada.
waktu_shift_buffer_kedalaman
Buffer pergeseran waktu terkecil (dalam detik) yang menjamin setiap Representasi
untuk tersedia. Ini akan masuk timeShiftBufferDepth atribut dari MPD
elemen. Standar: 60.
minimum_pembaruan_periode
Periode pembaruan minimum (dalam detik) manifes. Ini akan masuk
minimumUpdatePeriode atribut dari MPD elemen. Standar: 0.
Example
ffmpeg -f webm_dash_manifest -i video1.webm \
-f webm_dash_manifest -i video2.webm \
-f webm_dash_manifest -i audio1.webm \
-f webm_dash_manifest -i audio2.webm \
-peta 0 -peta 1 -peta 2 -peta 3 \
-c salin \
-f webm_dash_manifest \
-adaptation_sets "id=0,streams=0,1 id=1,streams=2,3" \
manifes.xml
webm_chunk
Muxer Potongan Langsung WebM.
Muxer ini menulis header dan potongan WebM sebagai file terpisah yang dapat digunakan oleh
klien yang mendukung streaming WebM Live melalui DASH.
Opsi
Muxer ini mendukung opsi berikut:
chunk_start_index
Indeks potongan pertama (default ke 0).
Header
Nama file header tempat data inisialisasi akan ditulis.
audio_chunk_duration
Durasi setiap potongan audio dalam milidetik (defaultnya adalah 5000).
Example
ffmpeg -f v4l2 -i /dev/video0 \
-f juga -i hw:0 \
-peta 0:0 \
-c:v libvpx-vp9 \
-s 640x360 -keyint_min 30 -g 30\
-f webm_chunk \
-tajuk webm_live_video_360.hdr\
-potongan_start_index 1\
webm_live_video_360_%d.chk \
-peta 1:0 \
-c: sebuah libvorbis \
-b:a 128k\
-f webm_chunk \
-tajuk webm_live_audio_128.hdr\
-potongan_start_index 1\
-audio_chunk_durasi 1000\
webm_live_audio_128_%d.chk
METADATA
FFmpeg dapat membuang metadata dari file media ke dalam teks sederhana seperti INI yang disandikan UTF-8
file dan kemudian memuatnya kembali menggunakan metadata muxer/demuxer.
Format filenya adalah sebagai berikut:
1. File terdiri dari header dan sejumlah tag metadata yang dibagi menjadi beberapa bagian, masing-masing
pada jalurnya sendiri.
2. Judulnya adalah ;FFMETADATA string, diikuti dengan nomor versi (sekarang 1).
3. Tag metadata berbentuk kunci = nilai
4. Segera setelah tajuk mengikuti metadata global
5. Setelah metadata global mungkin ada bagian dengan metadata per-aliran/per-bab.
6. Bagian dimulai dengan nama bagian dalam huruf besar (yaitu STREAM atau CHAPTER) di
tanda kurung ([, ]) dan diakhiri dengan bagian atau akhir file berikutnya.
7. Di awal bagian bab mungkin ada basis waktu opsional yang akan digunakan untuk
nilai awal/akhir. Itu harus dalam bentuk DASAR WAKTU =num/hari, Di mana num dan hari adalah bilangan bulat.
Jika basis waktu tidak ada maka waktu mulai/berakhir diasumsikan dalam milidetik.
Selanjutnya bagian bab harus berisi waktu awal dan akhir bab dalam bentuk MULAI =num,
SELESAI =num, Di mana num adalah bilangan bulat positif.
8. Garis kosong dan garis dimulai dengan ; or # diabaikan.
9. Kunci atau nilai metadata yang berisi karakter khusus (=, ;, #, \ dan baris baru) harus
lolos dengan garis miring terbalik \.
10. Perhatikan bahwa spasi dalam metadata (mis foo = bar) dianggap sebagai bagian dari
tag (dalam contoh di atas kuncinya adalah foo , nilai adalah
bar).
File ffmetadata mungkin terlihat seperti ini:
;FFMETADATA1
judul=sepeda\\gudang
;ini adalah komentar
artis=FFmpeg tim troll
[BAB]
DASAR WAKTU = 1/1000
MULAI=0
#chapter berakhir pada 0:01:00
AKHIR=60000
judul=bab \\1
[SUNGAI KECIL]
judul=banyak\
line
Dengan menggunakan ffmetadata muxer dan demuxer dimungkinkan untuk mengekstrak metadata dari input
file ke file ffmetadata, dan kemudian transcode file menjadi file output dengan
file ffmetadata yang diedit.
Mengekstrak file ffmetadata dengan ffmpeg berjalan sebagai berikut:
ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE
Memasukkan kembali informasi metadata yang diedit dari file FFMETADATAFILE dapat dilakukan sebagai:
ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec salin OUTPUT
Gunakan format ffmpeg online menggunakan layanan onworks.net