Amazon Best VPN GoSearch

Biểu tượng yêu thích OnWorks

định dạng ffmpeg

Chạy các định dạng ffmpeg trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

Đây là lệnh ffmpeg-format có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


định dạng ffmpeg - định dạng FFmpeg

MÔ TẢ


Tài liệu này mô tả các định dạng được hỗ trợ (muxers và demuxers) được cung cấp bởi
thư viện libavformat.

FORMAT LỰA CHỌN


Thư viện libavformat cung cấp một số tùy chọn chung chung, có thể được đặt trên tất cả các
muxers và demuxers. Ngoài ra, mỗi muxer hoặc demuxer có thể hỗ trợ cái gọi là riêng tư
tùy chọn cụ thể cho thành phần đó.

Các tùy chọn có thể được thiết lập bằng cách chỉ định -tùy chọn giá trị trong các công cụ FFmpeg hoặc bằng cách thiết lập
giá trị rõ ràng trong các tùy chọn "AVFormatContext" hoặc sử dụng libavutil / opt.h API cho
sử dụng có lập trình.

Danh sách các tùy chọn được hỗ trợ như sau:

avioflags cờ (đầu ra đầu vào)
Những giá trị khả thi:

trực tiếp
Giảm bộ đệm.

thăm dò số nguyên (đầu vào)
Đặt kích thước thăm dò theo byte, tức là kích thước dữ liệu cần phân tích để nhận luồng
thông tin. Giá trị cao hơn sẽ cho phép phát hiện nhiều thông tin hơn trong trường hợp
phân tán vào luồng, nhưng sẽ làm tăng độ trễ. Phải là một số nguyên không nhỏ hơn
hơn 32. Nó là 5000000 theo mặc định.

gói tin số nguyên (đầu ra)
Đặt kích thước gói.

lá cờ cờ (đầu ra đầu vào)
Đặt cờ định dạng.

Những giá trị khả thi:

đánh lửa
Bỏ qua chỉ mục.

tìm nhanh
Cho phép tìm kiếm nhanh nhưng không chính xác cho một số định dạng.

quý tộc
Tạo PTS.

nofillin
Không điền vào các giá trị còn thiếu có thể được tính toán chính xác.

không phân biệt
Tắt AVParsers, điều này cũng cần "+ nofillin".

đánh lửa
Bỏ qua DTS.

hủy hoại
Loại bỏ các khung bị hỏng.

sắp xếp
Cố gắng xen kẽ các gói đầu ra bằng DTS.

canh giữ
Không hợp nhất dữ liệu bên.

vĩ độ
Bật tải trọng RTP MP4A-LATM.

không đệm
Giảm độ trễ do lưu vào bộ đệm tùy chọn

cắnxact
Chỉ viết dữ liệu nền tảng, xây dựng và độc lập về thời gian. Điều này đảm bảo rằng tệp
và tổng kiểm tra dữ liệu có thể tái tạo và khớp giữa các nền tảng. Công dụng chính của nó
là để kiểm tra hồi quy.

tìm kiếm2any số nguyên (đầu vào)
Cho phép tìm kiếm những khung hình không phải chính ở cấp demuxer khi được hỗ trợ nếu được đặt thành 1. Mặc định
là 0.

sự phân tích số nguyên (đầu vào)
Chỉ định bao nhiêu micro giây được phân tích để thăm dò đầu vào. Giá trị cao hơn sẽ
cho phép phát hiện thông tin chính xác hơn, nhưng sẽ làm tăng độ trễ. Nó mặc định là
5,000,000 micro giây = 5 giây.

tiền điện tử thập lục phân chuỗi (đầu vào)
Đặt khóa giải mã.

chỉ mục số nguyên (đầu vào)
Đặt bộ nhớ tối đa được sử dụng cho chỉ mục dấu thời gian (mỗi luồng).

rtbufsize số nguyên (đầu vào)
Đặt bộ nhớ tối đa được sử dụng để lưu vào bộ đệm các khung thời gian thực.

fdebug cờ (đầu ra đầu vào)
In thông tin gỡ lỗi cụ thể.

Những giá trị khả thi:

ts
độ trễ tối đa số nguyên (đầu ra đầu vào)
Đặt độ trễ trộn hoặc giảm luồng tối đa tính bằng micro giây.

thăm dò khung hình/giây số nguyên (đầu vào)
Đặt số khung hình được sử dụng để thăm dò fps.

âm thanh_preload số nguyên (đầu ra)
Đặt micro giây mà các gói âm thanh sẽ được xen kẽ trước đó.

chunk_duration số nguyên (đầu ra)
Đặt micro giây cho mỗi đoạn.

chunk_size số nguyên (đầu ra)
Đặt kích thước theo byte cho mỗi đoạn.

phát hiện lỗi, f_err_ detect cờ (đầu vào)
Đặt cờ phát hiện lỗi. "f_err_detect" không được dùng nữa và chỉ nên được sử dụng qua
các ffmpeg công cụ.

Những giá trị khả thi:

kiểm tra kỹ càng
Xác minh các CRC được nhúng.

dòng bit
Phát hiện độ lệch đặc điểm kỹ thuật dòng bit.

đệm
Phát hiện độ dài dòng bit không phù hợp.

phát nổ
Hủy giải mã khi phát hiện lỗi nhỏ.

cẩn thận
Hãy xem xét những thứ vi phạm thông số kỹ thuật và chưa được nhìn thấy trong tự nhiên như
lỗi.

compliant
Hãy coi tất cả các thông số kỹ thuật không tuân thủ là lỗi.

tích cực
Hãy xem xét những thứ mà một bộ mã hóa lành mạnh không nên làm như một lỗi.

max_interleave_delta số nguyên (đầu ra)
Đặt thời lượng đệm tối đa để xen kẽ. Thời lượng được biểu thị bằng
micro giây và mặc định là 1000000 (1 giây).

Để đảm bảo tất cả các luồng được xen kẽ một cách chính xác, libavformat sẽ đợi cho đến khi
có ít nhất một gói cho mỗi luồng trước khi thực sự ghi bất kỳ gói nào vào
tệp đầu ra. Khi một số luồng "thưa thớt" (tức là có khoảng cách lớn giữa
các gói liên tiếp), điều này có thể dẫn đến bộ đệm quá mức.

Trường này chỉ định sự khác biệt lớn nhất giữa dấu thời gian của dấu thời gian đầu tiên và
gói cuối cùng trong hàng đợi muxing, trên đó libavformat sẽ xuất ra một gói
bất kể nó đã xếp hàng đợi một gói cho tất cả các luồng hay chưa.

Nếu được đặt thành 0, libavformat sẽ tiếp tục lưu vào bộ đệm các gói cho đến khi nó có một gói cho
mỗi luồng, bất kể chênh lệch dấu thời gian tối đa giữa các vùng được lưu vào bộ đệm
gói tin.

use_wallclock_as_timestamps số nguyên (đầu vào)
Sử dụng đồng hồ treo tường làm dấu thời gian.

tránh_negative_ts số nguyên (đầu ra)
Những giá trị khả thi:

make_non_âm
Thay đổi dấu thời gian để làm cho chúng không âm. Cũng lưu ý rằng điều này chỉ ảnh hưởng đến
dấu thời gian phủ định dẫn đầu và không phải dấu thời gian âm không đơn điệu.

make_zero
Chuyển dấu thời gian để dấu thời gian đầu tiên bằng 0.

tự động (Default)
Cho phép chuyển đổi khi định dạng đích yêu cầu.

bị vô hiệu hóa
Tắt chuyển dấu thời gian.

Khi bật tính năng dịch chuyển, tất cả các dấu thời gian đầu ra đều được dịch chuyển cùng một lượng. Âm thanh,
video và phân tách phụ đề và sự khác biệt tương đối về dấu thời gian được giữ nguyên
so với cách họ sẽ có được nếu không có sự thay đổi.

bỏ qua_initial_bytes số nguyên (đầu vào)
Đặt số byte cần bỏ qua trước khi đọc tiêu đề và khung nếu được đặt thành 1. Mặc định là
0.

đúng_ts_overflow số nguyên (đầu vào)
Sửa lỗi tràn dấu thời gian đơn lẻ nếu được đặt thành 1. Mặc định là 1.

tuôn ra_gói số nguyên (đầu ra)
Xả luồng I / O bên dưới sau mỗi gói. Mặc định 1 cho phép nó và có
hiệu quả của việc giảm độ trễ; 0 vô hiệu hóa nó và có thể tăng một chút hiệu suất trong
một số trường hợp.

đầu ra_ts_offset bù đắp (đầu ra)
Đặt độ lệch thời gian đầu ra.

bù đắp phải là một đặc điểm kỹ thuật về khoảng thời gian, hãy xem các Thời gian thời gian phần in các
ffmpeg-utils(1) nhãn hiệu.

Phần bù được bộ trộn thêm vào dấu thời gian đầu ra.

Chỉ định một độ lệch dương có nghĩa là các luồng tương ứng bị trì hoãn bởi
khoảng thời gian được chỉ định trong bù đắp. Giá trị mặc định là 0 (có nghĩa là không có bù đắp
đã áp dụng).

định dạng_danh sách trắng (đầu vào)
"," được phân tách Danh sách các demuxer được phép. Theo mặc định, tất cả đều được phép.

dump_separator chuỗi (đầu vào)
Dấu phân tách được sử dụng để phân tách các trường được in trên dòng lệnh về Luồng
thông số. Ví dụ để phân tách các trường bằng dòng mới và thụt lề:

ffprobe -dump_separator "
" -tôi ~ / videos / matrixbench_mpeg2.mpg

Định dạng dòng chuyên gia
Định dạng chỉ định luồng cho phép lựa chọn một hoặc nhiều luồng phù hợp với các luồng cụ thể
tài sản.

Các dạng chỉ định luồng có thể có là:

luồng_index
Đối sánh luồng với chỉ mục này.

luồng_type[:luồng_index]
luồng_type là một trong các loại sau: 'v' cho video, 'a' cho âm thanh, 's' cho phụ đề, 'd'
cho dữ liệu và 't' cho tệp đính kèm. Nếu như luồng_index được đưa ra, sau đó nó khớp với
số luồng luồng_index thuộc loại này. Nếu không, nó khớp với tất cả các luồng này
kiểu.

p:chương trình_id[:luồng_index]
If luồng_index được đưa ra, sau đó nó khớp với luồng với số luồng_index trong
chương trình với id chương trình_id. Nếu không, nó khớp với tất cả các luồng trong chương trình.

#luồng_id
Khớp luồng theo ID định dạng cụ thể.

Ngữ nghĩa chính xác của các từ chỉ định luồng được xác định bởi
Hàm "avformat_match_stream_specifier ()" được khai báo trong libavformat / avformat.h
tiêu đề.

NHÂN VIÊN


Demuxers là các phần tử được cấu hình trong FFmpeg có thể đọc các luồng đa phương tiện từ một
loại tệp cụ thể.

Khi bạn định cấu hình bản dựng FFmpeg của mình, tất cả các demuxer được hỗ trợ đều được bật theo mặc định.
Bạn có thể liệt kê tất cả những cái có sẵn bằng cách sử dụng tùy chọn cấu hình "--list-demuxers".

Bạn có thể vô hiệu hóa tất cả các demuxer bằng cách sử dụng tùy chọn cấu hình "--disable-demuxers", và
kích hoạt một cách chọn lọc một demuxer duy nhất với tùy chọn "--enable-demuxer =DEMUXER "hoặc vô hiệu hóa
nó với tùy chọn "--disable-demuxer =DEMUXER ".

Tùy chọn "-formats" của các công cụ ff * sẽ hiển thị danh sách các demuxer được bật.

Sau đây là mô tả về một số demuxer hiện có sẵn.

aa
Định dạng Audible 2, 3 và 4 demuxer.

Demuxer này được sử dụng để tách các tệp định dạng Audible 2, 3 và 4 (.aa).

quả táo http
Trình demuxer phát trực tiếp HTTP của Apple.

Demuxer này trình bày tất cả các AVStream từ tất cả các luồng biến thể. Trường id được đặt thành
số chỉ số biến thể tốc độ bit. Bằng cách đặt cờ loại bỏ trên AVStreams (bằng cách nhấn 'a'
hoặc 'v' trong ffplay), người gọi có thể quyết định luồng biến thể nào sẽ thực sự nhận được. Các
tổng tốc độ bit của biến thể mà luồng thuộc về có sẵn trong khóa siêu dữ liệu
được đặt tên là "variant_bitrate".

apng
Demuxer đồ họa mạng di động hoạt hình.

Demuxer này được sử dụng để tách các tệp APNG. Tất cả các tiêu đề, trừ chữ ký PNG, cho đến (nhưng
không bao gồm) đoạn fcTL đầu tiên được truyền dưới dạng dữ liệu bổ sung. Các khung hình sau đó được chia nhỏ
như là tất cả các phần giữa hai fcTL hoặc giữa các phần cuối cùng của fcTL và IEND.

-ignore_loop bool
Bỏ qua biến vòng lặp trong tệp nếu được đặt.

-max_fps int
Tốc độ khung hình tối đa trong khung hình trên giây (0 cho không giới hạn).

-default_fps int
Tốc độ khung hình mặc định tính theo khung hình / giây khi không có gì được chỉ định trong tệp (0 nghĩa là
nhanh nhất có thể).

asf
Trình giải mã định dạng hệ thống nâng cao.

Demuxer này được sử dụng để tách các tệp ASF và các luồng mạng MMS.

-no_resync_search bool
Đừng cố gắng đồng bộ hóa lại bằng cách tìm kiếm một mã bắt đầu tùy chọn nhất định.

concat
Trình demuxer tập lệnh nối ảo.

Trình demuxer này đọc danh sách các tệp và các lệnh khác từ tệp văn bản và giải mã chúng
cái này đến cái khác, như thể tất cả gói tin của họ đã được trộn với nhau.

Dấu thời gian trong tệp được điều chỉnh để tệp đầu tiên bắt đầu từ 0 và mỗi tệp tiếp theo
tệp bắt đầu khi tệp trước đó kết thúc. Lưu ý rằng nó được thực hiện trên toàn cầu và có thể gây ra
khoảng trống nếu tất cả các luồng không có cùng độ dài chính xác.

Tất cả các tệp phải có cùng luồng (cùng codec, cùng cơ sở thời gian, v.v.).

Thời lượng của mỗi tệp được sử dụng để điều chỉnh dấu thời gian của tệp tiếp theo: nếu
thời lượng không chính xác (vì nó được tính bằng tốc độ bit hoặc vì tệp
chẳng hạn như bị cắt ngắn), nó có thể gây ra hiện tượng tạo tác. Chỉ thị "thời lượng" có thể được sử dụng để
ghi đè thời lượng được lưu trữ trong mỗi tệp.

cú pháp

Tập lệnh là một tệp văn bản trong ASCII mở rộng, với một chỉ thị trên mỗi dòng. Dòng trống,
các dấu cách và dòng bắt đầu bằng '#' bị bỏ qua. Chỉ thị sau là
được công nhận:

"tập tin con đường"
Đường dẫn đến một tệp để đọc; các ký tự đặc biệt và dấu cách phải được thoát bằng dấu gạch chéo ngược
hoặc các dấu ngoặc kép.

Tất cả các lệnh tiếp theo liên quan đến tệp đều áp dụng cho tệp đó.

"ffconcat phiên bản 1.0 "
Xác định loại và phiên bản tập lệnh. Nó cũng đặt an toàn tùy chọn 1 nếu nó là
-1 mặc định của nó.

Để làm cho FFmpeg tự động nhận dạng định dạng, chỉ thị này phải xuất hiện chính xác
như vậy (không có khoảng trắng thừa hoặc dấu thứ tự byte) trên dòng đầu tiên của tập lệnh.

"khoảng thời gian cứng"
Thời lượng của tệp. Thông tin này có thể được chỉ định từ tệp; xác định nó
ở đây có thể hiệu quả hơn hoặc trợ giúp nếu thông tin từ tệp không có sẵn
hoặc chính xác.

Nếu thời lượng được đặt cho tất cả các tệp, thì có thể tìm kiếm trong toàn bộ
video nối.

"trong điểm dấu thời gian"
Trong điểm của tệp. Khi trình demuxer mở tệp, nó ngay lập tức tìm kiếm
dấu thời gian được chỉ định. Tìm kiếm được thực hiện để tất cả các luồng có thể được trình bày thành công
tại điểm.

Lệnh này hoạt động tốt nhất với codec trong khung, vì đối với các codec không phải trong khung
bạn thường sẽ nhận được các gói bổ sung trước điểm Trong thực tế và nội dung được giải mã
rất có thể sẽ chứa các khung trước In point.

Đối với mỗi tệp, các gói trước tệp Tại điểm sẽ có dấu thời gian nhỏ hơn
dấu thời gian bắt đầu được tính toán của tệp (âm trong trường hợp tệp đầu tiên) và
thời lượng của tệp (nếu không được chỉ định bởi chỉ thị "thời lượng") sẽ bị giảm
dựa trên điểm Trong được chỉ định của họ.

Do các gói tiềm ẩn trước điểm Trong được chỉ định, dấu thời gian gói có thể
chồng chéo giữa hai tệp được nối.

"outpoint dấu thời gian"
Điểm ra của tập tin. Khi trình giải mã đạt đến dấu thời gian giải mã được chỉ định trong
bất kỳ luồng nào, nó sẽ xử lý nó như một điều kiện kết thúc tệp và bỏ qua
và tất cả các gói còn lại từ tất cả các luồng.

Out point là độc quyền, có nghĩa là demuxer sẽ không xuất ra các gói có
dấu thời gian giải mã lớn hơn hoặc bằng Out point.

Chỉ thị này hoạt động tốt nhất với codec và định dạng trong khung, nơi tất cả các luồng đều
đan xen chặt chẽ. Đối với codec không phải của khung nội bộ, bạn thường sẽ nhận được thêm
các gói có dấu thời gian trình bày sau Out point do đó nội dung được giải mã sẽ
rất có thể chứa các khung sau điểm Out. Nếu luồng của bạn không chặt chẽ
xen kẽ, bạn có thể không nhận được tất cả các gói từ tất cả các luồng trước khi Out point và bạn
có thể chỉ có thể giải mã luồng sớm nhất cho đến khi Kết thúc.

Thời lượng của tệp (nếu không được chỉ định bởi chỉ thị "thời lượng") sẽ là
giảm dựa trên Out Point được chỉ định của họ.

"file_packet_metadata key = giá trị"
Siêu dữ liệu của các gói của tệp. Siêu dữ liệu được chỉ định sẽ được đặt cho từng tệp
gói tin. Bạn có thể chỉ định chỉ thị này nhiều lần để thêm nhiều siêu dữ liệu
mục.

"dòng"
Giới thiệu một luồng trong tệp ảo. Tất cả các chỉ thị liên quan đến luồng tiếp theo
áp dụng cho luồng được giới thiệu cuối cùng. Một số thuộc tính luồng phải được đặt để
cho phép xác định các luồng phù hợp trong các tiểu phân. Nếu không có luồng nào được xác định trong
tập lệnh, các luồng từ tệp đầu tiên được sao chép.

"precision_stream_id id"
Đặt id của luồng. Nếu chỉ thị này được đưa ra, chuỗi có
id tương ứng trong các tệp con sẽ được sử dụng. Điều này đặc biệt hữu ích cho MPEG-PS
(VOB) các tệp, trong đó thứ tự của các luồng không đáng tin cậy.

Các lựa chọn

Demuxer này chấp nhận tùy chọn sau:

an toàn
Nếu được đặt thành 1, hãy từ chối các đường dẫn tệp không an toàn. Đường dẫn tệp được coi là an toàn nếu nó không
chứa một đặc tả giao thức và là tương đối và tất cả các thành phần chỉ chứa
các ký tự từ bộ ký tự di động (chữ cái, chữ số, dấu chấm, dấu gạch dưới và
gạch nối) và không có dấu chấm ở đầu thành phần.

Nếu được đặt thành 0, bất kỳ tên tệp nào cũng được chấp nhận.

Giá trị mặc định là -1, nó tương đương với 1 nếu định dạng được tự động thăm dò và 0
nếu không thì.

tự động chuyển đổi
Nếu được đặt thành 1, hãy cố gắng thực hiện chuyển đổi tự động trên dữ liệu gói để tạo luồng
có thể nối. Giá trị mặc định là 1.

Hiện tại, chuyển đổi duy nhất là thêm bộ lọc dòng bit h264_mp4toannexb vào
Các luồng H.264 ở định dạng MP4. Điều này là cần thiết đặc biệt nếu có giải pháp
thay đổi.

flv
Trình giải mã định dạng video Adobe Flash.

Demuxer này được sử dụng để giải mã các tệp FLV và các luồng mạng RTMP.

-flv_metadata bool
Phân bổ các luồng theo nội dung mảng onMetaData.

libgme
Thư viện Game Music Emu là một bộ sưu tập các trình giả lập tệp tin trò chơi điện tử.

Nhìn thấyhttp://code.google.com/p/game-music-emu/> để biết thêm thông tin.

Một số tệp có nhiều bản nhạc. Demuxer sẽ chọn bản nhạc đầu tiên theo mặc định. Các
track_index tùy chọn có thể được sử dụng để chọn một bản nhạc khác. Chỉ số theo dõi bắt đầu từ 0.
demuxer xuất số lượng bản nhạc dưới dạng bài hát nhập dữ liệu meta.

Đối với các tệp rất lớn, kích thước tối đa tùy chọn có thể phải được điều chỉnh.

thư viện
Phát phương tiện từ các dịch vụ Internet bằng dự án quvi.

Demuxer chấp nhận một định dạng tùy chọn để yêu cầu một chất lượng cụ thể. Theo mặc định, nó được đặt thành
tốt.

Nhìn thấyhttp://quvi.sourceforge.net/> để biết thêm thông tin.

FFmpeg cần được xây dựng với "--enable-libquvi" để có thể kích hoạt trình demuxer này.

gif
Demuxer GIF động.

Nó chấp nhận các tùy chọn sau:

phút_delay
Đặt độ trễ hợp lệ tối thiểu giữa các khung hình tính bằng phần trăm giây. Phạm vi từ 0 đến
6000. Giá trị mặc định là 2.

max_gif_delay
Đặt độ trễ hợp lệ tối đa giữa các khung hình tính bằng phần trăm giây. Phạm vi từ 0 đến
65535. Giá trị mặc định là 65535 (gần mười một phút), giá trị tối đa được cho phép bởi
các đặc điểm kỹ thuật.

mặc định_delay
Đặt độ trễ mặc định giữa các khung hình tính bằng phần trăm giây. Phạm vi là 0 đến 6000.
Giá trị mặc định là 10.

bỏ qua_loop
Tệp GIF có thể chứa thông tin lặp lại một số lần nhất định (hoặc vô hạn).
If bỏ qua_loop được đặt thành 1, sau đó cài đặt vòng lặp từ đầu vào sẽ bị bỏ qua và
vòng lặp sẽ không xảy ra. Nếu được đặt thành 0, thì vòng lặp sẽ xảy ra và sẽ xoay vòng số
của thời gian theo GIF. Giá trị mặc định là 1.

Ví dụ: với bộ lọc lớp phủ, hãy đặt một GIF lặp lại vô hạn trên một video khác:

ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex overlay = short = 1 out.mkv

Lưu ý rằng trong ví dụ trên, tùy chọn ngắn nhất cho bộ lọc lớp phủ được sử dụng để kết thúc
đầu ra video ở độ dài của tệp đầu vào ngắn nhất, trong trường hợp này là đầu vào.mp4 as
GIF trong ví dụ này lặp lại vô hạn.

image2
Demuxer tệp hình ảnh.

Demuxer này đọc từ danh sách các tệp hình ảnh được chỉ định bởi một mẫu. Cú pháp và
ý nghĩa của mẫu được chỉ định bởi tùy chọn kiểu_mẫu.

Mẫu có thể chứa một hậu tố được sử dụng để tự động xác định định dạng của
các hình ảnh có trong các tệp.

Kích thước, định dạng pixel và định dạng của mỗi hình ảnh phải giống nhau cho tất cả
các tệp trong trình tự.

Demuxer này chấp nhận các tùy chọn sau:

Framerate
Đặt tốc độ khung hình cho luồng video. Nó mặc định là 25.

vòng lặp
Nếu được đặt thành 1, lặp qua đầu vào. Giá trị mặc định là 0.

kiểu_mẫu
Chọn loại mẫu được sử dụng để diễn giải tên tệp được cung cấp.

kiểu_mẫu chấp nhận một trong các giá trị sau.

không ai
Tắt tính năng đối sánh mẫu, do đó video sẽ chỉ chứa các
hình ảnh. Bạn nên sử dụng tùy chọn này nếu bạn không muốn tạo chuỗi từ
nhiều hình ảnh và tên tệp của bạn có thể chứa các ký tự mẫu đặc biệt.

trình tự
Chọn một loại mẫu trình tự, được sử dụng để chỉ định một chuỗi các tệp được lập chỉ mục bởi
số thứ tự.

Mẫu trình tự có thể chứa chuỗi "% d" hoặc "% 0Nd ", chỉ định
vị trí của các ký tự đại diện cho một số thứ tự trong mỗi tên tệp
phù hợp với mô hình. Nếu dạng "% d0Nd "được sử dụng, chuỗi đại diện cho
số trong mỗi tên tệp là 0 đệm và N là tổng số chữ số có đệm 0
đại diện cho số lượng. Ký tự chữ '%' có thể được chỉ định trong mẫu
với chuỗi "%%".

Nếu mẫu trình tự chứa "% d" hoặc "% 0Nd ", tên tệp đầu tiên của tệp
danh sách được chỉ định bởi mẫu phải chứa một số bao gồm giữa
số_bắt đầusố_bắt đầu+phạm vi_số_bắt đầu-1 và tất cả các số sau
phải tuần tự.

Ví dụ: mẫu "img-% 03d.bmp" sẽ khớp với một chuỗi tên tệp của
hình thức img-001.bmp, img-002.bmp, ..., img-010.bmp, Vân vân.; mô hình
"i %% m %% g-% d.jpg" loading = "lazy" sẽ khớp với một chuỗi tên tệp của biểu mẫu i% m% g-1.jpg,
i% m% g-2.jpg, ..., i% m% g-10.jpg, Vv

Lưu ý rằng mẫu không nhất thiết phải chứa "% d" hoặc "% 0Nd ", chẳng hạn để
chuyển đổi một tệp hình ảnh duy nhất img.jpeg bạn có thể sử dụng lệnh:

ffmpeg -i img.jpeg img.png

toàn cầu
Chọn một loại mẫu ký tự đại diện hình cầu.

Mẫu này được hiểu giống như một mẫu "hình cầu ()". Điều này chỉ có thể chọn nếu
libavformat đã được biên dịch với sự hỗ trợ của Globbing.

global_sequence (không dùng nữa, sẽ be loại bỏ)
Chọn một mẫu chuỗi / ký tự đại diện toàn cầu hỗn hợp.

Nếu phiên bản libavformat của bạn được biên dịch với sự hỗ trợ toàn cầu và
mẫu đã cung cấp chứa ít nhất một ký tự meta toàn cầu trong số "% *? [] {}" nghĩa là
đứng trước "%" không thoát, mẫu được hiểu giống như mẫu "cầu nối ()",
nếu không thì nó được hiểu giống như một mẫu trình tự.

Tất cả các ký tự đặc biệt toàn cầu "% *? [] {}" Phải có tiền tố là "%". Để thoát khỏi một
chữ "%" bạn sẽ sử dụng "%%".

Ví dụ: mẫu "foo -% *. Jpeg" sẽ khớp với tất cả các tên tệp có tiền tố là
"foo-" và kết thúc bằng ".jpeg" và "foo -%?%?% ?. jpeg" sẽ khớp với tất cả các
tên tệp có tiền tố là "foo-", theo sau là một chuỗi ba ký tự và
kết thúc bằng ".jpeg".

Loại mẫu này không được dùng nữa để thay thế cho toàn cầutrình tự.

Giá trị mặc định là global_sequence.

pixel_format
Đặt định dạng pixel của hình ảnh để đọc. Nếu không được chỉ định, định dạng pixel là
đoán từ tệp hình ảnh đầu tiên trong chuỗi.

số_bắt đầu
Đặt chỉ mục của tệp phù hợp với mẫu tệp hình ảnh để bắt đầu đọc từ đó.
Giá trị mặc định là 0.

phạm vi_số_bắt đầu
Đặt phạm vi khoảng thời gian lập chỉ mục để kiểm tra khi tìm kiếm tệp hình ảnh đầu tiên trong
trình tự, bắt đầu từ số_bắt đầu. Giá trị mặc định là 5.

ts_from_file
Nếu được đặt thành 1, sẽ đặt dấu thời gian của khung thành thời gian sửa đổi của tệp hình ảnh. Lưu ý rằng
đơn nguyên của dấu thời gian không được cung cấp: hình ảnh đi theo thứ tự như không có dấu thời gian
Lựa chọn. Giá trị mặc định là 0. Nếu được đặt thành 2, sẽ đặt dấu thời gian của khung thành sửa đổi
thời gian của tệp hình ảnh với độ chính xác nano giây.

kích thước video
Đặt kích thước video của hình ảnh để đọc. Nếu không được chỉ định, kích thước video sẽ được đoán
từ tệp hình ảnh đầu tiên trong chuỗi.

Các ví dụ

· Sử dụng ffmpeg để tạo video từ các hình ảnh trong chuỗi tệp img-001.jpeg,
img-002.jpeg, ..., giả sử tốc độ khung hình đầu vào là 10 khung hình / giây:

ffmpeg -framerate 10 -i 'img-% 03d.jpeg' out.mkv

· Như trên, nhưng bắt đầu bằng cách đọc từ tệp có chỉ mục 100 theo trình tự:

ffmpeg -framerate 10 -start_number 100 -i 'img-% 03d.jpeg' out.mkv

· Đọc hình ảnh khớp với mẫu hình cầu "* .png" loading = "lazy", đó là tất cả các tệp kết thúc bằng
hậu tố ".png" loading = "lazy":

ffmpeg -framerate 10 -pattern_type global -i "* .png" loading = "lazy" out.mkv

mov / mp4 / 3gp / Quicktme
Bộ giải mã Quicktime / MP4.

Demuxer này chấp nhận các tùy chọn sau:

kích hoạt_drefs
Cho phép tải các tuyến đường bên ngoài, bị tắt theo mặc định. Kích hoạt điều này có thể
về mặt lý thuyết làm rò rỉ thông tin trong một số trường hợp sử dụng.

use_absolute_path
Cho phép tải các bản nhạc bên ngoài qua đường dẫn tuyệt đối, bị tắt theo mặc định. Cho phép
điều này gây ra rủi ro bảo mật. Nó chỉ nên được bật nếu nguồn được biết là không phải
độc hại.

mpeg
Bộ tách dòng truyền tải MPEG-2.

Demuxer này chấp nhận các tùy chọn sau:

đồng bộ lại kích thước
Đặt giới hạn kích thước để tìm kiếm đồng bộ hóa mới. Giá trị mặc định là 65536.

fix_teletext_pts
Ghi đè các giá trị PTS và DTS của gói teletext bằng các dấu thời gian được tính toán từ
PCR của chương trình đầu tiên mà luồng teletext là một phần và không bị loại bỏ.
Giá trị mặc định là 1, hãy đặt tùy chọn này thành 0 nếu bạn muốn gói tin teletext PTS và DTS của mình
giá trị không bị ảnh hưởng.

ts_packetsize
Tùy chọn đầu ra mang kích thước gói thô tính bằng byte. Hiển thị gói thô được phát hiện
kích thước, không thể được thiết lập bởi người dùng.

quét_all_pmts
Quét và kết hợp tất cả các PMT. Giá trị là một số nguyên có giá trị từ -1 đến 1 (-1 có nghĩa là
cài đặt tự động, 1 có nghĩa là được bật, 0 có nghĩa là bị vô hiệu hóa). Giá trị mặc định là -1.

video thô
Demuxer video thô.

Demuxer này cho phép một người đọc dữ liệu video thô. Vì không có tiêu đề chỉ định
các tham số video giả định, người dùng phải chỉ định chúng để có thể giải mã
dữ liệu một cách chính xác.

Demuxer này chấp nhận các tùy chọn sau:

Framerate
Đặt tốc độ khung hình video đầu vào. Giá trị mặc định là 25.

pixel_format
Đặt định dạng pixel video đầu vào. Giá trị mặc định là "yuv420p".

kích thước video
Đặt kích thước video đầu vào. Giá trị này phải được chỉ định rõ ràng.

Ví dụ để đọc một tệp rawvideo đầu vào.raw với ffplay, giả sử định dạng pixel của
"rgb24", kích thước video "320x240" và tốc độ khung hình 10 hình ảnh mỗi giây, hãy sử dụng
chỉ huy:

ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw

sbg
Trình giải mã tập lệnh SBaGen.

Demuxer này đọc ngôn ngữ script được SBaGen sử dụnghttp://uazu.net/sbagen/> đến
tạo các phiên nhịp đập hai tai. Tập lệnh SBG trông giống như sau:

-NẾU
a: 300-2.5/3 440+4.5/0
b: 300-2.5/0 440+4.5/3
tắt: -
NGAY BÂY GIỜ == a
+0: ​​07: 00 == b
+0: ​​14: 00 == a
+0: ​​21: 00 == b
+0: ​​30: 00 tắt

Tập lệnh SBG có thể kết hợp dấu thời gian tuyệt đối và tương đối. Nếu tập lệnh chỉ sử dụng
dấu thời gian tuyệt đối (bao gồm cả thời gian bắt đầu tập lệnh) hoặc chỉ những dấu thời gian tương đối, sau đó
bố cục được cố định và quá trình chuyển đổi diễn ra đơn giản. Mặt khác, nếu kịch bản
kết hợp cả hai loại dấu thời gian, sau đó NOW tham chiếu cho dấu thời gian tương đối sẽ là
được lấy từ thời điểm hiện tại trong ngày tại thời điểm tập lệnh được đọc và bố cục tập lệnh
sẽ được đóng băng theo tham chiếu đó. Điều đó có nghĩa là nếu tập lệnh trực tiếp
đã phát, thời gian thực tế sẽ khớp với dấu thời gian tuyệt đối cho đến bộ điều khiển âm thanh
độ chính xác của đồng hồ, nhưng nếu người dùng bằng cách nào đó tạm dừng phát lại hoặc tìm kiếm, mọi lúc sẽ
dịch chuyển tương ứng.

chú thích
Phụ đề JSON được sử dụng chohttp://www.ted.com/>.

TED không cung cấp liên kết đến phụ đề, nhưng chúng có thể được đoán từ trang. Các
hồ sơ tools / bookmarklets.html từ cây nguồn FFmpeg chứa một bookmarklet để hiển thị
Chúng.

Demuxer này chấp nhận tùy chọn sau:

thời gian bắt đầu
Đặt thời gian bắt đầu cuộc nói chuyện TED, tính bằng mili giây. Giá trị mặc định là 15000 (15 giây). Nó là
được sử dụng để đồng bộ hóa phụ đề với video có thể tải xuống vì chúng bao gồm 15 giây
phần giới thiệu.

Ví dụ: chuyển đổi phụ đề sang định dạng mà hầu hết người chơi hiểu:

ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt

MUXER


Muxers là các phần tử được định cấu hình trong FFmpeg cho phép ghi các luồng đa phương tiện vào một
loại tệp cụ thể.

Khi bạn định cấu hình bản dựng FFmpeg của mình, tất cả các bộ trộn được hỗ trợ đều được bật theo mặc định. Bạn
có thể liệt kê tất cả các muxers có sẵn bằng cách sử dụng tùy chọn cấu hình "--list-muxers".

Bạn có thể vô hiệu hóa tất cả các muxers bằng tùy chọn cấu hình "--disable-muxers" và
bật / tắt có chọn lọc các muxers đơn lẻ với các tùy chọn "--enable-muxer =MUXER " /
"--disable-muxer =MUXER ".

Tùy chọn "-formats" của các công cụ ff * sẽ hiển thị danh sách các bộ trộn được kích hoạt.

Sau đây là mô tả về một số muxers hiện có sẵn.

oof
Định dạng tệp trao đổi âm thanh muxer.

Các lựa chọn

Nó chấp nhận các tùy chọn sau:

viết_id3v2
Bật tính năng ghi thẻ ID3v2 khi được đặt thành 1. Mặc định là 0 (bị tắt).

id3v2_version
Chọn phiên bản ID3v2 để viết. Hiện tại chỉ có phiên bản 3 và 4 (còn gọi là. ID3v2.3 và
ID3v2.4) được hỗ trợ. Mặc định là phiên bản 4.

CRC
Định dạng kiểm tra CRC (Kiểm tra dự phòng theo chu kỳ).

Máy trộn này sẽ tính toán và in Adler-32 CRC của tất cả các khung hình âm thanh và video đầu vào.
Theo mặc định, các khung âm thanh được chuyển đổi thành âm thanh thô 16 bit đã ký và khung video thành thô
video trước khi tính toán CRC.

Đầu ra của muxer bao gồm một dòng duy nhất có dạng: CRC = 0xCRC, Nơi CRC là một
số thập lục phân 0 được đệm thành 8 chữ số chứa CRC cho tất cả đầu vào được giải mã
khung.

Xem thêm khungcrc người nấu ăn.

Các ví dụ

Ví dụ để tính CRC của đầu vào và lưu trữ nó trong tệp ra.crc:

ffmpeg -i INPUT -f crc out.crc

Bạn có thể in CRC ra stdout bằng lệnh:

ffmpeg -i INPUT -f crc -

Bạn có thể chọn định dạng đầu ra của mỗi khung hình với ffmpeg bằng cách chỉ định âm thanh và
codec và định dạng video. Ví dụ để tính CRC của âm thanh đầu vào được chuyển đổi thành PCM
8-bit không dấu và video đầu vào được chuyển đổi thành video MPEG-2, sử dụng lệnh:

ffmpeg -i INPUT -c: a pcm_u8 -c: v mpeg2video -f crc -

khungcrc
Định dạng kiểm tra CRC (Kiểm tra dự phòng theo chu kỳ) trên mỗi gói.

Máy trộn này sẽ tính toán và in Adler-32 CRC cho mỗi gói âm thanh và video. Qua
khung âm thanh mặc định được chuyển đổi thành khung âm thanh thô 16-bit đã ký và khung video thành thô
video trước khi tính toán CRC.

Đầu ra của muxer bao gồm một dòng cho mỗi gói âm thanh và video có dạng:

, , , , , 0x

CRC là một số thập lục phân 0 được đệm thành 8 chữ số chứa CRC của gói tin.

Các ví dụ

Ví dụ để tính CRC của khung âm thanh và video trong ĐẦU VÀO, được chuyển đổi thành thô
gói âm thanh và video và lưu trữ nó trong tệp ra.crc:

ffmpeg -i INPUT -f framecrc out.crc

Để in thông tin ra stdout, hãy sử dụng lệnh:

ffmpeg -i INPUT -f framecrc -

Với ffmpeg, bạn có thể chọn định dạng đầu ra cho khung âm thanh và video
được mã hóa trước khi tính toán CRC cho mỗi gói bằng cách chỉ định codec âm thanh và video.
Ví dụ: để tính CRC của mỗi khung âm thanh đầu vào được giải mã được chuyển đổi thành PCM
8-bit không dấu và mỗi khung video đầu vào được giải mã được chuyển đổi thành video MPEG-2, sử dụng
chỉ huy:

ffmpeg -i INPUT -c: a pcm_u8 -c: v mpeg2video -f framecrc -

Xem thêm CRC người nấu ăn.

khungmd5
Định dạng thử nghiệm MD5 trên mỗi gói.

Muxer này tính toán và in mã băm MD5 cho mỗi gói âm thanh và video. Theo mặc định
khung âm thanh được chuyển đổi sang khung hình video và âm thanh thô 16-bit đã ký thành video thô trước đó
tính toán băm.

Đầu ra của muxer bao gồm một dòng cho mỗi gói âm thanh và video có dạng:

, , , , ,

MD5 là một số thập lục phân đại diện cho hàm băm MD5 được tính toán cho gói tin.

Các ví dụ

Ví dụ để tính MD5 của khung âm thanh và video trong ĐẦU VÀO, được chuyển đổi thành thô
gói âm thanh và video và lưu trữ nó trong tệp ra.md5:

ffmpeg -i INPUT -f framemd5 out.md5

Để in thông tin ra stdout, hãy sử dụng lệnh:

ffmpeg -i INPUT -f framemd5 -

Xem thêm md5 người nấu ăn.

gif
Ảnh động GIF muxer.

Nó chấp nhận các tùy chọn sau:

vòng lặp
Đặt số lần lặp lại đầu ra. Sử dụng "-1" để không lặp lại, 0 để lặp lại
vô thời hạn (mặc định).

cuối cùng_delay
Buộc độ trễ (tính bằng centi giây) sau khung hình cuối cùng. Mỗi khung hình kết thúc bằng
độ trễ cho đến khung hình tiếp theo. Giá trị mặc định là "-1", là một giá trị đặc biệt để cho biết
muxer để sử dụng lại độ trễ trước đó. Trong trường hợp có vòng lặp, bạn có thể muốn tùy chỉnh
giá trị này để đánh dấu thời gian tạm dừng chẳng hạn.

Ví dụ: để mã hóa một vòng lặp gif 10 lần, với độ trễ 5 giây giữa các vòng lặp:

ffmpeg -i INPUT -vòng lặp 10 -final_delay 500 đầu ra.gif

Lưu ý 1: nếu bạn muốn trích xuất các khung hình trong các tệp GIF riêng biệt, bạn cần buộc
image2 máy nghiền:

ffmpeg -i INPUT -c: v gif -f image2 "out% d.gif"

Lưu ý 2: định dạng GIF có cơ sở thời gian rất nhỏ: độ trễ giữa hai khung hình không thể
nhỏ hơn một centi giây.

hls
Apple HTTP Live Streaming muxer phân đoạn MPEG-TS theo HTTP Live Streaming
(HLS) đặc điểm kỹ thuật.

Nó tạo một tệp danh sách phát và một hoặc nhiều tệp phân đoạn. Tên tệp đầu ra chỉ định
tên tệp danh sách phát.

Theo mặc định, muxer tạo một tệp cho mỗi phân đoạn được tạo. Các tệp này có cùng
đặt tên là danh sách phát, theo sau là một số tuần tự và một phần mở rộng .ts.

Ví dụ: để chuyển đổi một tệp đầu vào với ffmpeg:

ffmpeg -i in.nut out.m3u8

Ví dụ này sẽ tạo danh sách phát, ra.m3u8và phân đoạn tệp: out0.ts, out1.ts,
out2.ts, Vv

Xem thêm phân khúc muxer, cung cấp triển khai chung và linh hoạt hơn
phân đoạn, và có thể được sử dụng để thực hiện phân đoạn HLS.

Các lựa chọn

Muxer này hỗ trợ các tùy chọn sau:

hls_time giây
Đặt độ dài đoạn tính bằng giây. Giá trị mặc định là 2.

hls_list_size kích thước
Đặt số lượng mục nhập danh sách phát tối đa. Nếu được đặt thành 0, tệp danh sách sẽ chứa tất cả
các phân đoạn. Giá trị mặc định là 5.

hls_ts_options tùy chọn_list
Đặt các tùy chọn định dạng đầu ra bằng cách sử dụng danh sách: -separated các tham số key = value. Giá trị
có chứa các ký tự đặc biệt ":" phải được thoát ra.

hls_wrap bọc
Đặt số sau đó là số tên tệp phân đoạn (số được chỉ định trong mỗi
tệp phân đoạn) kết thúc. Nếu được đặt thành 0, số sẽ không bao giờ được bao bọc. Giá trị mặc định là 0.

Tùy chọn này hữu ích để tránh làm đầy đĩa với nhiều tệp phân đoạn và giới hạn
số lượng tệp phân đoạn tối đa được ghi vào đĩa bọc.

số_bắt đầu con số
Bắt đầu số thứ tự của danh sách phát từ con số. Giá trị mặc định là 0.

hls_allow_cache cho phép bộ đệm
Đặt rõ ràng liệu khách hàng CÓ THỂ \fIs0(1) hoặc PHẢI KHÔNG \fIs0(0) phương tiện bộ nhớ cache
phân đoạn.

hls_base_url bazơ
Nối bazơ cho mọi mục nhập trong danh sách phát. Hữu ích để tạo danh sách phát với
các đường dẫn tuyệt đối.

Lưu ý rằng số thứ tự của danh sách phát phải là duy nhất cho mỗi phân đoạn và nó không phải là
bị nhầm lẫn với số thứ tự tên tệp phân đoạn có thể theo chu kỳ, đối với
ví dụ nếu bọc tùy chọn được chỉ định.

hls_segment_filename tên tập tin
Đặt tên tệp phân đoạn. Trừ khi hls_flags single_file được đặt tên tập tin được sử dụng như một
định dạng chuỗi với số phân đoạn:

ffmpeg in.nut -hls_segment_filename 'file% 03d.ts' out.m3u8

Ví dụ này sẽ tạo danh sách phát, ra.m3u8và phân đoạn tệp: tệp000.ts,
tệp001.ts, tệp002.ts, Vv

hls_key_info_file key_info_file
Sử dụng thông tin trong key_info_file để mã hóa phân đoạn. Dòng đầu tiên của
key_info_file chỉ định URI chính được ghi vào danh sách phát. URL chính được sử dụng để
truy cập vào khóa mã hóa trong khi phát lại. Dòng thứ hai chỉ định đường dẫn đến
tệp khóa được sử dụng để lấy khóa trong quá trình mã hóa. Tệp khóa được đọc là
một mảng được đóng gói duy nhất gồm 16 octet ở định dạng nhị phân. Dòng thứ ba tùy chọn chỉ định
vectơ khởi tạo (IV) dưới dạng một chuỗi thập lục phân được sử dụng thay vì
số thứ tự phân đoạn (mặc định) để mã hóa. Thay đổi key_info_file sẽ kết quả
trong mã hóa phân đoạn với khóa mới / IV và một mục nhập trong danh sách phát cho khóa mới
URI / IV.

Định dạng tệp thông tin chính:



(không bắt buộc)

Các URI khóa mẫu:

http://server/file.key
/path/to/file.key
tập tin.key

Ví dụ về đường dẫn tệp chính:

tập tin.key
/path/to/file.key

Ví dụ IV:

0123456789ABCDEF0123456789ABCDEF

Ví dụ về tệp thông tin chính:

http://server/file.key
/path/to/file.key
0123456789ABCDEF0123456789ABCDEF

Tập lệnh shell ví dụ:

#!/ 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 testsrc -c: v h264 -hls_flags delete_searies \
-hls_key_info_file file.keyinfo out.m3u8

hls_flags tập tin đơn
Nếu cờ này được đặt, trình trộn sẽ lưu trữ tất cả các phân đoạn trong một tệp MPEG-TS và
sẽ sử dụng phạm vi byte trong danh sách phát. Danh sách phát HLS được tạo bằng cách này sẽ có
phiên bản số 4. Ví dụ:

ffmpeg -i in.nut -hls_flags single_file out.m3u8

Sẽ tạo danh sách phát, ra.m3u8và một tệp phân đoạn duy nhất, ra.ts.

hls_flags delete_segment
Các tệp phân đoạn bị xóa khỏi danh sách phát sẽ bị xóa sau một khoảng thời gian bằng
thời lượng của phân đoạn cộng với thời lượng của danh sách phát.

ico
ICO tệp muxer.

Định dạng tệp biểu tượng của Microsoft (ICO) có một số hạn chế nghiêm ngặt cần lưu ý:

· Kích thước không được vượt quá 256 pixel ở bất kỳ kích thước nào

· Chỉ có thể lưu trữ hình ảnh BMP và PNG

· Nếu hình ảnh BMP được sử dụng, nó phải là một trong các định dạng pixel sau:

Độ sâu bit BMP Định dạng điểm ảnh FFmpeg
1 bit pal8
4 bit pal8
8 bit pal8
16bit rgb555le
24 bit bgr24
32 bit bgra

· Nếu hình ảnh BMP được sử dụng, nó phải sử dụng tiêu đề BITMAPINFOHEADER DIB

· Nếu sử dụng hình ảnh PNG, nó phải sử dụng định dạng pixel rgba

image2
Tệp hình ảnh muxer.

Tập tin hình ảnh muxer ghi các khung hình video vào các tập tin hình ảnh.

Tên tệp đầu ra được chỉ định bởi một mẫu, có thể được sử dụng để tạo tuần tự
loạt tệp được đánh số. Mẫu có thể chứa chuỗi "% d" hoặc "% 0Nd ", chuỗi này
chỉ định vị trí của các ký tự đại diện cho một số trong tên tệp. Nếu
dạng "% 0Nd "được sử dụng, chuỗi đại diện cho số trong mỗi tên tệp là 0 được đệm thành N
các chữ số. Ký tự chữ '%' có thể được chỉ định trong mẫu với chuỗi "%%".

Nếu mẫu chứa "% d" hoặc "% 0Nd ", tên tệp đầu tiên của danh sách tệp được chỉ định sẽ
chứa số 1, tất cả các số sau sẽ theo thứ tự.

Mẫu có thể chứa một hậu tố được sử dụng để tự động xác định định dạng của
các tệp hình ảnh để viết.

Ví dụ: mẫu "img-% 03d.bmp" sẽ chỉ định một chuỗi tên tệp của biểu mẫu
img-001.bmp, img-002.bmp, ..., img-010.bmp, v.v. Mẫu "img %% -% d.jpg" loading = "lazy" sẽ chỉ định
một chuỗi tên tệp của biểu mẫu img% -1.jpg, img% -2.jpg, ..., img% -10.jpg, Vv

Các ví dụ

Ví dụ sau đây cho thấy cách sử dụng ffmpeg để tạo một chuỗi các tệp
img-001.jpeg, img-002.jpeg, ..., cứ mỗi giây lấy một hình ảnh từ video đầu vào:

ffmpeg -i in.avi -vsync 1 -r 1 -f image2 'img-% 03d.jpeg'

Lưu ý rằng với ffmpeg, nếu định dạng không được chỉ định với tùy chọn "-f" và đầu ra
tên tệp chỉ định một định dạng tệp hình ảnh, image2 muxer được tự động chọn, vì vậy
lệnh trước đó có thể được viết là:

ffmpeg -i in.avi -vsync 1 -r 1 'img-% 03d.jpeg'

Cũng lưu ý rằng mẫu không nhất thiết phải chứa "% d" hoặc "% 0Nd ", chẳng hạn để
tạo một tệp hình ảnh duy nhất img.jpeg từ video đầu vào, bạn có thể sử dụng lệnh:

ffmpeg -i in.avi -f image2 -frames: v 1 img.jpeg

thời gian căng thẳng tùy chọn cho phép bạn mở rộng tên tệp với thông tin ngày và giờ.
Kiểm tra tài liệu của hàm "strftime ()" để biết cú pháp.

Ví dụ: để tạo tệp hình ảnh từ mẫu "strftime ()" "% Y-% m-% d_% H-% M-% S",
tiếp theo ffmpeg lệnh có thể được sử dụng:

ffmpeg -f v4l2 -r 1 -i / dev / video0 -f image2 -strftime 1 "% Y-% m-% d_% H-% M-% S.jpg"

Các lựa chọn

số_bắt đầu
Bắt đầu chuỗi từ số được chỉ định. Giá trị mặc định là 0.

cập nhật
Nếu được đặt thành 1, tên tệp sẽ luôn được hiểu chỉ là tên tệp, không phải
và tệp tương ứng sẽ liên tục được ghi đè bằng các hình ảnh mới.
Giá trị mặc định là 0.

thời gian căng thẳng
Nếu được đặt thành 1, hãy mở rộng tên tệp với thông tin ngày và giờ từ "strftime ()".
Giá trị mặc định là 0.

Hình ảnh muxer hỗ trợ định dạng tệp hình ảnh .YUV. Định dạng này đặc biệt ở chỗ
mỗi khung hình ảnh bao gồm ba tệp, cho mỗi thành phần YUV420P. Để đọc hoặc
ghi định dạng tệp hình ảnh này, chỉ định tên của tệp '.Y'. Muxer sẽ
tự động mở các tệp '.U' và '.V' theo yêu cầu.

matroska
Máy nghiền thùng Matroska.

Muxer này triển khai các thông số kỹ thuật của vùng chứa matroska và webm.

Siêu dữ liệu

Các cài đặt siêu dữ liệu được công nhận trong muxer này là:

tiêu đề
Đặt tên tiêu đề được cung cấp cho một bản nhạc.

Ngôn ngữ
Chỉ định ngôn ngữ của bản nhạc trong biểu mẫu ngôn ngữ Matroska.

Ngôn ngữ có thể là dạng thư mục 3 chữ cái ISO-639-2 (ISO 639-2 / B)
(như "fre" đối với tiếng Pháp) hoặc mã ngôn ngữ kết hợp với mã quốc gia cho các chuyên ngành
bằng các ngôn ngữ (như "fre-ca" cho tiếng Pháp của Canada).

chế độ âm thanh nổi
Đặt bố cục video 3D âm thanh nổi của hai chế độ xem trong một bản nhạc video.

Các giá trị sau được công nhận:

mono
video không phải là âm thanh nổi

trái phải
Cả hai chế độ xem được sắp xếp cạnh nhau, Chế độ xem bằng mắt trái ở bên trái

dưới_đỉnh
Cả hai chế độ xem đều được sắp xếp theo hướng từ trên xuống dưới, Chế độ xem bằng mắt trái ở dưới cùng

trên_dưới
Cả hai chế độ xem đều được sắp xếp theo hướng từ trên xuống dưới, Chế độ xem bằng mắt trái ở trên cùng

bàn cờ_rl
Mỗi chế độ xem được sắp xếp theo mô hình xen kẽ bàn cờ, Chế độ xem bằng mắt trái là
Thành phố điện khí hóa phía tây dãy núi Rocky đầu tiên

bàn cờ_lr
Mỗi chế độ xem được sắp xếp theo mô hình xen kẽ bàn cờ, Chế độ xem bằng mắt phải là
Thành phố điện khí hóa phía tây dãy núi Rocky đầu tiên

row_interleaved_rl
Mỗi chế độ xem được tạo thành bởi sự đan xen dựa trên hàng, Chế độ xem bằng mắt phải là hàng đầu tiên

row_interleaved_lr
Mỗi chế độ xem được tạo thành bởi sự đan xen dựa trên hàng, Chế độ xem bằng mắt trái là hàng đầu tiên

col_interleaved_rl
Cả hai chế độ xem được sắp xếp theo cách đan xen dựa trên cột, Chế độ xem bằng mắt phải là
Cột đầu tiên

col_interleaved_lr
Cả hai chế độ xem được sắp xếp theo cách đan xen dựa trên cột, Chế độ xem bằng mắt trái là
Cột đầu tiên

anaglyph_cyan_red
Tất cả các khung hình đều ở định dạng anaglyph có thể xem được thông qua các bộ lọc màu lục lam đỏ

phải trái
Cả hai chế độ xem được sắp xếp cạnh nhau, Chế độ xem bằng mắt phải ở bên trái

anaglyph_green_magenta
Tất cả các khung hình ở định dạng anaglyph có thể xem được thông qua các bộ lọc màu xanh lá cây-đỏ tươi

khối_lr
Cả hai mắt kết hợp trong một khối, Chế độ xem bằng mắt trái là đầu tiên

khối_rl
Cả hai mắt kết hợp trong một khối, Chế độ xem bằng mắt phải là trên hết

Ví dụ, một clip 3D WebM có thể được tạo bằng dòng lệnh sau:

ffmpeg -i sample_left_right_clip.mpg -an -c: v libvpx -metadata stereo_mode = left_right -y stereo_clip.webm

Các lựa chọn

Muxer này hỗ trợ các tùy chọn sau:

Reserve_index_space
Theo mặc định, muxer này viết chỉ mục để tìm kiếm (được gọi là gợi ý trong thuật ngữ Matroska) tại
phần cuối của tệp, bởi vì nó không thể biết trước bao nhiêu dung lượng còn lại cho
chỉ mục ở đầu tệp. Tuy nhiên đối với một số trường hợp sử dụng - ví dụ: phát trực tuyến
nơi có thể tìm kiếm nhưng chậm - rất hữu ích khi đặt chỉ mục ở đầu
của tệp.

Nếu tùy chọn này được đặt thành giá trị khác XNUMX, muxer sẽ đặt trước một lượng
khoảng trống trong tiêu đề tệp và sau đó cố gắng viết các dấu hiệu ở đó khi trộn
kết thúc. Nếu không gian có sẵn không đủ, trộn sẽ không thành công. Một kích thước an toàn cho
hầu hết các trường hợp sử dụng phải là khoảng 50kB mỗi giờ video.

Lưu ý rằng các dấu hiệu chỉ được viết nếu đầu ra có thể tìm kiếm được và tùy chọn này sẽ không có
hiệu lực nếu nó không phải là.

md5
Định dạng thử nghiệm MD5.

Muxer này tính toán và in mã băm MD5 của tất cả các khung hình âm thanh và video đầu vào. Qua
khung âm thanh mặc định được chuyển đổi thành khung âm thanh thô 16-bit đã ký và khung video thành thô
video trước khi tính toán băm.

Đầu ra của muxer bao gồm một dòng duy nhất có dạng: MD5 =MD5, Nơi MD5 là một
số thập lục phân đại diện cho băm MD5 được tính toán.

Ví dụ để tính toán băm MD5 của đầu vào được chuyển đổi thành âm thanh và video thô, và
lưu trữ nó trong tệp ra.md5:

ffmpeg -i INPUT -f md5 out.md5

Bạn có thể in MD5 ra stdout bằng lệnh:

ffmpeg -i INPUT -f md5 -

Xem thêm khungmd5 người nấu ăn.

di chuyển, mp4, ismv
MOV / MP4 / ISMV (Truyền phát mượt mà).

Muxer mov / mp4 / ismv hỗ trợ phân mảnh. Thông thường, một tệp MOV / MP4 có tất cả các
siêu dữ liệu về tất cả các gói được lưu trữ ở một vị trí (được viết ở cuối tệp, nó có thể
được chuyển đến đầu để phát lại tốt hơn bằng cách thêm bắt đầu nhanh đến cờ di chuyển, hoặc sử dụng
các qt-khởi động nhanh dụng cụ). Một tệp bị phân mảnh bao gồm một số đoạn, trong đó các gói
và siêu dữ liệu về các gói này được lưu trữ cùng nhau. Viết một tệp bị phân mảnh có
lợi thế là tệp có thể giải mã được ngay cả khi việc ghi bị gián đoạn (trong khi bình thường
MOV / MP4 không thể giải mã được nếu nó không được kết thúc đúng cách) và nó yêu cầu ít bộ nhớ hơn khi
viết các tệp rất dài (vì việc viết các tệp MOV / MP4 thông thường sẽ lưu trữ thông tin về mọi
gói trong bộ nhớ cho đến khi tệp được đóng). Nhược điểm là nó ít tương thích
với các ứng dụng khác.

Các lựa chọn

Phân mảnh được bật bằng cách đặt một trong các AVOptions xác định cách cắt tệp
thành các mảnh:

-moov_size byte
Dành không gian cho nguyên tử moov ở đầu tệp thay vì đặt
nguyên tử moov ở cuối. Nếu không gian dành riêng không đủ, quá trình trộn sẽ không thành công.

-movflags frag_keyframe
Bắt đầu một phân đoạn mới ở mỗi khung hình chính video.

-frag_duration thời gian
Tạo các đoạn thời gian dài micro giây.

-frag_size kích thước
Tạo các đoạn có chứa tối đa kích thước byte dữ liệu trọng tải.

-movflags frag_custom
Cho phép người gọi chọn thủ công thời điểm cắt các mảnh bằng cách gọi
"av_write_frame (ctx, NULL)" để viết một đoạn với các gói được viết cho đến nay. (Cái này
chỉ hữu ích với các ứng dụng khác tích hợp libavformat, không phải từ ffmpeg.)

-min_frag_duration thời gian
Không tạo các đoạn ngắn hơn thời gian dài micro giây.

Nếu nhiều hơn một điều kiện được chỉ định, các đoạn sẽ bị cắt khi một trong các điều kiện được chỉ định
điều kiện được đáp ứng. Ngoại lệ cho điều này là "-min_frag_duration", phải là
đáp ứng bất kỳ điều kiện nào khác để áp dụng.

Ngoài ra, cách tệp đầu ra được ghi có thể được điều chỉnh thông qua một số
lựa chọn:

-movflags void_moov
Viết một nguyên tử moov ban đầu trực tiếp vào đầu tệp, không mô tả bất kỳ
mẫu trong đó. Nói chung, một cặp mdat / moov được viết ở đầu tệp, dưới dạng
tệp MOV / MP4 bình thường, chỉ chứa một phần ngắn của tệp. Với tùy chọn này
thiết lập, không có nguyên tử mdat ban đầu và nguyên tử moov chỉ mô tả các bản nhạc nhưng
có thời hạn bằng không.

Tùy chọn này được đặt ngầm khi ghi tệp ismv (Truyền trực tuyến mượt mà).

-movflags riêng biệt
Viết một nguyên tử moof (đoạn phim) riêng biệt cho mỗi bản nhạc. Thông thường, các gói cho tất cả
các bản nhạc được viết bằng nguyên tử moof (hiệu quả hơn một chút), nhưng với điều này
bộ tùy chọn, muxer viết một cặp moof / mdat cho mỗi bản nhạc, giúp dễ dàng hơn
các bản nhạc riêng biệt.

Tùy chọn này được đặt ngầm khi ghi tệp ismv (Truyền trực tuyến mượt mà).

-movflags bắt đầu nhanh
Chạy một đoạn thứ hai để di chuyển chỉ mục (nguyên tử moov) đến đầu tệp. Cái này
hoạt động có thể mất một lúc và sẽ không hoạt động trong các tình huống khác nhau, chẳng hạn như bị phân mảnh
đầu ra, do đó nó không được kích hoạt theo mặc định.

-movflags rtphint
Thêm các bản nhạc gợi ý RTP vào tệp đầu ra.

-movflags vô hiệu hóa_chpl
Tắt đánh dấu chương Nero (nguyên tử chpl). Thông thường, cả hai chương Nero và một
Theo dõi chương QuickTime được ghi vào tệp. Với tùy chọn này được đặt, chỉ
Phần theo dõi chương QuickTime sẽ được viết. Các chương Nero có thể gây ra lỗi khi
tệp được xử lý lại bằng các chương trình gắn thẻ nhất định, như mp3Tag 2.61a và iTunes 11.3,
rất có thể các phiên bản khác cũng bị ảnh hưởng.

-movflags bỏ qua_tfhd_offset
Không viết bất kỳ tập hợp cơ sở dữ liệu tuyệt đối nào trong các nguyên tử tfhd. Điều này tránh buộc các mảnh vỡ
đến các vị trí byte tuyệt đối trong tệp / luồng.

-movflags mặc định_base_moof
Tương tự như omit_tfhd_offset, cờ này tránh ghi giá trị tuyệt đối
trường base_data_offset trong nguyên tử tfhd, nhưng làm như vậy bằng cách sử dụng default-base-is- mới
thay vào đó là cờ moof. Cờ này là mới từ 14496-12: 2012. Điều này có thể làm cho các mảnh vỡ
dễ dàng hơn để phân tích cú pháp trong một số trường hợp nhất định (tránh vị trí phân đoạn theo dõi cơ sở
tính toán về phần cuối ngầm định của đoạn đường trước đó).

Ví dụ

Nội dung phát trực tuyến mượt mà có thể được đẩy trong thời gian thực đến điểm xuất bản trên IIS với điều này
người nấu ăn. Thí dụ:

ffmpeg -re < > -movflags isml + frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Bộ mã hóa1)

Nghe được AAX

Các tệp AAX có thể nghe được là các tệp M4B được mã hóa và chúng có thể được giải mã bằng cách chỉ định 4
bí mật kích hoạt byte.

ffmpeg -activation_bytes 1CEB00DA -i test.aax -vn -c: một bản sao đầu ra.mp4

mp3
MP3 muxer ghi một luồng MP3 thô với các tính năng tùy chọn sau:

· Một tiêu đề siêu dữ liệu ID3v2 ở đầu (được bật theo mặc định). Phiên bản 2.3 và 2.4
được hỗ trợ, tùy chọn riêng tư "id3v2_version" kiểm soát tùy chọn nào được sử dụng (3 hoặc 4).
Đặt "id3v2_version" thành 0 sẽ tắt hoàn toàn tiêu đề ID3v2.

Muxer hỗ trợ ghi ảnh đính kèm (khung APIC) vào tiêu đề ID3v2. Các
hình ảnh được cung cấp cho muxer dưới dạng một luồng video với một gói duy nhất.
Có thể có bất kỳ số lượng luồng nào trong số các luồng đó, mỗi luồng sẽ tương ứng với một khung APIC.
Các thẻ siêu dữ liệu luồng tiêu đềbình luận bản đồ tới APIC Mô tảhình ảnh kiểu
tương ứng. Nhìn thấyhttp://id3.org/id3v2.4.0-frames> cho các loại hình ảnh được phép.

Lưu ý rằng các khung APIC phải được viết ở đầu, do đó, muxer sẽ đệm
khung âm thanh cho đến khi nó nhận được tất cả các hình ảnh. Do đó, chúng tôi khuyên bạn nên cung cấp
hình ảnh càng sớm càng tốt để tránh quá nhiều bộ đệm.

· Khung Xing / LAME ngay sau tiêu đề ID3v2 (nếu có). Nó được bật theo mặc định,
nhưng sẽ chỉ được viết nếu đầu ra có thể tìm kiếm được. Tùy chọn riêng tư "write_xing"
có thể được sử dụng để vô hiệu hóa nó. Khung chứa nhiều thông tin có thể hữu ích
tới bộ giải mã, chẳng hạn như thời lượng âm thanh hoặc độ trễ của bộ mã hóa.

· Một thẻ ID3v1 kế thừa ở cuối tệp (bị tắt theo mặc định). Nó có thể được kích hoạt
với tùy chọn riêng tư "write_id3v1", nhưng vì khả năng của nó rất hạn chế,
cách sử dụng không được khuyến khích.

Ví dụ:

Viết mp3 với đầu trang ID3v2.3 và chân trang ID3v1:

ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 ra.mp3

Để đính kèm hình ảnh vào tệp mp3, hãy chọn cả âm thanh và luồng hình ảnh với
"bản đồ":

ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1
-metadata: s: v title = "Bìa album" -metadata: s: v comment = "Bìa (Mặt trước)" out.mp3

Viết một bản MP3 "sạch" mà không có bất kỳ tính năng bổ sung nào:

ffmpeg -i input.wav -write_xing 0 -id3v2_version 0 out.mp3

mpeg
Bộ tạo luồng vận chuyển MPEG.

Muxer này thực hiện ISO 13818-1 và một phần của ETSI EN 300 468.

Các cài đặt siêu dữ liệu được công nhận trong mpegts muxer là "service_provider" và
"Tên dịch vụ". Nếu chúng không được đặt, giá trị mặc định cho "service_provider" là "FFmpeg" và
mặc định cho "service_name" là "Service01".

Các lựa chọn

Các tùy chọn muxer là:

-mpegts_ original_network_id con số
Đặt original_network_id (mặc định 0x0001). Đây là mã định danh duy nhất của một mạng
trong DVB. Công dụng chính của nó là nhận dạng duy nhất một dịch vụ thông qua đường dẫn
Original_Network_ID, Transport_Stream_ID.

-mpegts_transport_stream_id con số
Đặt transport_stream_id (mặc định 0x0001). Điều này xác định một bộ phát đáp trong DVB.

-mpegts_service_id con số
Đặt service_id (mặc định 0x0001) còn được gọi là chương trình trong DVB.

-mpegts_service_type con số
Đặt service_type chương trình (mặc định TV kỹ thuật số), xem bên dưới danh sách các
các giá trị.

-mpegts_pmt_start_pid con số
Đặt PID đầu tiên cho PMT (mặc định 0x1000, tối đa 0x1f00).

-mpegts_start_pid con số
Đặt PID đầu tiên cho các gói dữ liệu (mặc định 0x0100, tối đa 0x0f00).

-mpegts_m2ts_mode con số
Bật chế độ m2ts nếu được đặt thành 1. Giá trị mặc định là -1 sẽ tắt chế độ m2ts.

-muxrate con số
Đặt một muxrate không đổi (VBR mặc định).

-pcr_thời gian số
Ghi đè thời gian truyền lại PCR mặc định (20ms mặc định), bỏ qua nếu biến
muxrate được chọn.

tuần_thời con số
Thời gian tối đa tính bằng giây giữa các bảng PAT / PMT.

sdt_thời gian con số
Thời gian tối đa tính bằng giây giữa các bảng SDT.

-pes_payload_size con số
Đặt trọng tải gói PES tối thiểu tính bằng byte.

-mpegts_flags cờ
Đặt cờ (xem bên dưới).

-mpegts_copyts con số
Giữ nguyên dấu thời gian ban đầu, nếu giá trị được đặt thành 1. Giá trị mặc định là -1, kết quả là
trong việc thay đổi dấu thời gian để chúng bắt đầu từ 0.

-tables_version con số
Đặt phiên bản PAT, PMT và SDT (mặc định là 0, các giá trị hợp lệ là từ 0 đến 31, bao gồm).
Tùy chọn này cho phép cập nhật cấu trúc luồng để người tiêu dùng tiêu chuẩn có thể phát hiện ra
thay đổi. Để làm như vậy, hãy mở lại AVFormatContext đầu ra (trong trường hợp sử dụng API) hoặc khởi động lại
trường hợp ffmpeg, thay đổi theo chu kỳ giá trị table_version:

ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp: //1.1.1.1: 1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp: //1.1.1.1: 1111
...
ffmpeg -i source3.ts -codec copy -f mpegts -tables_version 31 udp: //1.1.1.1: 1111
ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp: //1.1.1.1: 1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp: //1.1.1.1: 1111
...

Tùy chọn mpegts_service_type chấp nhận các giá trị sau:

giá trị hex
Bất kỳ giá trị thập lục phân nào trong khoảng từ 0x01 đến 0xff như được định nghĩa trong ETSI 300 468.

TV kỹ thuật số
Dịch vụ truyền hình kỹ thuật số.

Đài phát thanh kỹ thuật số
Dịch vụ Radio kỹ thuật số.

điện thoại
Dịch vụ Teletext.

nâng cao_codec_digital_radio
Dịch vụ Radio kỹ thuật số Codec nâng cao.

mpeg2_digital_hdtv
Dịch vụ HDTV kỹ thuật số MPEG2.

nâng cao_codec_digital_sdtv
Dịch vụ Codec Digital SDTV nâng cao.

nâng cao_codec_digital_hdtv
Dịch vụ HDTV kỹ thuật số Codec nâng cao.

Tùy chọn mpegts_flags có thể lấy một tập hợp các cờ như vậy:

retnd_headers
Nạp lại PAT / PMT trước khi viết gói tiếp theo.

vĩ độ
Sử dụng tạo nhịp độ LATM cho AAC.

pat_pmt_at_frames
Lấy lại PAT và PMT ở mỗi khung hình video.

Ví dụ

ffmpeg -i file.mpg -c sao chép \
-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 = "Một số nhà cung cấp" \
-metadata service_name = "Một số kênh" \
-y ra.ts

, mxf_d10
bộ trộn MXF.

Các lựa chọn

Các tùy chọn muxer là:

store_user_comments bool
Đặt xem nhận xét của người dùng nên được lưu trữ nếu có hoặc không bao giờ. IRT D-10 không cho phép
ý kiến ​​người sử dụng. Do đó, mặc định là viết chúng cho mxf nhưng không phải cho mxf_d10

vô giá trị
Máy trộn không có giá trị.

Muxer này không tạo ra bất kỳ tệp đầu ra nào, nó chủ yếu hữu ích cho việc kiểm tra hoặc
mục đích điểm chuẩn.

Ví dụ để giải mã điểm chuẩn với ffmpeg bạn có thể sử dụng lệnh:

ffmpeg -benchmark -i INPUT -f null out.null

Lưu ý rằng lệnh trên không đọc hoặc ghi ra.null tệp, nhưng chỉ định
tệp đầu ra được yêu cầu bởi ffmpeg cú pháp.

Ngoài ra, bạn có thể viết lệnh dưới dạng:

ffmpeg -điểm chuẩn -i INPUT -f null -

hạt
-syncpoint cờ
Thay đổi cách sử dụng điểm đồng bộ trong nut:

mặc định sử dụng các bình thường chi phí thấp tìm kiếm AIDS.
không ai do không sử dụng các điểm đồng bộ at tất cả các, giảm các trên không nhưng chế tạo các dòng
không thể tìm kiếm;
Việc sử dụng tùy chọn này không được khuyến khích, vì các tệp kết quả rất dễ bị hỏng
nhạy cảm và tìm kiếm là không thể. Nói chung chi phí từ
các điểm đồng bộ là không đáng kể. Lưu ý, -C 0 có thể được sử dụng để vô hiệu hóa
tất cả các bảng dữ liệu đang phát triển, cho phép kết hợp các luồng vô tận với bộ nhớ hạn chế
và không có những nhược điểm này.

dấu thời gian thêm các điểm đồng bộ với a Đồng hồ treo tường trường.

không aidấu thời gian cờ đang thử nghiệm.

-write_index bool
Viết chỉ mục ở cuối, mặc định là viết chỉ mục.

ffmpeg -i INPUT -f_strict thử nghiệm -syncpoints không có - | bộ xử lý

ogg
Ogg thùng chứa muxer.

-page_duration thời gian
Thời lượng trang ưa thích, tính bằng micro giây. Muxer sẽ cố gắng tạo các trang
xấp xỉ thời gian dài micro giây. Điều này cho phép người dùng thỏa hiệp
giữa chi tiết tìm kiếm và chi phí container. Mặc định là 1 giây. Giá trị 0
sẽ lấp đầy tất cả các phân đoạn, làm cho các trang càng lớn càng tốt. Giá trị của 1 ý chí
sử dụng hiệu quả 1 gói mỗi trang trong hầu hết các tình huống, mang lại mức độ chi tiết tìm kiếm nhỏ
với chi phí bổ sung chi phí container.

-serial_offset giá trị
Giá trị nối tiếp để đặt số sê-ri luồng. Đặt nó thành khác và
các giá trị đủ lớn đảm bảo rằng các tệp ogg đã tạo có thể được xâu chuỗi một cách an toàn.

bộ phận, luồng_segment, phân đoạn
Trình phân đoạn luồng cơ bản.

Muxer này xuất các luồng tới một số tệp riêng biệt có thời lượng gần như cố định. Đầu ra
mẫu tên tệp có thể được đặt theo kiểu tương tự như image2hoặc bằng cách sử dụng "strftime"
mẫu nếu thời gian căng thẳng tùy chọn được kích hoạt.

"stream_segment" là một biến thể của muxer được sử dụng để ghi vào các định dạng đầu ra phát trực tuyến, tức là
mà không yêu cầu tiêu đề chung và được khuyến nghị để xuất ra, ví dụ: sang MPEG
các phân đoạn dòng vận chuyển. "ssegment" là bí danh ngắn hơn của "stream_segment".

Mọi phân đoạn đều bắt đầu với khung chính của luồng tham chiếu đã chọn, được đặt
thông qua tham chiếu_stream tùy chọn.

Lưu ý rằng nếu bạn muốn phân chia chính xác cho một tệp video, bạn cần thực hiện phím nhập
khung tương ứng với thời gian phân chia chính xác mà người phân đoạn mong đợi hoặc phân đoạn
muxer sẽ bắt đầu phân đoạn mới với khung khóa được tìm thấy tiếp theo sau khi bắt đầu được chỉ định
thời gian.

Bộ phân đoạn hoạt động tốt nhất với một video tốc độ khung hình không đổi.

Theo tùy chọn, nó có thể tạo danh sách các phân đoạn đã tạo, bằng cách đặt tùy chọn
phân đoạn_list. Loại danh sách được chỉ định bởi phân khúc_list_type Lựa chọn. Mục nhập
tên tệp trong danh sách phân đoạn được đặt theo mặc định thành tên cơ sở của
phân đoạn tệp.

Xem thêm hls muxer, cung cấp triển khai cụ thể hơn cho HLS
sự phân đoạn.

Các lựa chọn

Trình muxer phân đoạn hỗ trợ các tùy chọn sau:

tham chiếu_stream người chỉ định
Đặt luồng tham chiếu, như được chỉ định bởi chuỗi người chỉ định. Nếu người chỉ định được thiết lập
thành "tự động", tham chiếu được chọn tự động. Nếu không nó phải là một luồng
bộ chỉ định (xem chương `` Bộ chỉ định luồng '' trong hướng dẫn sử dụng ffmpeg) chỉ định
luồng tham chiếu. Giá trị mặc định là "tự động".

định dạng phân đoạn định dạng
Ghi đè định dạng vùng chứa bên trong, theo mặc định, nó được đoán bởi tên tệp
gia hạn.

phân đoạn_format_options tùy chọn_list
Đặt các tùy chọn định dạng đầu ra bằng cách sử dụng danh sách: -separated các tham số key = value. Giá trị
có chứa ký tự đặc biệt ":" phải được thoát.

phân đoạn_list tên
Cũng tạo ra một tệp danh sách có tên tên. Nếu không được chỉ định, không có tệp danh sách nào được tạo.

phân đoạn_list_flags cờ
Đặt các cờ ảnh hưởng đến việc tạo danh sách phân đoạn.

Nó hiện hỗ trợ các cờ sau:

bộ nhớ cache
Cho phép bộ nhớ đệm (chỉ ảnh hưởng đến các tệp danh sách M3U8).

sống
Cho phép tạo tệp thân thiện với thực tế.

phân khúc_list_size kích thước
Cập nhật tệp danh sách để nó chứa nhiều nhất kích thước các phân đoạn. Nếu 0 tệp danh sách
sẽ chứa tất cả các phân đoạn. Giá trị mặc định là 0.

phân đoạn_list_entry_prefix tiếp đầu ngữ
Thêm trước tiếp đầu ngữ cho mỗi mục nhập. Hữu ích để tạo đường dẫn tuyệt đối. Theo mặc định không có tiền tố
được áp dụng.

phân khúc_list_type kiểu
Chọn định dạng danh sách.

Các giá trị sau được công nhận:

bằng phẳng
Tạo danh sách cố định cho các phân đoạn đã tạo, một phân đoạn trên mỗi dòng.

csv, ext
Tạo danh sách cho các phân đoạn đã tạo, một phân đoạn trên mỗi dòng, đối sánh từng dòng
định dạng (các giá trị được phân tách bằng dấu phẩy):

, ,

tên_phân_đoạn là tên của tệp đầu ra được tạo bởi muxer theo
vào mẫu được cung cấp. CSV thoát (theo RFC4180) được áp dụng nếu
yêu cầu.

phân đoạn_bắt đầu_thời gianphân đoạn_end_time chỉ định thời gian bắt đầu và kết thúc phân đoạn
tính bằng giây.

Tệp danh sách có hậu tố ".csv" hoặc ".ext" sẽ tự động chọn định dạng này.

ext không được ủng hộ hoặc csv.

ffconcat
Tạo tệp ffconcat cho các phân đoạn đã tạo. Tệp kết quả có thể được đọc
sử dụng FFmpeg concat bộ giải mã.

Tệp danh sách có hậu tố ".ffcat" hoặc ".ffconcat" sẽ tự động chọn định dạng này.

m3u8
Tạo tệp M3U8 mở rộng, phiên bản 3, tuân thủ
<http://tools.ietf.org/id/draft-pantos-http-live-streaming>.

Tệp danh sách có hậu tố ".m3u8" sẽ tự động chọn định dạng này.

Nếu không được chỉ định, loại được đoán từ hậu tố tên tệp danh sách.

phân đoạn_thời gian thời gian
Đặt thời lượng phân đoạn thành thời gian, giá trị phải là thông số thời lượng. Vỡ nợ
giá trị là "2". Xem thêm phân đoạn_thời gian tùy chọn.

Lưu ý rằng việc phân tách có thể không chính xác, trừ khi bạn buộc khóa luồng tham chiếu-
khung tại thời điểm nhất định. Xem thông báo giới thiệu và các ví dụ bên dưới.

phân đoạn_atclocktime 1 | 0
Nếu được đặt thành chia "1" trong khoảng thời gian đồng hồ thông thường bắt đầu từ 00:00 giờ. Các
thời gian giá trị được chỉ định trong phân đoạn_thời gian được sử dụng để thiết lập độ dài của sự phân tách
khoảng thời gian.

Ví dụ với phân đoạn_thời gian được đặt thành "900", điều này giúp bạn có thể tạo tệp tại
12 giờ 00, 12 giờ 15, 12 giờ 30, v.v.

Giá trị mặc định là "0".

phân đoạn_time_delta đồng bằng
Chỉ định thời gian chính xác khi chọn thời gian bắt đầu cho một đoạn, được biểu thị bằng
đặc điểm kỹ thuật thời lượng. Giá trị mặc định là "0".

Khi delta được chỉ định, key-frame sẽ bắt đầu một phân đoạn mới nếu PTS của nó đáp ứng
quan hệ:

PTS> = start_time - time_delta

Tùy chọn này hữu ích khi chia nhỏ nội dung video, nội dung này luôn được chia nhỏ tại GOP
ranh giới, trong trường hợp khung khóa được tìm thấy ngay trước thời gian phân chia được chỉ định.

Đặc biệt có thể được sử dụng kết hợp với ffmpeg tùy chọn lực_key_frames. Các
thời gian khung chính được chỉ định bởi lực_key_frames có thể không được đặt chính xác vì
vấn đề làm tròn, với hậu quả là thời gian khung chính có thể được đặt ngay trước đó
thời gian quy định. Đối với video có tốc độ khung hình không đổi, giá trị là 1 / (2 *tỷ lệ khung hình) Nên
giải quyết trường hợp xấu nhất không khớp giữa thời gian được chỉ định và thời gian do
lực_key_frames.

phân đoạn_thời gian thời gian
Chỉ định danh sách các điểm phân tách. thời gian chứa danh sách thời lượng được phân tách bằng dấu phẩy
thông số kỹ thuật, theo thứ tự ngày càng tăng. Xem thêm phân đoạn_thời gian tùy chọn.

phân_khung khung
Chỉ định danh sách số khung video được chia nhỏ. khung chứa một danh sách được phân tách bằng dấu phẩy
số nguyên, theo thứ tự tăng dần.

Tùy chọn này chỉ định bắt đầu phân đoạn mới bất cứ khi nào khung khóa luồng tham chiếu là
được tìm thấy và số thứ tự (bắt đầu từ 0) của khung lớn hơn hoặc bằng
giá trị tiếp theo trong danh sách.

phân khúc_quấn hạn chế
Bao quanh chỉ mục phân đoạn khi nó đạt đến hạn chế.

phân_đoạn_bắt_đầu con số
Đặt số thứ tự của phân đoạn đầu tiên. Giá trị mặc định là 0.

thời gian căng thẳng 1 | 0
Sử dụng hàm "strftime" để xác định tên của các đoạn mới cần viết. Nếu điều này
được chọn, tên phân đoạn đầu ra phải chứa mẫu hàm "strftime".
Giá trị mặc định là 0.

break_non_keyframes 1 | 0
Nếu được bật, hãy cho phép các phân đoạn bắt đầu trên các khung khác với khung chính. Điều này được cải thiện
hành vi của một số người chơi khi thời gian giữa các khung hình chính không nhất quán, nhưng có thể khiến
mọi thứ tồi tệ hơn đối với những người khác, và có thể gây ra một số điều kỳ lạ trong quá trình tìm kiếm. Giá trị mặc định là 0.

đặt lại_timestamps 1 | 0
Đặt lại dấu thời gian khi bắt đầu mỗi phân đoạn, để mỗi phân đoạn sẽ bắt đầu với
dấu thời gian gần bằng không. Nó có nghĩa là để dễ dàng phát lại các phân đoạn đã tạo. Có thể
không hoạt động với một số tổ hợp muxers / codec. Nó được đặt thành 0 theo mặc định.

ban đầu bù đắp
Chỉ định bù dấu thời gian để áp dụng cho dấu thời gian gói đầu ra. Đối số phải
là một đặc tả khoảng thời gian và mặc định là 0.

Các ví dụ

· Sửa lại nội dung của tập tin trong.mkv vào danh sách các phân đoạn ra-000. hạt dẻ, ra-001. hạt dẻ, Vv,
và ghi danh sách các phân đoạn đã tạo vào ra.list:

ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.list out% 03d.nut

· Đầu vào phân đoạn và thiết lập các tùy chọn định dạng đầu ra cho các phân đoạn đầu ra:

ffmpeg -i in.mkv -f segment -segment_time 10 -segment_format_options movflags = + faststart out% 03d.mp4

· Phân đoạn tệp đầu vào theo các điểm phân tách được chỉ định bởi phân đoạn_thời gian
tùy chọn:

ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 out% 03d.nut

· Sử dụng ffmpeg lực_key_frames tùy chọn để buộc các khung chính trong đầu vào tại
vị trí được chỉ định, cùng với tùy chọn phân đoạn phân đoạn_time_delta giải thích cho
có thể làm tròn hoạt động khi đặt thời gian khung hình chính.

ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec: v mpeg4 -codec: a pcm_s16le -map 0 \
-f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 -segment_time_delta 0.05 trên% 03d.nut

Để buộc các khung chính trên tệp đầu vào, cần phải chuyển mã.

· Phân đoạn tệp đầu vào bằng cách tách tệp đầu vào theo số khung
trình tự được chỉ định với phân_khung tùy chọn:

ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,500,800 out% 03d.nut

· Chuyển đổi trong.mkv tới các phân đoạn TS sử dụng bộ mã hóa "libx264" và "libfaac":

ffmpeg -i in.mkv -map 0 -codec: v libx264 -codec: a libfaac -f ssegment -segment_list out.list out% 03d.ts

· Phân đoạn tệp đầu vào và tạo danh sách phát trực tiếp M3U8 (có thể được sử dụng làm HLS trực tiếp
nguồn):

ffmpeg -re -i in.mkv -codec copy -map 0 -f đoạn -segment_list list nhạc.m3u8 \
-segment_list_flags + live -segment_time 10 out% 03d.mkv

trôi chảy
Smooth Streaming muxer tạo ra một tập hợp các tệp (Tệp kê khai, các phần) phù hợp để phân phát
với máy chủ web thông thường.

kích thước cửa sổ
Chỉ định số lượng phân đoạn được giữ trong tệp kê khai. Mặc định 0 (giữ nguyên tất cả).

extra_window_size
Chỉ định số lượng phân đoạn được giữ bên ngoài tệp kê khai trước khi xóa khỏi
đĩa. Mặc định 5.

nhìn về phía trước_count
Chỉ định số lượng các đoạn tiêu đề. Mặc định 2.

phút_frag_duration
Chỉ định thời lượng phân đoạn tối thiểu (tính bằng micro giây). Mặc định 5000000.

xóa_at_exit
Chỉ định xem có xóa tất cả các mảnh khi hoàn tất hay không. Mặc định 0 (không xóa).

tee
Tee muxer có thể được sử dụng để ghi cùng một dữ liệu vào một số tệp hoặc bất kỳ loại nào khác
người nấu ăn. Ví dụ, nó có thể được sử dụng để truyền video lên mạng và lưu vào
đĩa cùng một lúc.

Nó khác với việc chỉ định một số đầu ra cho ffmpeg công cụ dòng lệnh vì
dữ liệu âm thanh và video sẽ chỉ được mã hóa một lần với tee muxer; mã hóa có thể là một
quá trình rất tốn kém. Nó không hữu ích khi sử dụng trực tiếp API libavformat vì
sau đó có thể cung cấp trực tiếp các gói tin giống nhau cho một số muxers.

Các đầu ra nô lệ được chỉ định trong tên tệp được cấp cho muxer, được phân tách bằng '|'. Nếu như
bất kỳ tên nô lệ nào chứa '|' dấu phân cách, dấu cách đầu hoặc cuối hoặc bất kỳ
ký tự đặc biệt, nó phải được thoát (xem các "Trích dẫn trốn thoát " phần in các
ffmpeg-utils(1) nhãn hiệu).

Các tùy chọn Muxer có thể được chỉ định cho từng nô lệ bằng cách thêm chúng dưới dạng danh sách chính=giá trị
các cặp được phân tách bằng ':', giữa dấu ngoặc vuông. Nếu các giá trị tùy chọn chứa một giá trị đặc biệt
ký tự hoặc dấu phân cách ':', chúng phải được thoát ra; lưu ý rằng đây là cấp độ thứ hai
trốn thoát.

Các tùy chọn đặc biệt sau đây cũng được công nhận:

f Chỉ định tên định dạng. Hữu ích nếu nó không thể được đoán từ hậu tố tên đầu ra.

bsfs [/suy nghi]
Chỉ định danh sách các bộ lọc dòng bit để áp dụng cho đầu ra được chỉ định.

Có thể chỉ định luồng nào áp dụng bộ lọc luồng bit nhất định, bằng cách
thêm một chỉ định luồng vào tùy chọn được phân tách bằng "/". suy nghi phải là một dòng
người chỉ định (xem Định dạng dòng chuyên gia). Nếu chỉ định luồng không được chỉ định,
các bộ lọc dòng bit sẽ được áp dụng cho tất cả các dòng trong đầu ra.

Một số bộ lọc dòng bit có thể được chỉ định, phân tách bằng ",".

chọn
Chọn các luồng sẽ được ánh xạ tới đầu ra phụ, được chỉ định bởi một luồng
người chỉ định. Nếu không được chỉ định, điều này mặc định cho tất cả các luồng đầu vào.

Các ví dụ

· Mã hóa một cái gì đó và cả hai đều lưu trữ nó trong một tệp WebM và truyền phát nó dưới dạng MPEG-TS qua UDP
(các luồng cần được ánh xạ rõ ràng):

ffmpeg -i ... -c: v libx264 -c: a mp2 -f tee -map 0: v -map 0: a
"archive-20121107.mkv | [f = mpegts] udp: //10.0.1.255: 1234 /"

· Sử dụng ffmpeg để mã hóa đầu vào và gửi đầu ra đến ba điểm đến khác nhau.
Bộ lọc dòng bit "dump_extra" được sử dụng để thêm thông tin ngoại dữ liệu vào tất cả
xuất các gói khung hình chính video, theo yêu cầu của định dạng MPEG-TS. Lựa chọn tùy chọn
Được áp dụng cho ra.aac để làm cho nó chỉ chứa các gói âm thanh.

ffmpeg -i ... -map 0 -flags + global_header -c: v libx264 -c: một thử nghiệm aac -strict
-f tee "[bsfs / v = dump_extra] out.ts | [movflags = + faststart] out.mp4 | [select = a] out.aac"

· Như bên dưới, nhưng chỉ chọn luồng "a: 1" cho đầu ra âm thanh. Lưu ý rằng cấp độ thứ hai
thoát phải được thực hiện, vì ":" là một ký tự đặc biệt được sử dụng để phân tách các tùy chọn.

ffmpeg -i ... -map 0 -flags + global_header -c: v libx264 -c: một thử nghiệm aac -strict
-f tee "[bsfs / v = dump_extra] out.ts | [movflags = + faststart] out.mp4 | [select = \ 'a: 1 \'] out.aac"

Lưu ý: một số codec có thể cần các tùy chọn khác nhau tùy thuộc vào định dạng đầu ra; Tự động-
phát hiện điều này không thể hoạt động với tee muxer. Ví dụ chính là toàn cầu_header
cờ.

webm_dash_manifest
Bộ chuyển đổi tệp kê khai WebM DASH.

Muxer này triển khai đặc tả Tệp kê khai DASH WebM để tạo tệp kê khai DASH
XML. Nó cũng hỗ trợ tạo tệp kê khai cho các luồng trực tiếp DASH.

Để biết thêm thông tin, hãy xem:

· Đặc điểm kỹ thuật WebM DASH:
<https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification>

· Thông số kỹ thuật ISO DASH:
<http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip>

Các lựa chọn

Muxer này hỗ trợ các tùy chọn sau:

Adap_sets
Tùy chọn này có cú pháp sau: "id = x, Stream = a, b, c id = y, Stream = d, e" trong đó x
và y là các số nhận dạng duy nhất của các bộ chuyển thể và a, b, c, d và e là
chỉ số của các luồng âm thanh và video tương ứng. Bất kỳ số lượng bộ chuyển thể nào
có thể được thêm bằng cách sử dụng tùy chọn này.

sống
Đặt giá trị này thành 1 để tạo Tệp kê khai DASH phát trực tiếp. Mặc định: 0.

chunk_start_index
Chỉ mục bắt đầu của đoạn đầu tiên. Điều này sẽ đi trong số bắt đầu thuộc tính của
Mẫu phân khúc phần tử trong tệp kê khai. Mặc định: 0.

chunk_duration_ms
Thời lượng của mỗi đoạn tính bằng mili giây. Điều này sẽ đi trong thời gian thuộc tính của
Mẫu phân khúc phần tử trong tệp kê khai. Mặc định: 1000.

utc_timing_url
URL của trang sẽ trả về dấu thời gian UTC ở định dạng ISO. Điều này sẽ đi trong
giá trị thuộc tính của Giờ UTC phần tử trong tệp kê khai. Mặc định: Không có.

time_shift_buffer_deep
Bộ đệm dịch chuyển thời gian nhỏ nhất (tính bằng giây) mà bất kỳ Biểu diễn nào được đảm bảo
có sẵn. Điều này sẽ đi trong thời gianShiftBufferĐộ sâu thuộc tính của MPD
yếu tố. Mặc định: 60.

tối thiểu
Khoảng thời gian cập nhật tối thiểu (tính bằng giây) của tệp kê khai. Điều này sẽ đi trong
MinimumUpdatePeriod thuộc tính của MPD yếu tố. Mặc định: 0.

Ví dụ

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 \
-bản đồ 0 -bản đồ 1 -bản đồ 2 -bản đồ 3 \
-c sao chép \
-f webm_dash_manifest \
-adaptation_sets "id = 0, stream = 0,1 id = 1, stream = 2,3" \
tệp kê khai.xml

webm_chunk
WebM Live Chunk Muxer.

Muxer này viết ra các tiêu đề và phần WebM dưới dạng các tệp riêng biệt có thể được sử dụng bởi
ứng dụng khách hỗ trợ phát trực tiếp WebM qua DASH.

Các lựa chọn

Muxer này hỗ trợ các tùy chọn sau:

chunk_start_index
Chỉ mục của đoạn đầu tiên (mặc định là 0).

cú đội đầu
Tên tệp của tiêu đề nơi dữ liệu khởi tạo sẽ được ghi.

audio_chunk_duration
Thời lượng của mỗi đoạn âm thanh tính bằng mili giây (mặc định là 5000).

Ví dụ

ffmpeg -f v4l2 -i / dev / video0 \
-f alsa -i hw: 0 \
-map 0: 0 \
-c: v libvpx-vp9 \
-s 640x360 -keyint_phút 30 -g 30 \
-f webm_chunk \
-tiêu đề webm_live_video_360.hdr \
-chunk_start_index 1 \
webm_live_video_360_% d.chk \
-map 1: 0 \
-c: một libvorbis \
-b: một 128k \
-f webm_chunk \
-tiêu đề webm_live_audio_128.hdr \
-chunk_start_index 1 \
-audio_chunk_duration 1000 \
webm_live_audio_128_% d.chk

METADATA


FFmpeg có thể kết xuất siêu dữ liệu từ các tệp phương tiện thành một văn bản giống như INI được mã hóa UTF-8 đơn giản
và sau đó tải lại bằng siêu dữ liệu muxer / demuxer.

Định dạng tệp như sau:

1. Một tệp bao gồm tiêu đề và một số thẻ siêu dữ liệu được chia thành các phần, mỗi phần
trên dòng riêng của nó.

2. Tiêu đề là một ; FFMETADATA chuỗi, theo sau là số phiên bản (bây giờ là 1).

3. Thẻ siêu dữ liệu có dạng key = giá trị

4. Ngay sau tiêu đề theo sau siêu dữ liệu chung

5. Sau siêu dữ liệu toàn cục, có thể có các phần có siêu dữ liệu mỗi luồng / mỗi chương.

6. Một phần bắt đầu bằng tên phần bằng chữ hoa (tức là STREAM hoặc CHƯƠNG) trong
dấu ngoặc ([, ]) và kết thúc bằng phần tiếp theo hoặc phần cuối của tệp.

7. Ở phần đầu của một phần chương, có thể có một cơ sở thời gian tùy chọn được sử dụng để
giá trị bắt đầu / kết thúc. Nó phải ở dạng THỜI GIAN =num/ngày, Nơi numngày là các số nguyên.
Nếu cơ sở thời gian bị thiếu thì thời gian bắt đầu / kết thúc được giả định bằng mili giây.

Tiếp theo, một phần chương phải có biểu mẫu thời gian bắt đầu và kết thúc chương START =num,
HẾT =num, Nơi num là một số nguyên dương.

8. Dòng trống và dòng bắt đầu bằng ; or # bị bỏ qua.

9. Các khóa hoặc giá trị siêu dữ liệu có chứa các ký tự đặc biệt (=, ;, #, \ và một dòng mới) phải
được thoát bằng một dấu gạch chéo ngược \.

10. Lưu ý rằng khoảng trắng trong siêu dữ liệu (ví dụ: foo = thanh) được coi là một phần của
thẻ (trong ví dụ trên, khóa là foo , giá trị là
thanh).

Tệp ffmetadata có thể trông giống như sau:

; FFMETADATA1
title = xe đạp \\ nhà kho
; đây là một bình luận
artist = FFmpeg troll team

[CHƯƠNG]
THỜI GIAN = 1/1000
START = 0
#chapter kết thúc lúc 0:01:00
HẾT = 60000
title = chương \ # 1
[DÒNG]
title = multi \
hàng

Bằng cách sử dụng muxer ffmetadata và demuxer, có thể trích xuất siêu dữ liệu từ đầu vào
tệp sang tệp ffmetadata, sau đó chuyển mã tệp thành tệp đầu ra với
đã chỉnh sửa tệp ffmetadata.

Giải nén tệp ffmetadata với ffmpeg như sau:

ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE

Việc chèn lại thông tin siêu dữ liệu đã chỉnh sửa từ tệp FFMETADATAFILE có thể được thực hiện như sau:

ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec sao chép OUTPUT

Sử dụng các định dạng ffmpeg trực tuyến bằng các dịch vụ onworks.net


Ad




×
quảng cáo
❤️Mua sắm, đặt phòng hoặc mua tại đây — không mất phí, giúp duy trì các dịch vụ miễn phí.