Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


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

avconv - Trực tuyến trên đám mây

Chạy avconv 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 mô phỏng trực tuyến MAC OS

Đây là lệnh avconv có thể được 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


ffmpeg - công cụ chuyển đổi video ffmpeg

SYNOPSIS


ffmpeg [toàn cầu_options] {[input_file_options] -tôi tập tin đầu vào} ... {[đầu ra_file_options]
đầu ra_file} ...

MÔ TẢ


ffmpeg là một công cụ chuyển đổi âm thanh và video rất nhanh cũng có thể lấy từ âm thanh / video trực tiếp
nguồn. Nó cũng có thể chuyển đổi giữa các tỷ lệ mẫu tùy ý và thay đổi kích thước video một cách nhanh chóng
với bộ lọc polyphase chất lượng cao.

ffmpeg đọc từ một số lượng "tệp" đầu vào tùy ý (có thể là tệp thông thường, đường dẫn,
luồng mạng, thiết bị lấy, v.v.), được chỉ định bởi tùy chọn "-i" và ghi vào một
số lượng "tệp" đầu ra tùy ý, được chỉ định bởi tên tệp đầu ra thuần túy.
Bất kỳ thứ gì được tìm thấy trên dòng lệnh không thể được hiểu là một tùy chọn sẽ được coi là
là một tên tệp đầu ra.

Về nguyên tắc, mỗi tệp đầu vào hoặc đầu ra có thể chứa bất kỳ số lượng luồng nào khác nhau
các loại (video / âm thanh / phụ đề / tệp đính kèm / dữ liệu). Số lượng và / hoặc loại luồng được phép
có thể bị giới hạn bởi định dạng vùng chứa. Chọn luồng nào đầu vào sẽ đi
mà đầu ra được thực hiện tự động hoặc với tùy chọn "-map" (xem Luồng
chương tuyển chọn).

Để tham chiếu đến các tệp đầu vào trong các tùy chọn, bạn phải sử dụng các chỉ số của chúng (dựa trên 0). Vd: cái đầu tiên
tệp đầu vào là 0, tệp thứ hai là 1, v.v. Tương tự, các luồng trong tệp được tham chiếu bởi
các chỉ số của họ. Ví dụ: "2: 3" đề cập đến luồng thứ tư trong tệp đầu vào thứ ba. Cũng thấy
chương Thông số kỹ thuật luồng.

Theo quy tắc chung, các tùy chọn được áp dụng cho tệp được chỉ định tiếp theo. Do đó, đơn hàng là
quan trọng và bạn có thể có cùng một tùy chọn trên dòng lệnh nhiều lần. Mỗi
sự xuất hiện sau đó được áp dụng cho tệp đầu vào hoặc đầu ra tiếp theo. Các ngoại lệ từ quy tắc này
là các tùy chọn toàn cục (ví dụ như mức độ chi tiết), cần được chỉ định trước.

Không trộn lẫn các tệp đầu vào và đầu ra - trước tiên chỉ định tất cả các tệp đầu vào, sau đó chỉ định tất cả các tệp đầu ra.
Cũng không kết hợp các tùy chọn thuộc về các tệp khác nhau. Tất cả các tùy chọn CHỈ áp dụng cho
tệp đầu vào hoặc đầu ra tiếp theo và được đặt lại giữa các tệp.

· Để đặt tốc độ bit video của tệp đầu ra thành 64 kbit / s:

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

· Để buộc tốc độ khung hình của tệp đầu ra là 24 khung hình / giây:

ffmpeg -i input.avi -r 24 đầu ra.avi

· Để buộc tốc độ khung hình của tệp đầu vào (chỉ hợp lệ cho các định dạng thô) thành 1 khung hình / giây và
tốc độ khung hình của tệp đầu ra thành 24 khung hình / giây:

ffmpeg -r 1 -i đầu vào.m2v -r 24 đầu ra.avi

Tùy chọn định dạng có thể cần thiết cho các tệp đầu vào thô.

CHI TIẾT MÔ TẢ


Quá trình chuyển mã trong ffmpeg cho mỗi đầu ra có thể được mô tả như sau
biểu đồ:

_______ ______________
| | | |
| đầu vào | demuxer | dữ liệu được mã hóa | người giải mã
| tập tin | ---------> | gói tin | ----- +
| _______ | | ______________ | |
v
_________
| |
| đã giải mã |
| khung |
| _________ |
________ ______________ |
| | | | |
| đầu ra | <-------- | dữ liệu được mã hóa | <---- +
| tập tin | muxer | gói tin | mã hoá
| ________ | | ______________ |

ffmpeg gọi thư viện libavformat (chứa các demuxer) để đọc các tệp đầu vào và lấy
các gói chứa dữ liệu được mã hóa từ chúng. Khi có nhiều tệp đầu vào, ffmpeg
cố gắng giữ cho chúng được đồng bộ hóa bằng cách theo dõi dấu thời gian thấp nhất trên bất kỳ luồng đầu vào đang hoạt động nào.

Sau đó, các gói được mã hóa sẽ được chuyển đến bộ giải mã (trừ khi chọn luồng nội soi cho
luồng, xem thêm để biết mô tả). Bộ giải mã tạo ra các khung hình không nén (thô
video / âm thanh PCM / ...) có thể được xử lý thêm bằng cách lọc (xem phần tiếp theo). Sau
lọc, các khung được chuyển đến bộ mã hóa, bộ mã hóa này sẽ mã hóa chúng và đầu ra được mã hóa
gói tin. Cuối cùng, chúng được chuyển đến muxer, nó sẽ ghi các gói được mã hóa vào
tập tin đầu ra.

Lọc
Trước khi mã hóa, ffmpeg có thể xử lý khung hình âm thanh và video thô bằng cách sử dụng các bộ lọc từ
thư viện libavfilter. Một số bộ lọc chuỗi tạo thành một đồ thị bộ lọc. ffmpeg phân biệt
giữa hai loại đồ thị bộ lọc: đơn giản và phức tạp.

Đơn giản đồ thị bộ lọc

Đồ thị bộ lọc đơn giản là những đồ thị có chính xác một đầu vào và đầu ra, cả hai đều giống nhau
kiểu. Trong sơ đồ trên, chúng có thể được biểu diễn bằng cách chỉ cần chèn một bước bổ sung
giữa giải mã và mã hóa:

_________ ______________
| | | |
| đã giải mã | | dữ liệu được mã hóa |
| khung | \ _ | gói tin |
| _________ | \ / || ______________ |
\ __________ /
đơn giản _ \ || | / mã hoá
bộ lọc | đã lọc | /
| khung |
| __________ |

Các sơ đồ lọc đơn giản được định cấu hình với mỗi luồng -bộ lọc tùy chọn (với -vf-af
bí danh cho video và âm thanh tương ứng). Một sơ đồ lọc đơn giản cho video có thể tìm kiếm
ví dụ như thế này:

_______ _____________ _______ ________
| | | | | | | |
| đầu vào | ---> | deinterlace | ---> | thang đo | ---> | đầu ra |
| _______ | | _____________ | | _______ | | ________ |

Lưu ý rằng một số bộ lọc thay đổi thuộc tính khung nhưng không thay đổi nội dung khung. Ví dụ: "fps"
bộ lọc trong ví dụ trên thay đổi số lượng khung hình, nhưng không chạm vào khung
các nội dung. Một ví dụ khác là bộ lọc "setpts", bộ lọc này chỉ đặt dấu thời gian và nếu không
vượt qua các khung không thay đổi.

Phức tạp đồ thị bộ lọc

Đồ thị bộ lọc phức tạp là những đồ thị không thể được mô tả đơn giản là một xử lý tuyến tính
chuỗi được áp dụng cho một luồng. Đây là trường hợp, ví dụ, khi biểu đồ có nhiều hơn
một đầu vào và / hoặc đầu ra hoặc khi loại luồng đầu ra khác với đầu vào. Họ có thể
được biểu diễn bằng sơ đồ sau:

_________
| |
| đầu vào 0 | \ __________
| _________ | \ UXNUMXquot; |
\ _________ / | đầu ra 0 |
\ UXNUMXquot; | / | __________ |
_________ \ | phức tạp | /
| | | | /
| đầu vào 1 | ----> | bộ lọc | \
| _________ | | | \ __________
/ | đồ thị | \ UXNUMXquot; |
/ | | \ U1quot; đầu ra XNUMX |
_________ / | _________ | | __________ |
| | /
| đầu vào 2 | /
| _________ |

Các đồ thị bộ lọc phức tạp được định cấu hình với -filter_complex Lựa chọn. Lưu ý rằng điều này
tùy chọn là toàn cục, vì bản chất của một đồ thị lọc phức tạp, không thể rõ ràng
được liên kết với một luồng hoặc một tệp.

Sản phẩm -lavfi tùy chọn tương đương với -filter_complex.

Một ví dụ đơn giản về đồ thị bộ lọc phức tạp là bộ lọc "lớp phủ", có hai video
đầu vào và một đầu ra video, chứa một video được xếp chồng lên nhau. Âm thanh của nó
đối tác là bộ lọc "amix".

Sông bản sao
Sao chép luồng là một chế độ được chọn bằng cách cung cấp thông số "sao chép" cho -codec Lựa chọn. Nó
làm cho ffmpeg bỏ qua bước giải mã và mã hóa cho luồng được chỉ định, vì vậy nó chỉ
demuxing và muxing. Nó hữu ích cho việc thay đổi định dạng vùng chứa hoặc sửa đổi
siêu dữ liệu cấp vùng chứa. Trong trường hợp này, sơ đồ trên sẽ đơn giản hóa:

_______ ______________ ________
| | | | | |
| đầu vào | demuxer | dữ liệu được mã hóa | muxer | đầu ra |
| tập tin | ---------> | gói tin | -------> | tập tin |
| _______ | | ______________ | | ________ |

Vì không có giải mã hoặc mã hóa nên nó rất nhanh và không bị giảm chất lượng.
Tuy nhiên, nó có thể không hoạt động trong một số trường hợp do nhiều yếu tố. Áp dụng bộ lọc là
rõ ràng là cũng không thể, vì các bộ lọc hoạt động trên dữ liệu không nén.

SUỐI LỰA CHỌN


Theo mặc định, ffmpeg chỉ bao gồm một luồng của mỗi loại (video, âm thanh, phụ đề) hiện tại
trong các tệp đầu vào và thêm chúng vào mỗi tệp đầu ra. Nó chọn cái "tốt nhất" của mỗi cái dựa trên
dựa trên các tiêu chí sau: đối với video, đó là luồng có độ phân giải cao nhất, dành cho
âm thanh, đây là luồng có nhiều kênh nhất, đối với phụ đề, đây là phụ đề đầu tiên
dòng. Trong trường hợp một số luồng cùng loại có tốc độ như nhau, luồng có
chỉ số thấp nhất được chọn.

Bạn có thể tắt một số mặc định đó bằng cách sử dụng tùy chọn "-vn / -an / -sn". Đối với hướng dẫn sử dụng đầy đủ
kiểm soát, sử dụng tùy chọn "-map", tùy chọn này vô hiệu hóa các giá trị mặc định vừa được mô tả.

LỰA CHỌN


Tất cả các tùy chọn số, nếu không được chỉ định khác, hãy chấp nhận một chuỗi đại diện cho
số dưới dạng đầu vào, có thể được theo sau bởi một trong các tiền tố đơn vị SI, ví dụ: 'K',
'M' hoặc 'G'.

Nếu 'i' được thêm vào tiền tố đơn vị SI, tiền tố hoàn chỉnh sẽ được hiểu là
tiền tố đơn vị cho bội số nhị phân, dựa trên lũy thừa của 1024 thay vì lũy thừa của
1000. Việc thêm 'B' vào tiền tố đơn vị SI nhân giá trị với 8. Điều này cho phép sử dụng,
ví dụ: 'KB', 'MiB', 'G' và 'B' làm hậu tố số.

Các tùy chọn không nhận đối số là các tùy chọn boolean và đặt giá trị tương ứng
thành sự thật. Chúng có thể được đặt thành false bằng cách thêm "no" vào trước tên tùy chọn. Ví dụ
sử dụng "-nofoo" sẽ đặt tùy chọn boolean với tên "foo" thành false.

Sông chuyên gia
Một số tùy chọn được áp dụng cho mỗi luồng, ví dụ: tốc độ bit hoặc codec. Bộ chỉ định luồng được sử dụng để
chỉ định chính xác (các) luồng mà một tùy chọn nhất định thuộc về.

Bộ chỉ định luồng là một chuỗi thường được nối vào tên tùy chọn và được phân tách khỏi nó
bằng dấu hai chấm. Ví dụ: "-codec: a: 1 ac3" chứa mã định nghĩa luồng "a: 1", phù hợp với
luồng âm thanh thứ hai. Do đó, nó sẽ chọn codec ac3 cho luồng âm thanh thứ hai.

Công cụ xác định luồng có thể khớp với một số luồng, do đó tùy chọn được áp dụng cho tất cả
họ. Ví dụ: công cụ chỉ định luồng trong "-b: a 128k" khớp với tất cả các luồng âm thanh.

Bộ chỉ định luồng trống phù hợp với tất cả các luồng. Ví dụ: "-codec copy" hoặc "-codec:
copy "sẽ sao chép tất cả các luồng mà không cần mã hóa lại.

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. Ví dụ: "-threads: 1 4" sẽ đặt số lượng chuỗi cho
luồng thứ hai đến 4.

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

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 or i:luồng_id
Khớp luồng theo id luồng (ví dụ: PID trong vùng chứa MPEG-TS).

m:chính[:giá trị]
Đối sánh các luồng với thẻ siêu dữ liệu chính có giá trị được chỉ định. Nếu như giá trị không phải là
đã cho, khớp các luồng chứa thẻ đã cho với bất kỳ giá trị nào.

u Đối sánh các luồng với cấu hình có thể sử dụng, codec phải được xác định và điều cần thiết
phải có thông tin như kích thước video hoặc tốc độ mẫu âm thanh.

Lưu ý rằng trong ffmpeg, đối sánh theo siêu dữ liệu sẽ chỉ hoạt động bình thường đối với các tệp đầu vào.

Chung lựa chọn
Các tùy chọn này được chia sẻ giữa các công cụ ff *.

-L Hiển thị giấy phép.

-NS, - ?, -Cứu giúp, --Cứu giúp [arg]
Hiển thị trợ giúp. Một tham số tùy chọn có thể được chỉ định để in trợ giúp về một mặt hàng cụ thể.
Nếu không có đối số nào được chỉ định, chỉ các tùy chọn công cụ cơ bản (không nâng cao) mới được hiển thị.

Giá trị có thể có của arg là:

Dài
In các tùy chọn công cụ nâng cao ngoài các tùy chọn công cụ cơ bản.

Full
In danh sách đầy đủ các tùy chọn, bao gồm các tùy chọn chia sẻ và riêng tư cho bộ mã hóa,
bộ giải mã, bộ tách dòng, bộ trộn, bộ lọc, v.v.

bộ giải mã =tên bộ giải mã
In thông tin chi tiết về bộ giải mã có tên tên bộ giải mã. Sử dụng -bộ giải mã
tùy chọn để nhận danh sách tất cả các bộ giải mã.

bộ mã hóa =tên bộ mã hóa
In thông tin chi tiết về bộ mã hóa có tên tên bộ mã hóa. Sử dụng -bộ mã hóa
tùy chọn để nhận danh sách tất cả các bộ mã hóa.

demuxer =demuxer_name
In thông tin chi tiết về demuxer có tên demuxer_name. Sử dụng -định dạng
tùy chọn để nhận danh sách tất cả các demuxer và muxers.

muxer =muxer_name
In thông tin chi tiết về muxer có tên muxer_name. Sử dụng -định dạng
tùy chọn để nhận danh sách tất cả các muxers và demuxers.

bộ lọc =tên bộ lọc
In thông tin chi tiết về tên bộ lọc tên bộ lọc. Sử dụng -bộ lọc
tùy chọn để nhận danh sách tất cả các bộ lọc.

-phiên bản
Hiển thị phiên bản.

-định dạng
Hiển thị các định dạng có sẵn (bao gồm cả thiết bị).

những điều cần thiết
Hiển thị các thiết bị có sẵn.

-codec
Hiển thị tất cả các codec được biết đến với libavcodec.

Lưu ý rằng thuật ngữ 'codec' được sử dụng trong toàn bộ tài liệu này như một phím tắt cho
cái được gọi một cách chính xác hơn là định dạng dòng bit đa phương tiện.

-bộ giải mã
Hiển thị các bộ giải mã có sẵn.

-bộ mã hóa
Hiển thị tất cả các bộ mã hóa có sẵn.

-bsfs
Hiển thị các bộ lọc dòng bit có sẵn.

-giao thức
Hiển thị các giao thức có sẵn.

-bộ lọc
Hiển thị các bộ lọc libavfilter có sẵn.

-pix_fmts
Hiển thị các định dạng pixel có sẵn.

-sample_fmts
Hiển thị các định dạng mẫu có sẵn.

-lớp phát
Hiển thị tên kênh và bố cục kênh tiêu chuẩn.

-màu sắc
Hiển thị tên màu được công nhận.

-nguồn thiết bị[,chọn1=Val1[,chọn2=Val2] ...]
Hiển thị các nguồn được phát hiện tự động của thiết bị đầu vào. Một số thiết bị có thể cung cấp hệ thống-
tên nguồn phụ thuộc không thể tự động phát hiện. Danh sách trả về không được
giả định là luôn hoàn thành.

ffmpeg -sources xung, máy chủ = 192.168.0.4

-chìm thiết bị[,chọn1=Val1[,chọn2=Val2] ...]
Hiển thị các điểm chìm được phát hiện tự động của thiết bị đầu ra. Một số thiết bị có thể cung cấp hệ thống-
các tên chìm phụ thuộc không thể tự động phát hiện. Danh sách trả về không thể được giả định
để luôn luôn hoàn chỉnh.

ffmpeg -sinks xung, máy chủ = 192.168.0.4

-mức đăng nhập [lặp lại +]mức độ đăng nhập | -v [lặp lại +]mức độ đăng nhập
Đặt cấp độ ghi nhật ký được sử dụng bởi thư viện. Thêm "repeat +" cho biết rằng lặp lại
đầu ra nhật ký không được nén xuống dòng đầu tiên và thông báo "Tin nhắn cuối cùng được lặp lại n
times "dòng sẽ bị bỏ qua." repeat "cũng có thể được sử dụng một mình. Nếu" repeat "được sử dụng
một mình, và không có thiết lập loglevel nào trước đó, loglevel mặc định sẽ được sử dụng. Nếu nhiều
tham số loglevel được đưa ra, sử dụng 'repeat' sẽ không thay đổi loglevel. mức độ đăng nhập
là một chuỗi hoặc một số có chứa một trong các giá trị sau:

Yên tĩnh, -8
Không hiển thị gì cả; im lặng.

hoảng loạn, 0
Chỉ hiển thị các lỗi nghiêm trọng có thể dẫn đến sự cố quy trình, chẳng hạn như và xác nhận
thất bại. Điều này hiện không được sử dụng cho bất cứ điều gì.

gây tử vong, 8
Chỉ hiển thị các lỗi nghiêm trọng. Đây là những lỗi mà sau đó quá trình hoàn toàn không thể
tiếp tục sau.

lỗi, 16
Hiển thị tất cả các lỗi, bao gồm cả những lỗi có thể được khôi phục.

cảnh báo, 24
Hiển thị tất cả các cảnh báo và lỗi. Bất kỳ thông báo nào liên quan đến có thể không chính xác hoặc
sự kiện bất ngờ sẽ được hiển thị.

thông tin, 32
Hiển thị các tin nhắn thông tin trong quá trình xử lý. Điều này bổ sung cho các cảnh báo và
các lỗi. Đây là giá trị mặc định.

dài dòng, 40
Giống như "thông tin", ngoại trừ dài dòng hơn.

gỡ lỗi, 48
Hiển thị mọi thứ, bao gồm cả thông tin gỡ lỗi.

dấu vết, 56

Theo mặc định, chương trình ghi vào stderr, nếu màu được hỗ trợ bởi thiết bị đầu cuối,
màu sắc được sử dụng để đánh dấu lỗi và cảnh báo. Màu nhật ký có thể bị tắt cài đặt
biến môi trường AV_LOG_FORCE_NOCOLOR or KHÔNG MÀUhoặc có thể buộc phải thiết lập
biến môi trường AV_LOG_FORCE_COLOR. Việc sử dụng biến môi trường KHÔNG MÀU
không được dùng nữa và sẽ bị loại bỏ trong phiên bản FFmpeg sau.

-báo cáo
Kết xuất toàn bộ dòng lệnh và đầu ra bảng điều khiển vào một tệp có tên
"chương trình-YYYYMMDD-HHMMSS.log " trong thư mục hiện tại. Tệp này có thể hữu ích cho
báo cáo lỗi. Nó cũng ngụ ý "-loglevel verbose".

Đặt biến môi trường BÁO CÁO đến bất kỳ giá trị nào cũng có tác dụng như nhau. Nếu
value là một chuỗi ':' - key = value được phân tách, các tùy chọn này sẽ ảnh hưởng đến báo cáo;
các giá trị tùy chọn phải được thoát nếu chúng chứa các ký tự đặc biệt hoặc các tùy chọn
dấu phân cách ':' (xem phần `` Trích dẫn và thoát '' trong hướng dẫn sử dụng ffmpeg-utils).

Các tùy chọn sau được công nhận:

hồ sơ
đặt tên tệp để sử dụng cho báo cáo; % p được mở rộng thành tên của
chương trình,% t được mở rộng thành dấu thời gian, "%%" được mở rộng thành "%" đơn giản

cấp
đặt mức độ chi tiết của nhật ký bằng cách sử dụng một giá trị số (xem "-loglevel").

Ví dụ: để xuất báo cáo ra tệp có tên ffreport.log sử dụng cấp độ nhật ký là 32
(bí danh cho "thông tin" cấp nhật ký):

FFREPORT = file = ffreport.log: level = 32 ffmpeg -i đầu ra đầu vào

Các lỗi phân tích cú pháp biến môi trường không nghiêm trọng và sẽ không xuất hiện trong
báo cáo.

-hide_banner
Loại bỏ biểu ngữ in ấn.

Tất cả các công cụ FFmpeg thường sẽ hiển thị thông báo bản quyền, các tùy chọn xây dựng và thư viện
các phiên bản. Tùy chọn này có thể được sử dụng để ngăn chặn việc in thông tin này.

-cpuflags cờ (toàn cầu)
Cho phép thiết lập và xóa cờ cpu. Tùy chọn này được dùng để thử nghiệm. Không được dùng
nó trừ khi bạn biết mình đang làm gì.

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

Các cờ có thể có cho tùy chọn này là:

x86
mmx
mmxext
sse
sse2
sse2chậm
sse3
sse3chậm
sse3
nguyên tử
sse4.1
sse4.2
trung bình
avx2
xộp
fma3
fma4
3dnow
3dnext
chỉ số bmi1
chỉ số bmi2
cmov
ARM
armv5te
cánh tayv6
cánh tayv6t2
vfp
vfpv3
neon
thiết lập
AAArch64
cánh tayv8
vfp
neon
PowerPC
alivec
Riêng Bộ vi xử lý
pentium2
pentium3
pentium4
k6
k62
Athlon
thể thao
k8
-opencl_bench
Tùy chọn này được sử dụng để đánh giá tất cả các thiết bị OpenCL hiện có và in kết quả.
Tùy chọn này chỉ khả dụng khi FFmpeg đã được biên dịch bằng "--enable-opencl".

Khi FFmpeg được định cấu hình bằng "--enable-opencl", các tùy chọn cho OpenCL toàn cầu
bối cảnh được thiết lập thông qua -opencl_options. Xem phần "Tùy chọn OpenCL" trong ffmpeg-
hướng dẫn sử dụng utils cho danh sách đầy đủ các tùy chọn được hỗ trợ. Trong số những người khác, các tùy chọn này
bao gồm khả năng chọn một nền tảng và thiết bị cụ thể để chạy mã OpenCL
trên. Theo mặc định, FFmpeg sẽ chạy trên thiết bị đầu tiên của nền tảng đầu tiên. Trong khi
các tùy chọn cho ngữ cảnh OpenCL toàn cầu cung cấp sự linh hoạt cho người dùng trong việc lựa chọn
Thiết bị OpenCL do họ lựa chọn, hầu hết người dùng có thể muốn chọn thiết bị nhanh nhất
Thiết bị OpenCL cho hệ thống của họ.

Tùy chọn này hỗ trợ việc lựa chọn cấu hình hiệu quả nhất bằng cách xác định
thiết bị thích hợp cho hệ thống của người dùng. Điểm chuẩn tích hợp được chạy trên tất cả
Các thiết bị OpenCL và hiệu suất được đo cho từng thiết bị. Các thiết bị trong
danh sách kết quả được sắp xếp dựa trên hiệu suất của chúng với thiết bị nhanh nhất được liệt kê
đầu tiên. Người dùng sau đó có thể gọi ffmpeg sử dụng thiết bị được coi là nhiều nhất
thích hợp thông qua -opencl_options để đạt được hiệu suất tốt nhất cho OpenCL
mã tăng tốc.

Cách sử dụng điển hình để sử dụng thiết bị OpenCL nhanh nhất bao gồm các bước sau.

Chạy lệnh:

ffmpeg -opencl_bench

Ghi lại ID nền tảng (pidx) và ID thiết bị (đã làm) của thiết bị đầu tiên tức là nhanh nhất
trong danh sách. Chọn nền tảng và thiết bị bằng lệnh:

ffmpeg -opencl_options platform_idx = : device_idx = ...

-opencl_options lựa chọn (toàn cầu)
Đặt tùy chọn môi trường OpenCL. Tùy chọn này chỉ khả dụng khi FFmpeg đã được
được biên dịch bằng "--enable-opencl".

lựa chọn phải là một danh sách của chính=giá trị các cặp tùy chọn được phân tách bằng ':'. Xem phần `` OpenCL
Phần Options '' trong sổ tay ffmpeg-utils để biết danh sách các tùy chọn được hỗ trợ.

TRÁNH
Các tùy chọn này được cung cấp trực tiếp bởi libavformat, libavdevice và libavcodec
các thư viện. Để xem danh sách AVOptions có sẵn, hãy sử dụng -Cứu giúp Lựa chọn. họ đang
được tách thành hai loại:

chủng loại
Các tùy chọn này có thể được đặt cho bất kỳ vùng chứa, codec hoặc thiết bị nào. Các tùy chọn chung là
được liệt kê trong tùy chọn AVFormatContext cho vùng chứa / thiết bị và trong AVCodecContext
tùy chọn cho codec.

riêng
Các tùy chọn này dành riêng cho vùng chứa, thiết bị hoặc codec nhất định. Tùy chọn riêng tư
được liệt kê trong vùng chứa / thiết bị / codec tương ứng của chúng.

Ví dụ: để ghi tiêu đề ID3v2.3 thay vì ID3v2.4 mặc định vào tệp MP3, hãy sử dụng
các id3v2_version tùy chọn riêng của máy muxer MP3:

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

Tất cả codec AVOptions đều là mỗi luồng và do đó, một công cụ chỉ định luồng phải được đính kèm vào
Chúng.

Lưu ý: -không có tùy chọn cú pháp không thể được sử dụng cho boolean AVOptions, sử dụng -Lựa chọn 0/-Lựa chọn 1.

Lưu ý: cách cũ không có tài liệu để chỉ định AVOptions trên mỗi luồng bằng cách thêm v / a / s vào
tên tùy chọn hiện đã lỗi thời và sẽ sớm bị xóa.

Chủ yếu lựa chọn
-f fmt (đầu ra đầu vào)
Buộc định dạng tệp đầu vào hoặc đầu ra. Định dạng thường được tự động phát hiện cho đầu vào
tệp và được đoán từ phần mở rộng tệp cho tệp đầu ra, vì vậy tùy chọn này không
cần thiết trong hầu hết các trường hợp.

-i tên tập tin (đầu vào)
tên tệp đầu vào

-y (toàn cầu)
Ghi đè các tệp đầu ra mà không cần hỏi.

-n (toàn cầu)
Không ghi đè tệp đầu ra và thoát ngay lập tức nếu đã có tệp đầu ra cụ thể
tồn tại.

-NS[:luồng_specifier] giải mã (đầu vào / đầu ra, mỗi luồng)
-codec [:luồng_specifier] giải mã (đầu vào / đầu ra, mỗi luồng)
Chọn bộ mã hóa (khi được sử dụng trước tệp đầu ra) hoặc bộ giải mã (khi được sử dụng trước
tệp đầu vào) cho một hoặc nhiều luồng. giải mã là tên của bộ giải mã / bộ mã hóa hoặc
giá trị đặc biệt "sao chép" (chỉ đầu ra) để chỉ ra rằng luồng không được tái
được mã hóa.

Ví dụ

ffmpeg -i INPUT -map 0 -c: v libx264 -c: một bản sao OUTPUT

mã hóa tất cả các luồng video bằng libx264 và sao chép tất cả các luồng âm thanh.

Đối với mỗi luồng, tùy chọn "c" phù hợp cuối cùng được áp dụng, vì vậy

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

sẽ sao chép tất cả các luồng ngoại trừ video thứ hai, sẽ được mã hóa bằng libx264,
và âm thanh thứ 138, sẽ được mã hóa bằng libvorbis.

-t thời gian (đầu ra đầu vào)
Khi được sử dụng làm tùy chọn đầu vào (trước "-i"), hãy giới hạn thời gian dữ liệu được đọc từ
tập tin đầu vào.

Khi được sử dụng như một tùy chọn đầu ra (trước tên tệp đầu ra), hãy ngừng ghi đầu ra
sau khi thời hạn của nó đạt đến thời gian.

thời gian 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.

-to và -t loại trừ lẫn nhau và -t có quyền ưu tiên.

-đến vị trí (đầu ra)
Dừng ghi đầu ra tại vị trí. vị trí phải là một đặc điểm kỹ thuật về thời lượng,
xem các Thời gian thời gian phần in các ffmpeg-utils(1) nhãn hiệu.

-to và -t loại trừ lẫn nhau và -t có quyền ưu tiên.

-fs giới hạn_size (đầu ra)
Đặt giới hạn kích thước tệp, được biểu thị bằng byte.

-NS vị trí (đầu ra đầu vào)
Khi được sử dụng làm tùy chọn đầu vào (trước "-i"), hãy tìm kiếm trong tệp đầu vào này để vị trí. Ghi chú
rằng ở hầu hết các định dạng, không thể tìm kiếm chính xác, vì vậy ffmpeg sẽ tìm kiếm
điểm tìm kiếm gần nhất trước đây vị trí. Khi chuyển mã và -chính xác_seek được kích hoạt
(mặc định), đoạn bổ sung này giữa điểm tìm kiếm và vị trí sẽ được giải mã
và bị loại bỏ. Khi thực hiện sao chép luồng hoặc khi -noaccurate_seek được sử dụng, nó sẽ được
bảo quản.

Khi được sử dụng làm tùy chọn đầu ra (trước tên tệp đầu ra), giải mã nhưng loại bỏ đầu vào
cho đến khi các dấu thời gian đạt đến vị trí.

vị trí 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.

-nó vị trí (đầu ra đầu vào)
Giống như tùy chọn "-ss" nhưng liên quan đến "cuối tệp". Đó là giá trị âm là
trước đó trong tệp, 0 ở EOF.

-itsoffset bù đắp (đầu vào)
Đặt độ lệch thời gian đầu vào.

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 thêm vào dấu thời gian của các tệp đầu vào. Chỉ định một phần bù dương
có nghĩa là các luồng tương ứng bị trì hoãn trong khoảng thời gian được chỉ định trong
bù đắp.

-dấu thời gian ngày (đầu ra)
Đặt dấu thời gian ghi trong vùng chứa.

ngày phải là một đặc điểm kỹ thuật ngày, xem các Ngày phần in các ffmpeg-utils(1) nhãn hiệu.

-metadata [: metadata_specifier] chính=giá trị (đầu ra, mỗi siêu dữ liệu)
Đặt cặp khóa / giá trị siêu dữ liệu.

Một tùy chọn siêu dữ liệu_specifier có thể được cung cấp để đặt siêu dữ liệu trên luồng hoặc chương.
Xem tài liệu "-map_metadata" để biết chi tiết.

Tùy chọn này ghi đè tập siêu dữ liệu bằng "-map_metadata". Nó cũng có thể xóa
siêu dữ liệu bằng cách sử dụng một giá trị trống.

Ví dụ: để đặt tiêu đề trong tệp đầu ra:

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

Để đặt ngôn ngữ của luồng âm thanh đầu tiên:

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

-Mục tiêu kiểu (đầu ra)
Chỉ định loại tệp đích ("vcd", "svcd", "dvd", "dv", "dv50"). kiểu có thể được đặt trước
với "pal-", "ntsc-" hoặc "film-" để sử dụng tiêu chuẩn tương ứng. Tất cả các định dạng
các tùy chọn (tốc độ bit, codec, kích thước bộ đệm) sau đó được đặt tự động. Bạn có thể chỉ cần gõ:

ffmpeg -i myfile.avi -đích vcd /tmp/vcd.mpg

Tuy nhiên, bạn có thể chỉ định các tùy chọn bổ sung miễn là bạn biết chúng không
xung đột với tiêu chuẩn, như trong:

ffmpeg -i myfile.avi -mục tiêu vcd -bf 2 /tmp/vcd.mpg

-dframes con số (đầu ra)
Đặt số lượng khung dữ liệu để xuất. Đây là bí danh cho "-frames: d".

-frames [:luồng_specifier] số lượng khung (đầu ra, mỗi luồng)
Dừng ghi vào luồng sau số lượng khung khung.

-NS[:luồng_specifier] q (đầu ra, mỗi luồng)
-qscale [:luồng_specifier] q (đầu ra, mỗi luồng)
Sử dụng thang đo chất lượng cố định (VBR). Nghĩa của q/thang đo q phụ thuộc vào codec. Nếu như thang đo q
được sử dụng mà không có luồng_specifier thì nó chỉ áp dụng cho luồng video, đây là
để duy trì khả năng tương thích với hành vi trước đó và khi chỉ định cùng một codec
giá trị cụ thể cho 2 codec khác nhau là âm thanh và video nói chung không phải là
dự định khi không sử dụng stream_specifier.

-lọc[:luồng_specifier] bộ lọc (đầu ra, mỗi luồng)
Tạo sơ đồ bộ lọc được chỉ định bởi bộ lọc và sử dụng nó để lọc luồng.

bộ lọc là mô tả của sơ đồ bộ lọc để áp dụng cho luồng và phải có
một đầu vào duy nhất và một đầu ra duy nhất của cùng một loại luồng. Trong đồ thị bộ lọc,
đầu vào được liên kết với nhãn "in" và đầu ra với nhãn "out". Xem
hướng dẫn sử dụng ffmpeg-Filter để biết thêm thông tin về cú pháp đồ thị bộ lọc.

Xem -filter_complex tùy chọn nếu bạn muốn tạo đồ thị bộ lọc với nhiều đầu vào
và / hoặc kết quả đầu ra.

-filter_script [:luồng_specifier] tên tập tin (đầu ra, mỗi luồng)
Tùy chọn này tương tự như -bộ lọc, sự khác biệt duy nhất là đối số của nó là
tên của tệp mà từ đó mô tả sơ đồ lọc sẽ được đọc.

-pre [:luồng_specifier] tên đặt trước (đầu ra, mỗi luồng)
Chỉ định giá trị đặt trước cho (các) luồng phù hợp.

-số liệu thống kê (toàn cầu)
In tiến trình / thống kê mã hóa. Nó được bật theo mặc định, để tắt nó một cách rõ ràng, bạn
cần chỉ định "-nostats".

-tiến triển url (toàn cầu)
Gửi thông tin tiến độ thân thiện với chương trình tới url.

Thông tin tiến trình được viết khoảng mỗi giây và ở cuối
quá trình mã hóa. No được lam tư "chính=giá trị"dòng. chính chỉ bao gồm chữ và số
nhân vật. Chìa khóa cuối cùng của chuỗi thông tin tiến trình luôn là "tiến độ".

-stdin
Cho phép tương tác trên đầu vào chuẩn. Bật theo mặc định trừ khi đầu vào tiêu chuẩn được sử dụng làm
một đầu vào. Để tắt tương tác một cách rõ ràng, bạn cần chỉ định "-nostdin".

Việc tắt tương tác trên đầu vào tiêu chuẩn rất hữu ích, ví dụ: nếu ffmpeg trong
nhóm quy trình nền. Gần như có thể đạt được kết quả tương tự với "ffmpeg ...
/ dev / null "nhưng nó yêu cầu một trình bao.

-debug_ts (toàn cầu)
In thông tin dấu thời gian. Nó bị tắt theo mặc định. Tùy chọn này chủ yếu hữu ích cho
mục đích thử nghiệm và gỡ lỗi và định dạng đầu ra có thể thay đổi từ một phiên bản sang
khác, vì vậy nó không nên được sử dụng bởi các tập lệnh di động.

Xem thêm tùy chọn "-fdebug ts".

-gắn tên tập tin (đầu ra)
Thêm phần đính kèm vào tệp đầu ra. Điều này được hỗ trợ bởi một số định dạng như Matroska
ví dụ: phông chữ được sử dụng trong kết xuất phụ đề. Các tệp đính kèm được thực hiện như một
loại luồng, vì vậy tùy chọn này sẽ thêm một luồng mới vào tệp. Sau đó nó có thể
để sử dụng các tùy chọn cho mỗi luồng trên luồng này theo cách thông thường. Đã tạo luồng tệp đính kèm
với tùy chọn này sẽ được tạo sau tất cả các luồng khác (tức là những luồng được tạo bằng
"-map" hoặc ánh xạ tự động).

Lưu ý rằng đối với Matroska, bạn cũng phải đặt thẻ siêu dữ liệu mimetype:

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

(giả sử rằng luồng tệp đính kèm sẽ là thứ ba trong tệp đầu ra).

-dump_attachment [:luồng_specifier] tên tập tin (đầu vào, mỗi luồng)
Trích xuất luồng tệp đính kèm phù hợp thành một tệp có tên tên tập tin. Nếu tên tập tin is
trống, thì giá trị của thẻ siêu dữ liệu "tên tệp" sẽ được sử dụng.

Ví dụ: giải nén tệp đính kèm đầu tiên vào tệp có tên 'out.ttf':

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

Để giải nén tất cả các tệp đính kèm vào tệp được xác định bởi thẻ "tên tệp":

ffmpeg -dump_attachment: t "" -i INPUT

Lưu ý kỹ thuật - tệp đính kèm được triển khai dưới dạng ngoại dữ liệu codec, vì vậy tùy chọn này có thể
thực sự được sử dụng để trích xuất ngoại dữ liệu từ bất kỳ luồng nào, không chỉ tệp đính kèm.

-noautorotate
Tắt tự động xoay video dựa trên siêu dữ liệu tệp.

Video Các lựa chọn
-vframes con số (đầu ra)
Đặt số lượng khung hình video để xuất. Đây là bí danh cho "-frames: v".

-NS[:luồng_specifier] fps (đầu vào / đầu ra, mỗi luồng)
Đặt tốc độ khung hình (giá trị Hz, phân số hoặc chữ viết tắt).

Là một tùy chọn đầu vào, hãy bỏ qua bất kỳ dấu thời gian nào được lưu trữ trong tệp và thay vào đó tạo
dấu thời gian giả định tốc độ khung hình không đổi fps. Điều này không giống với -tỷ lệ khung hình
tùy chọn được sử dụng cho một số định dạng đầu vào như image2 hoặc v4l2 (nó từng giống nhau trong
phiên bản cũ hơn của FFmpeg). Nếu nghi ngờ sử dụng -tỷ lệ khung hình thay vì tùy chọn đầu vào -r.

Là một tùy chọn đầu ra, sao chép hoặc bỏ khung đầu vào để đạt được khung đầu ra không đổi
tỷ lệ fps.

-NS[:luồng_specifier] kích thước (đầu vào / đầu ra, mỗi luồng)
Đặt kích thước khung.

Là một tùy chọn đầu vào, đây là một phím tắt cho kích thước video tùy chọn riêng tư, được công nhận
bởi một số demuxer mà kích thước khung hình không được lưu trữ trong tệp hoặc là
có thể định cấu hình - ví dụ: video thô hoặc trình lấy video.

Là một tùy chọn đầu ra, điều này sẽ chèn bộ lọc video "tỷ lệ" vào cuối của
đồ thị bộ lọc tương ứng. Vui lòng sử dụng bộ lọc "tỷ lệ" trực tiếp để chèn nó vào
bắt đầu hoặc một số nơi khác.

Định dạng là RxC (mặc định - giống như nguồn).

-diện mạo[:luồng_specifier] khía cạnh (đầu ra, mỗi luồng)
Đặt tỷ lệ khung hình hiển thị video được chỉ định bởi khía cạnh.

khía cạnh có thể là một chuỗi số dấu phẩy động hoặc một chuỗi có dạng num:ngày, Nơi
numngày là tử số và mẫu số của tỷ lệ khung hình. Ví dụ "4: 3",
"16: 9", "1.3333" và "1.7777" là các giá trị đối số hợp lệ.

Nếu được sử dụng cùng với -vcodec bản sao, nó sẽ ảnh hưởng đến tỷ lệ khung hình được lưu trữ tại
mức vùng chứa, nhưng không phải là tỷ lệ khung hình được lưu trữ trong các khung được mã hóa, nếu nó tồn tại.

-vn (đầu ra)
Tắt tính năng quay video.

-vcodec giải mã (đầu ra)
Đặt codec video. Đây là bí danh cho "-codec: v".

-đi qua[:luồng_specifier] n (đầu ra, mỗi luồng)
Chọn số vượt qua (1 hoặc 2). Nó được sử dụng để mã hóa video hai lần. Các
thống kê của video được ghi lại trong lần chuyển đầu tiên vào tệp nhật ký (xem thêm
option -passlogfile), và trong lần vượt qua thứ hai, tệp nhật ký đó được sử dụng để tạo
video ở tốc độ bit được yêu cầu chính xác. Trên lượt 1, bạn chỉ có thể tắt âm thanh và
đặt đầu ra thành null, ví dụ cho Windows và Unix:

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

-passlogfile [:luồng_specifier] tiếp đầu ngữ (đầu ra, mỗi luồng)
Đặt tiền tố tên tệp nhật ký hai lần thành tiếp đầu ngữ, tiền tố tên tệp mặc định là
`` ffmpeg2pass ''. Tên tệp hoàn chỉnh sẽ là TIỀN TỐ-N.log, trong đó N là một số
cụ thể cho luồng đầu ra

-vf bộ lọc (đầu ra)
Tạo sơ đồ bộ lọc được chỉ định bởi bộ lọc và sử dụng nó để lọc luồng.

Đây là bí danh cho "-filter: v", hãy xem -bộ lọc tùy chọn.

Nâng cao Video lựa chọn
-pix_fmt [:luồng_specifier] định dạng (đầu vào / đầu ra, mỗi luồng)
Đặt định dạng pixel. Sử dụng "-pix_fmts" để hiển thị tất cả các định dạng pixel được hỗ trợ. Nếu
không thể chọn định dạng pixel đã chọn, ffmpeg sẽ in cảnh báo và chọn
định dạng pixel tốt nhất được hỗ trợ bởi bộ mã hóa. Nếu như pix_fmt có tiền tố là "+", ffmpeg
sẽ thoát với lỗi nếu không thể chọn định dạng pixel được yêu cầu và
chuyển đổi tự động bên trong đồ thị bộ lọc bị tắt. Nếu như pix_fmt là một "+" duy nhất,
ffmpeg chọn định dạng pixel giống như đầu vào (hoặc đầu ra biểu đồ) và tự động
chuyển đổi bị vô hiệu hóa.

-sws_flags cờ (đầu ra đầu vào)
Đặt cờ SwScaler.

-vdt n
Loại bỏ ngưỡng.

-rc_override [:luồng_specifier] ghi đè (đầu ra, mỗi luồng)
Ghi đè kiểm soát tốc độ cho các khoảng thời gian cụ thể, được định dạng dưới dạng danh sách "int, int, int"
ngăn cách bằng dấu gạch chéo. Hai giá trị đầu tiên là số khung bắt đầu và số khung kết thúc, cuối cùng
một là bộ định lượng để sử dụng nếu tích cực, hoặc yếu tố chất lượng nếu tiêu cực.

-ilme
Buộc hỗ trợ xen kẽ trong bộ mã hóa (chỉ MPEG-2 và MPEG-4). Sử dụng tùy chọn này nếu
tệp đầu vào của bạn bị xen kẽ và bạn muốn giữ định dạng xen kẽ ở mức tối thiểu
lỗ vốn. Giải pháp thay thế là khử xen kẽ luồng đầu vào bằng -khử xen kẽ, Nhưng
deinterlacing dẫn đến tổn thất.

-psnr
Tính PSNR của khung nén.

-vstats
Kết xuất số liệu thống kê mã hóa video sang vstats_HHMMSS.log.

-vstats_file hồ sơ
Kết xuất số liệu thống kê mã hóa video sang hồ sơ.

-đứng đầu[:luồng_specifier] n (đầu ra, mỗi luồng)
top = 1 / bottom = 0 / auto = -1 trường đầu tiên

-dc chính xác
Intra_dc_preferences.

-vtag bốncc / thẻ (đầu ra)
Buộc thẻ video / bốncc. Đây là bí danh của "-tag: v".

-qphist (toàn cầu)
Hiển thị biểu đồ QP

-vbsf bitstream_filter
See -bsf không được chấp nhận

-force_key_frames [:luồng_specifier] thời gian[,thời gian...] (đầu ra, mỗi luồng)
-force_key_frames [:luồng_specifier] kinh nghiệm:thể hiện (đầu ra, mỗi luồng)
Buộc các khung hình chính ở các dấu thời gian được chỉ định, chính xác hơn là ở các khung hình đầu tiên sau
từng thời điểm xác định.

Nếu đối số có tiền tố là "expr:", chuỗi thể hiện được hiểu như một
biểu thức và được đánh giá cho mỗi khung. Một khung chính được buộc trong trường hợp
đánh giá là khác không.

Nếu một trong những thời điểm là "" chương "[đồng bằng] ", nó được mở rộng thành thời gian của
bắt đầu của tất cả các chương trong tệp, được dịch chuyển bởi đồng bằng, được biểu thị bằng thời gian trong
giây. Tùy chọn này có thể hữu ích để đảm bảo rằng điểm tìm kiếm hiện diện tại
đánh dấu chương hoặc bất kỳ vị trí nào khác được chỉ định trong tệp đầu ra.

Ví dụ: để chèn một khung chính ở 5 phút, cộng với các khung chính 0.1 giây trước
đầu mỗi chương:

-force_key_frames 0: 05: 00, chương-0.1

Biểu thức trong thể hiện có thể chứa các hằng số sau:

n số lượng khung hình được xử lý hiện tại, bắt đầu từ 0

n_ép buộc
số lượng khung hình bắt buộc

pres_forced_n
số lượng của khung bắt buộc trước đó, nó là "NAN" khi không có khung hình chính nào bị ép buộc
nhưng

pres_forced_t
thời gian của khung bắt buộc trước đó, nó là "NAN" khi chưa có khung hình chính nào được buộc

t thời gian của khung được xử lý hiện tại

Ví dụ: để buộc một khung hình chính cứ sau 5 giây, bạn có thể chỉ định:

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

Để buộc một khung chính 5 giây sau thời điểm buộc khung cuối cùng, bắt đầu từ
thứ 13:

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

Lưu ý rằng việc ép buộc quá nhiều khung hình chính sẽ rất có hại cho các thuật toán nhìn trước của
một số bộ mã hóa nhất định: sử dụng các tùy chọn GOP cố định hoặc tương tự sẽ hiệu quả hơn.

-copyinkf [:luồng_specifier] (đầu ra, mỗi luồng)
Khi thực hiện sao chép luồng, hãy sao chép các khung không phải khóa được tìm thấy ở đầu.

-hwaccel [:luồng_specifier] waccel (đầu vào, mỗi luồng)
Sử dụng tăng tốc phần cứng để giải mã (các) luồng phù hợp. Các giá trị được phép của
waccel là:

không ai
Không sử dụng bất kỳ tính năng tăng tốc phần cứng nào (mặc định).

tự động
Tự động chọn phương pháp tăng tốc phần cứng.

vda Sử dụng tính năng tăng tốc phần cứng VDA của Apple.

vdpau
Sử dụng VDPAU (API Trình bày và Giải mã Video cho Unix) tăng tốc phần cứng.

dxva2
Sử dụng khả năng tăng tốc phần cứng DXVA2 (DirectX Video Acceleration).

Tùy chọn này không có hiệu lực nếu hwaccel đã chọn không có sẵn hoặc không được hỗ trợ bởi
bộ giải mã đã chọn.

Lưu ý rằng hầu hết các phương pháp tăng tốc nhằm mục đích phát lại và sẽ không nhanh hơn
hơn giải mã phần mềm trên các CPU hiện đại. Ngoài ra, ffmpeg thường sẽ cần phải sao chép
các khung được giải mã từ bộ nhớ GPU vào bộ nhớ hệ thống, dẫn đến
giảm hiệu suất. Do đó, tùy chọn này chủ yếu hữu ích cho việc thử nghiệm.

-hwaccel_device [:luồng_specifier] hwaccel_device (đầu vào, mỗi luồng)
Chọn một thiết bị để sử dụng để tăng tốc phần cứng.

Tùy chọn này chỉ có ý nghĩa khi -hwaccel tùy chọn cũng được chỉ định. Chính xác của nó
ý nghĩa phụ thuộc vào phương pháp tăng tốc phần cứng cụ thể được chọn.

vdpau
Đối với VDPAU, tùy chọn này chỉ định màn hình / màn hình X11 để sử dụng. Nếu tùy chọn này là
không được chỉ định, giá trị của DISPLAY biến môi trường được sử dụng

dxva2
Đối với DXVA2, tùy chọn này phải chứa số bộ điều hợp hiển thị sẽ sử dụng.
Nếu tùy chọn này không được chỉ định, bộ điều hợp mặc định sẽ được sử dụng.

-waccels
Liệt kê tất cả các phương pháp tăng tốc phần cứng được hỗ trợ trong bản dựng ffmpeg này.

Bài nghe Các lựa chọn
-aframe con số (đầu ra)
Đặt số lượng khung âm thanh để xuất. Đây là bí danh của "-frames: a".

-ar [:luồng_specifier] tự do (đầu vào / đầu ra, mỗi luồng)
Đặt tần số lấy mẫu âm thanh. Đối với các luồng đầu ra, nó được đặt theo mặc định thành
tần số của dòng đầu vào tương ứng. Đối với các luồng đầu vào, tùy chọn này chỉ thực hiện
cảm nhận đối với các thiết bị thu nhận âm thanh và bộ phân tách thô và được ánh xạ tới
tùy chọn demuxer.

-aq q (đầu ra)
Đặt chất lượng âm thanh (codec cụ thể, VBR). Đây là bí danh cho -q: a.

-AC[:luồng_specifier] kênh (đầu vào / đầu ra, mỗi luồng)
Đặt số lượng kênh âm thanh. Đối với các luồng đầu ra, nó được đặt theo mặc định thành
số kênh âm thanh đầu vào. Đối với các luồng đầu vào, tùy chọn này chỉ có ý nghĩa đối với
thiết bị thu nhận âm thanh và bộ giải mã thô và được ánh xạ tới bộ giải mã tương ứng
tùy chọn.

-một (đầu ra)
Tắt tính năng ghi âm.

-codec giải mã (đầu ra đầu vào)
Đặt codec âm thanh. Đây là bí danh cho "-codec: a".

-sample_fmt [:luồng_specifier] mẫu_fmt (đầu ra, mỗi luồng)
Đặt định dạng mẫu âm thanh. Sử dụng "-sample_fmts" để nhận danh sách các mẫu được hỗ trợ
định dạng.

-af bộ lọc (đầu ra)
Tạo sơ đồ bộ lọc được chỉ định bởi bộ lọc và sử dụng nó để lọc luồng.

Đây là bí danh cho "-filter: a", hãy xem -bộ lọc tùy chọn.

Nâng cao Bài nghe lựa chọn
-tag bốncc / thẻ (đầu ra)
Buộc thẻ âm thanh / bốncc. Đây là bí danh của "-tag: a".

-absf bitstream_filter
Không được dùng nữa, hãy xem -bsf

-đoán_layout_max kênh (đầu vào, mỗi luồng)
Nếu không xác định được bố cục kênh đầu vào nào đó, hãy chỉ thử đoán xem nó có tương ứng với lúc
hầu hết số kênh được chỉ định. Ví dụ, 2 nói với ffmpeg để nhận ra 1
kênh là đơn âm và 2 kênh như âm thanh nổi nhưng không phải 6 kênh như 5.1. Mặc định là
luôn cố gắng đoán. Sử dụng 0 để vô hiệu hóa tất cả đoán.

Phụ đề lựa chọn
-codec giải mã (đầu ra đầu vào)
Đặt codec phụ đề. Đây là bí danh của "-codec: s".

-sn (đầu ra)
Tắt ghi phụ đề.

-sbsf bitstream_filter
Không được dùng nữa, hãy xem -bsf

Nâng cao Phụ đề lựa chọn
-fix_sub_duration
Sửa thời lượng phụ đề. Đối với mỗi phụ đề, hãy đợi gói tiếp theo trong cùng một
phát trực tiếp và điều chỉnh thời lượng của lần đầu tiên để tránh chồng chéo. Điều này là cần thiết với
một số codec phụ đề, đặc biệt là phụ đề DVB, vì thời lượng trong bản gốc
gói chỉ là một ước tính sơ bộ và phần cuối thực sự được đánh dấu bằng một phụ đề trống
khung. Không sử dụng tùy chọn này khi cần thiết có thể dẫn đến thời lượng bị phóng đại
hoặc lỗi trộn do dấu thời gian không đơn điệu.

Lưu ý rằng tùy chọn này sẽ trì hoãn đầu ra của tất cả dữ liệu cho đến gói phụ đề tiếp theo
được giải mã: nó có thể làm tăng mức tiêu thụ bộ nhớ và độ trễ rất nhiều.

-kích thước vải kích thước
Đặt kích thước của canvas được sử dụng để hiển thị phụ đề.

Nâng cao lựa chọn
-bản đồ [-]đầu vào_file_id[:luồng_specifier] [,đồng bộ_file_id[:luồng_specifier]] | [nhãn liên kết]
(đầu ra)
Chỉ định một hoặc nhiều luồng đầu vào làm nguồn cho tệp đầu ra. Mỗi luồng đầu vào
được xác định bởi chỉ mục tệp đầu vào đầu vào_file_id và chỉ mục dòng đầu vào
đầu vào_stream_id trong tệp đầu vào. Cả hai chỉ số đều bắt đầu bằng 0. Nếu được chỉ định,
đồng bộ_file_id:luồng_specifier đặt luồng đầu vào nào được sử dụng làm đồng bộ hóa bản trình bày
tài liệu tham khảo.

Tùy chọn "-map" đầu tiên trên dòng lệnh chỉ định nguồn cho luồng đầu ra 0,
tùy chọn "-map" thứ hai chỉ định nguồn cho luồng đầu ra 1, v.v.

Ký tự "-" trước mã định danh luồng sẽ tạo ánh xạ "phủ định". Nó
vô hiệu hóa các luồng phù hợp từ các ánh xạ đã được tạo.

Một giải pháp thay thế [nhãn liên kết] biểu mẫu sẽ ánh xạ kết quả đầu ra từ các đồ thị bộ lọc phức tạp (xem
-filter_complex tùy chọn) vào tệp đầu ra. nhãn liên kết phải tương ứng với một
nhãn liên kết đầu ra trong biểu đồ.

Ví dụ: để ánh xạ TẤT CẢ các luồng từ tệp đầu vào đầu tiên đến đầu ra

đầu ra ffmpeg -i INPUT -map 0

Ví dụ: nếu bạn có hai luồng âm thanh trong tệp đầu vào đầu tiên, các luồng này là
được xác định bởi "0: 0" và "0: 1". Bạn có thể sử dụng "-map" để chọn luồng sẽ đặt
một tệp đầu ra. Ví dụ:

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

sẽ ánh xạ luồng đầu vào trong ĐẦU VÀO được xác định bằng "0: 1" đối với luồng đầu ra (duy nhất)
in ra.wav.

Ví dụ: để chọn luồng có chỉ mục 2 từ tệp đầu vào a.mov (được chỉ định bởi
số nhận dạng "0: 2") và luồng có chỉ mục 6 từ đầu vào b.mov (được chỉ định bởi
số nhận dạng "1: 6") và sao chép chúng vào tệp đầu ra ra.mov:

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

Để chọn tất cả video và luồng âm thanh thứ ba từ tệp đầu vào:

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

Để ánh xạ tất cả các luồng ngoại trừ âm thanh thứ hai, hãy sử dụng ánh xạ phủ định

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

Để chọn luồng âm thanh tiếng Anh:

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

Lưu ý rằng việc sử dụng tùy chọn này sẽ vô hiệu hóa các ánh xạ mặc định cho tệp đầu ra này.

-ignore_unknown
Bỏ qua các luồng đầu vào có loại không xác định thay vì không thành công nếu sao chép các luồng như vậy
đã cố gắng.

-copy_unknown
Cho phép sao chép các luồng đầu vào không xác định thay vì không thành công nếu sao chép như vậy
luồng được cố gắng.

-map_channel
[đầu vào_file_id.luồng_specifier.kênh ID| -1] [:đầu ra_file_id.luồng_specifier]
Ánh xạ một kênh âm thanh từ một đầu vào nhất định đến một đầu ra. Nếu như
đầu ra_file_id.luồng_specifier không được đặt, kênh âm thanh sẽ được ánh xạ trên tất cả
các luồng âm thanh.

Sử dụng "-1" thay vì đầu vào_file_id.luồng_specifier.kênh ID sẽ lập bản đồ bị tắt tiếng
kênh.

Ví dụ, giả sử ĐẦU VÀO là một tệp âm thanh nổi, bạn có thể chuyển đổi hai âm thanh
các kênh bằng lệnh sau:

ffmpeg -i INPUT -map_channel 0.0.1 -map_channel 0.0.0 ĐẦU RA

Nếu bạn muốn tắt tiếng kênh đầu tiên và giữ kênh thứ hai:

ffmpeg -i INPUT -map_channel -1 -map_channel 0.0.1 ĐẦU RA

Thứ tự của tùy chọn "-map_channel" chỉ định thứ tự của các kênh trong
luồng đầu ra. Bố cục kênh đầu ra được đoán từ số lượng kênh được ánh xạ
(đơn âm nếu một "-map_channel", âm thanh nổi nếu hai, v.v.). Sử dụng "-ac" kết hợp với
"-map_channel" làm cho các mức tăng kênh được cập nhật nếu kênh đầu vào và đầu ra
bố cục không khớp (ví dụ: hai tùy chọn "-map_channel" và "-ac 6").

Bạn cũng có thể trích xuất từng kênh của một đầu vào thành các đầu ra cụ thể; sau đây
lệnh trích xuất hai kênh của ĐẦU VÀO luồng âm thanh (tệp 0, luồng 0) đến
OUTPUT_CH0OUTPUT_CH1 kết quả đầu ra:

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

Ví dụ sau chia các kênh của đầu vào âm thanh nổi thành hai luồng riêng biệt,
được đưa vào cùng một tệp đầu ra:

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

Lưu ý rằng hiện tại mỗi luồng đầu ra chỉ có thể chứa các kênh từ một đầu vào duy nhất
dòng; Ví dụ, bạn không thể sử dụng "-map_channel" để chọn nhiều kênh âm thanh đầu vào
được chứa trong các luồng khác nhau (từ các tệp giống nhau hoặc khác nhau) và hợp nhất chúng thành
một luồng đầu ra duy nhất. Do đó, hiện tại không thể, chẳng hạn như quay
hai luồng đơn âm riêng biệt thành một luồng âm thanh nổi duy nhất. Tuy nhiên tách một âm thanh nổi
có thể phát trực tiếp thành hai luồng đơn kênh đơn.

Nếu bạn cần tính năng này, một giải pháp khả thi là sử dụng kết hợp lọc. Vì
ví dụ, nếu bạn cần hợp nhất một phương tiện (tại đây đầu vào.mkv) với 2 luồng âm thanh đơn âm vào
một luồng âm thanh kênh stereo duy nhất (và giữ luồng video), bạn có thể sử dụng
lệnh sau:

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

-map_metadata [:siêu dữ liệu_spec_out] trong tập tin[:siêu dữ liệu_spec_in] (đầu ra, mỗi siêu dữ liệu)
Đặt thông tin siêu dữ liệu của tệp đầu ra tiếp theo từ trong tập tin. Lưu ý rằng đó là tệp
chỉ số (dựa trên số không), không phải tên tệp. Không bắt buộc metadata_spec_in / out thông số
chỉ định siêu dữ liệu nào để sao chép. Công cụ xác định siêu dữ liệu có thể có các dạng sau:

g siêu dữ liệu toàn cục, tức là siêu dữ liệu áp dụng cho toàn bộ tệp

s[:luồng_spec]
siêu dữ liệu mỗi luồng. luồng_spec là công cụ chỉ định luồng như được mô tả trong Sông
chuyên gia chương. Trong công cụ xác định siêu dữ liệu đầu vào, luồng phù hợp đầu tiên là
được sao chép từ. Trong bộ chỉ định siêu dữ liệu đầu ra, tất cả các luồng phù hợp đều được sao chép sang.

c:chap_index
siêu dữ liệu mỗi chương. chap_index là chỉ mục chương dựa trên số không.

p:chương trình_index
siêu dữ liệu cho mỗi chương trình. chương trình_index là chỉ mục chương trình dựa trên số không.

Nếu bộ chỉ định siêu dữ liệu bị bỏ qua, bộ định nghĩa siêu dữ liệu sẽ mặc định là chung.

Theo mặc định, siêu dữ liệu chung được sao chép từ tệp đầu vào đầu tiên, mỗi luồng và mỗi
siêu dữ liệu chương được sao chép cùng với luồng / chương. Các ánh xạ mặc định này là
bị vô hiệu hóa bằng cách tạo bất kỳ ánh xạ nào thuộc loại có liên quan. Chỉ mục tệp phủ định có thể là
được sử dụng để tạo ánh xạ giả chỉ tắt tính năng sao chép tự động.

Ví dụ: sao chép siêu dữ liệu từ luồng đầu tiên của tệp đầu vào sang toàn cục
siêu dữ liệu của tệp đầu ra:

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

Để làm ngược lại, tức là sao chép siêu dữ liệu toàn cục vào tất cả các luồng âm thanh:

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

Lưu ý rằng số 0 đơn giản cũng sẽ hoạt động trong ví dụ này, vì siêu dữ liệu toàn cầu là
được giả định theo mặc định.

-map_cha chapter đầu vào_file_index (đầu ra)
Sao chép các chương từ tệp đầu vào có chỉ mục đầu vào_file_index sang tệp đầu ra tiếp theo. Nếu như
không có ánh xạ chương nào được chỉ định, sau đó các chương được sao chép từ tệp đầu vào đầu tiên
với ít nhất một chương. Sử dụng chỉ mục tệp phủ định để vô hiệu hóa việc sao chép chương.

-điểm chuẩn (toàn cầu)
Hiển thị thông tin điểm chuẩn ở cuối mã hóa. Hiển thị thời gian CPU được sử dụng và
tiêu thụ bộ nhớ tối đa. Tiêu thụ bộ nhớ tối đa không được hỗ trợ trên tất cả
hệ thống, nó thường sẽ hiển thị là 0 nếu không được hỗ trợ.

-điểm chuẩn_tất cả (toàn cầu)
Hiển thị thông tin điểm chuẩn trong quá trình mã hóa. Hiển thị thời gian CPU được sử dụng trong các bước khác nhau
(mã hóa / giải mã âm thanh / video).

-thời gian giới hạn thời gian (toàn cầu)
Thoát sau khi ffmpeg đã chạy cho thời gian giây.

-bãi rác (toàn cầu)
Đổ từng gói đầu vào sang stderr.

-hex (toàn cầu)
Khi kết xuất các gói, đồng thời kết xuất cả tải trọng.

-re (đầu vào)
Đọc đầu vào ở tốc độ khung hình gốc. Chủ yếu được sử dụng để mô phỏng một thiết bị lấy. hoặc đầu vào trực tiếp
luồng (ví dụ: khi đọc từ một tệp). Không nên được sử dụng với các thiết bị lấy thực tế hoặc
các luồng đầu vào trực tiếp (nơi nó có thể gây mất gói). Theo mặc định ffmpeg cố gắng
đọc (các) đầu vào nhanh nhất có thể. Tùy chọn này sẽ làm chậm quá trình đọc
(các) đầu vào cho tốc độ khung hình gốc của (các) đầu vào. Nó hữu ích cho đầu ra thời gian thực
(ví dụ: phát trực tiếp).

-loop_input
Lặp lại luồng đầu vào. Hiện tại nó chỉ hoạt động cho các luồng hình ảnh. Tùy chọn này là
được sử dụng để kiểm tra FFserver tự động. Tùy chọn này không được dùng nữa, hãy sử dụng -loop 1.

-loop_output số_lần
Đầu ra lặp lại lặp đi lặp lại cho các định dạng hỗ trợ lặp lại chẳng hạn như GIF động (0 sẽ
lặp đầu ra vô hạn). Tùy chọn này không được dùng nữa, hãy sử dụng -loop.

-vsync tham số
Phương thức đồng bộ video. Vì lý do tương thích, các giá trị cũ có thể được chỉ định dưới dạng số.
Các giá trị mới được thêm vào sẽ luôn phải được chỉ định dưới dạng chuỗi.

0, chuyển qua
Mỗi khung được chuyển với dấu thời gian của nó từ demuxer đến muxer.

1, cfr
Khung sẽ được nhân đôi và giảm xuống để đạt được chính xác hằng số được yêu cầu
tỷ lệ khung hình.

2, xem
Khung được chuyển qua cùng với dấu thời gian của chúng hoặc bị rơi để ngăn chặn 2
khung từ có cùng dấu thời gian.

rơi vãi
Như chuyển qua nhưng phá hủy tất cả các dấu thời gian, làm cho bộ trộn tạo mới
dấu thời gian dựa trên tốc độ khung hình.

-1, tự động
Lựa chọn từ 1 đến 2 tùy thuộc vào khả năng của muxer. Đây là mặc định
phương pháp.

Lưu ý rằng dấu thời gian có thể được sửa đổi thêm bởi người làm việc sau này. Vì
ví dụ, trong trường hợp tùy chọn định dạng tránh_negative_ts được kích hoạt.

Với -map, bạn có thể chọn dòng thời gian sẽ được thực hiện. Bạn có thể
giữ nguyên video hoặc âm thanh và đồng bộ hóa (các) luồng còn lại với
không thay đổi một.

-frame_drop_threshold tham số
Ngưỡng giảm khung hình, chỉ định số lượng khung hình video phía sau có thể là bao nhiêu trước khi chúng
bị bỏ. Trong đơn vị tốc độ khung hình, 1.0 là một khung hình. Giá trị mặc định là -1.1. Một
cách sử dụng có thể là để tránh các khung hình trong trường hợp dấu thời gian ồn ào hoặc để tăng
độ chính xác giảm khung hình trong trường hợp dấu thời gian chính xác.

-không đồng bộ sample_per_second
Phương thức đồng bộ âm thanh. "Kéo dài / ép chặt" luồng âm thanh để khớp với dấu thời gian,
tham số là số mẫu tối đa mỗi giây mà âm thanh được thay đổi. -async 1
là một trường hợp đặc biệt trong đó chỉ phần bắt đầu của luồng âm thanh được sửa mà không có bất kỳ
sửa sau.

Lưu ý rằng dấu thời gian có thể được sửa đổi thêm bởi người làm việc sau này. Vì
ví dụ, trong trường hợp tùy chọn định dạng tránh_negative_ts được kích hoạt.

Tùy chọn này đã không được chấp nhận. Thay vào đó, hãy sử dụng bộ lọc âm thanh "aresample".

-nội soi
Không xử lý dấu thời gian đầu vào, nhưng giữ giá trị của chúng mà không cố gắng khử trùng
họ. Đặc biệt, không loại bỏ giá trị bù thời gian bắt đầu ban đầu.

Lưu ý rằng, tùy thuộc vào vsync tùy chọn hoặc xử lý muxer cụ thể (ví dụ: trong trường hợp
tùy chọn định dạng tránh_negative_ts được bật) dấu thời gian đầu ra có thể không khớp
với các dấu thời gian đầu vào ngay cả khi tùy chọn này được chọn.

-start_at_zero
Khi sử dụng với bản sao, thay đổi dấu thời gian đầu vào để chúng bắt đầu từ XNUMX.

Điều này có nghĩa là sử dụng ví dụ: "-ss 50" sẽ làm cho dấu thời gian đầu ra bắt đầu ở 50 giây,
bất kể dấu thời gian mà tệp đầu vào bắt đầu tại.

-copytb chế độ
Chỉ định cách đặt cơ sở thời gian của bộ mã hóa khi sao chép luồng. chế độ là một số nguyên
giá trị số và có thể giả sử một trong các giá trị sau:

1 Sử dụng cơ sở thời gian của demuxer.

Cơ sở thời gian được sao chép sang bộ mã hóa đầu ra từ đầu vào tương ứng
demuxer. Điều này đôi khi được yêu cầu để tránh tăng không đơn điệu
dấu thời gian khi sao chép luồng video có tốc độ khung hình thay đổi.

0 Sử dụng cơ sở thời gian của bộ giải mã.

Cơ sở thời gian được sao chép sang bộ mã hóa đầu ra từ đầu vào tương ứng
bộ giải mã.

-1 Cố gắng thực hiện lựa chọn tự động, để tạo ra một đầu ra lành mạnh.

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

-mới nhất (đầu ra)
Kết thúc mã hóa khi luồng đầu vào ngắn nhất kết thúc.

-dts_delta_threshold
Ngưỡng delta gián đoạn dấu thời gian.

-muxdelay giây (đầu vào)
Đặt độ trễ giải mã demux tối đa.

-muxpreload giây (đầu vào)
Đặt độ trễ giải mã demux ban đầu.

-stream đầu ra-luồng-chỉ mục:mới có giá trị (đầu ra)
Gán giá trị luồng-id mới cho luồng đầu ra. Tùy chọn này nên được chỉ định
trước tên tệp đầu ra mà nó áp dụng. Đối với tình huống có nhiều
các tệp đầu ra tồn tại, một luồng có thể được gán lại cho một giá trị khác.

Ví dụ: để đặt luồng 0 PID thành 33 và luồng 1 PID thành 36 cho đầu ra
tệp mpegts:

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

-bsf [:luồng_specifier] bitstream_filters (đầu ra, mỗi luồng)
Đặt bộ lọc luồng bit cho các luồng phù hợp. bitstream_filters được phân tách bằng dấu phẩy
danh sách các bộ lọc dòng bit. Sử dụng tùy chọn "-bsfs" để lấy danh sách dòng bit
bộ lọc.

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

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

-nhãn[:luồng_specifier] codec_tag (đầu vào / đầu ra, mỗi luồng)
Buộc thẻ / bốncc cho các luồng phù hợp.

-mã thời gian hh:mm:ssTháng Chínff
Chỉ định Mã thời gian để viết. Tháng Chín là ':' cho mã thời gian không thả và ';' (hoặc là
rơi vãi.

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

-filter_complex bộ lọc (toàn cầu)
Xác định một đồ thị bộ lọc phức tạp, tức là một đồ thị có số lượng đầu vào và / hoặc đầu ra tùy ý.
Đối với các biểu đồ đơn giản - những biểu đồ có một đầu vào và một đầu ra cùng loại - hãy xem
-bộ lọc tùy chọn. bộ lọc là mô tả của đồ thị bộ lọc, như được mô tả trong
Phần `` Cú pháp đồ thị bộ lọc '' của hướng dẫn sử dụng bộ lọc ffmpeg.

Các nhãn liên kết đầu vào phải tham chiếu đến các luồng đầu vào bằng cách sử dụng
Cú pháp "[file_index: stream_specifier]" (nghĩa là giống với -bản đồ sử dụng). Nếu như
luồng_specifier khớp với nhiều luồng, luồng đầu tiên sẽ được sử dụng. Không được dán nhãn
đầu vào sẽ được kết nối với luồng đầu vào chưa sử dụng đầu tiên của loại đối sánh.

Các nhãn liên kết đầu ra được tham chiếu với -bản đồ. Đầu ra không gắn nhãn được thêm vào đầu tiên
tập tin đầu ra.

Lưu ý rằng với tùy chọn này, chỉ có thể sử dụng nguồn lavfi mà không cần bình thường
các tập tin đầu vào.

Ví dụ: để phủ một hình ảnh lên video

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

Ở đây "[0: v]" đề cập đến luồng video đầu tiên trong tệp đầu vào đầu tiên, được liên kết
vào đầu vào (chính) đầu tiên của bộ lọc lớp phủ. Tương tự, luồng video đầu tiên trong
đầu vào thứ hai được liên kết với đầu vào (lớp phủ) thứ hai của lớp phủ.

Giả sử chỉ có một luồng video trong mỗi tệp đầu vào, chúng tôi có thể bỏ qua các nhãn đầu vào,
vì vậy ở trên tương đương với

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

Hơn nữa, chúng ta có thể bỏ qua nhãn đầu ra và đầu ra đơn lẻ khỏi biểu đồ bộ lọc
sẽ tự động được thêm vào tệp đầu ra, vì vậy chúng tôi có thể chỉ cần ghi

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

Để tạo 5 giây video màu đỏ thuần bằng nguồn "màu" lavfi:

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

-lavfi bộ lọc (toàn cầu)
Xác định một đồ thị bộ lọc phức tạp, tức là một đồ thị có số lượng đầu vào và / hoặc đầu ra tùy ý.
Tương đương với -filter_complex.

-filter_complex_script tên tập tin (toàn cầu)
Tùy chọn này tương tự như -filter_complex, sự khác biệt duy nhất là đối số của nó là
tên của tệp mà từ đó mô tả sơ đồ lọc phức tạp sẽ được đọc.

-chính xác_seek (đầu vào)
Tùy chọn này bật hoặc tắt tính năng tìm kiếm chính xác trong các tệp đầu vào với -NS tùy chọn.
Nó được bật theo mặc định, vì vậy việc tìm kiếm là chính xác khi chuyển mã. Sử dụng
-noaccurate_seek để vô hiệu hóa nó, điều này có thể hữu ích, chẳng hạn như khi sao chép một số luồng và
chuyển mã những cái khác.

-seek_timestamp (đầu vào)
Tùy chọn này bật hoặc tắt tính năng tìm kiếm theo dấu thời gian trong các tệp đầu vào với -NS
Lựa chọn. Nó bị tắt theo mặc định. Nếu được bật, đối số cho -NS Tùy chọn là
được coi là dấu thời gian thực và không được bù đắp bởi thời gian bắt đầu của tệp. Cái này
chỉ quan trọng đối với các tệp không bắt đầu từ dấu thời gian 0, chẳng hạn như luồng truyền tải.

-thread_queue_size kích thước (đầu vào)
Tùy chọn này đặt số lượng gói tin được xếp hàng đợi tối đa khi đọc từ tệp hoặc
thiết bị. Với các luồng trực tiếp có độ trễ thấp / tốc độ cao, các gói có thể bị loại bỏ nếu chúng
không được đọc một cách kịp thời; nâng cao giá trị này có thể tránh được nó.

-override_ffserver (toàn cầu)
Ghi đè các thông số kỹ thuật đầu vào từ máy chủ. Sử dụng tùy chọn này, bạn có thể lập bản đồ bất kỳ
luồng đầu vào cho máy chủ và kiểm soát nhiều khía cạnh của mã hóa từ ffmpeg. Không có
tùy chọn này ffmpeg sẽ truyền đến máy chủ những gì được yêu cầu bởi máy chủ.

Tùy chọn này dành cho các trường hợp cần các tính năng mà không thể chỉ định
máy chủ nhưng có thể ffmpeg.

-sdp_file hồ sơ (toàn cầu)
In thông tin sdp cho một luồng đầu ra tới hồ sơ. Điều này cho phép kết xuất sdp
thông tin khi ít nhất một đầu ra không phải là luồng rtp. (Yêu cầu ít nhất một trong số
định dạng đầu ra là rtp).

-đĩa giấy (đầu vào)
Cho phép loại bỏ các luồng hoặc khung cụ thể của các luồng tại trình demuxer. Không phải tất cả
demuxers hỗ trợ điều này.

không ai
Loại bỏ không có khung.

mặc định
Mặc định, không loại bỏ khung.

noref
Bỏ tất cả các hệ không tham chiếu.

giá thầu
Loại bỏ tất cả các khung hai chiều.

không cần thiết
Loại bỏ tất cả các khung ngoại trừ khung chính.

tất cả các Bỏ tất cả các khung.

-xlỗi (toàn cầu)
Dừng và thoát khi bị lỗi

Là một ngoại lệ đặc biệt, bạn có thể sử dụng luồng phụ đề bitmap làm đầu vào: nó sẽ là
được chuyển đổi thành video có cùng kích thước với video lớn nhất trong tệp hoặc 720x576 nếu
không có video nào. Lưu ý rằng đây là một giải pháp thử nghiệm và tạm thời. Nó sẽ là
bị xóa sau khi libavfilter có hỗ trợ phù hợp cho phụ đề.

Ví dụ: để mã hóa phụ đề trên đầu bản ghi DVB-T được lưu trữ ở định dạng MPEG-TS,
trì hoãn phụ đề 1 giây:

ffmpeg -i input.ts -filter_complex \
'[# 0x2ef] setpts = PTS + 1 / TB [phụ]; [# 0x2d0] [sub] lớp phủ '\
-sn -map '# 0x2dc' output.mkv

(0x2d0, 0x2dc và 0x2ef là MPEG-TS PID của video, âm thanh và
dòng phụ đề; 0: 0, 0: 3 và 0: 7 cũng sẽ hoạt động)

Preset các tập tin
Một tệp đặt trước chứa một chuỗi tùy chọn=giá trị các cặp, một cho mỗi dòng, chỉ định một
chuỗi các tùy chọn mà sẽ rất khó để chỉ định trên dòng lệnh. Các dòng bắt đầu
với ký tự băm ('#') bị bỏ qua và được sử dụng để cung cấp nhận xét. Kiểm tra
cài đặt trước thư mục trong cây nguồn FFmpeg để làm ví dụ.

Có hai loại tệp đặt trước: tệp ffpreset và tệp avpreset.

ffpreset các tập tin

tệp ffpreset được chỉ định với các tùy chọn "vpre", "apre", "spre" và "fpre". Các
tùy chọn "fpre" lấy tên tệp của giá trị đặt trước thay vì tên đặt trước làm đầu vào và có thể
được sử dụng cho bất kỳ loại codec nào. Đối với các tùy chọn "vpre", "apre" và "spre", các tùy chọn
được chỉ định trong một tệp đặt trước được áp dụng cho codec hiện được chọn cùng loại với
tùy chọn đặt trước.

Đối số được truyền cho các tùy chọn đặt trước "vpre", "apre" và "spre" xác định giá trị đặt trước
tệp để sử dụng theo các quy tắc sau:

Ffmpeg đầu tiên tìm kiếm một tệp có tên arg.ffpreset trong các thư mục $ FFMPEG_DATADIR (nếu
thiết lập và $ HOME / .ffmpegvà trong datadir được xác định tại thời điểm cấu hình (thường là
PREFIX / share / ffmpeg) hoặc trong một ffpresets thư mục dọc theo tệp thực thi trên win32, trong đó
đặt hàng. Ví dụ: nếu đối số là "libvpx-1080p", nó sẽ tìm kiếm tệp
libvpx-1080p.ffpreset.

Nếu không tìm thấy tệp nào như vậy, thì ffmpeg sẽ tìm kiếm tệp có tên codec_name-arg.ffpreset
trong các thư mục được đề cập ở trên, nơi codec_name là tên của codec mà
các tùy chọn tệp đặt trước sẽ được áp dụng. Ví dụ: nếu bạn chọn codec video với
"-vcodec libvpx" và sử dụng "-vpre 1080p", sau đó nó sẽ tìm kiếm tệp
libvpx-1080p.ffpreset.

avpreset các tập tin

tệp avpreset được chỉ định với tùy chọn "trước". Chúng hoạt động tương tự như các tệp ffpreset,
nhưng chúng chỉ cho phép các tùy chọn dành riêng cho bộ mã hóa. Do đó, một tùy chọn=giá trị xác định cặp
không thể sử dụng bộ mã hóa.

Khi tùy chọn "trước" được chỉ định, ffmpeg sẽ tìm kiếm các tệp có hậu tố .avpreset
trong các thư mục $ AVCONV_DATADIR (nếu được đặt), và $ HOME / .avconvvà trong datadir được xác định
tại thời điểm cấu hình (thường là PREFIX / share / ffmpeg), theo thứ tự đó.

Ffmpeg đầu tiên tìm kiếm một tệp có tên codec_name-arg.avpreset trong phần trên
thư mục, ở đâu codec_name là tên của codec mà các tùy chọn tệp đặt trước
sẽ được áp dụng. Ví dụ: nếu bạn chọn codec video với "-vcodec libvpx" và sử dụng
"-pre 1080p", sau đó nó sẽ tìm kiếm tệp libvpx-1080p.avpreset.

Nếu không tìm thấy tệp nào như vậy, thì ffmpeg sẽ tìm kiếm tệp có tên arg.avpreset trong
cùng các thư mục.

VÍ DỤ


Video Bài nghe nắm lấy
Nếu bạn chỉ định định dạng đầu vào và thiết bị thì ffmpeg có thể lấy video và âm thanh trực tiếp.

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

Hoặc với nguồn âm thanh ALSA (đầu vào đơn âm, id thẻ 1) thay vì OSS:

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

Lưu ý rằng bạn phải kích hoạt nguồn và kênh video phù hợp trước khi khởi chạy ffmpeg
với bất kỳ người xem TV nào chẳng hạn nhưhttp://linux.bytesex.org/xawtv/> của Gerd Knorr. Bạn cũng có
để đặt các mức ghi âm thanh một cách chính xác với bộ trộn âm tiêu chuẩn.

X11 nắm lấy
Lấy màn hình X11 với ffmpeg qua

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

0.0 là số màn hình display.screen của máy chủ X11 của bạn, giống như biến môi trường DISPLAY.

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

0.0 là số màn hình display.screen của máy chủ X11 của bạn, giống như biến môi trường DISPLAY.
10 là phần bù x và 20 là phần bù y cho phần lấy.

Video Bài nghe hồ sơ định dạng Chuyển đổi
Mọi định dạng và giao thức tệp được hỗ trợ đều có thể dùng làm đầu vào cho ffmpeg:

Ví dụ:

· Bạn có thể sử dụng tệp YUV làm đầu vào:

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

Nó sẽ sử dụng các tệp:

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

Các tệp Y sử dụng độ phân giải gấp đôi các tệp U và V. Chúng là các tệp thô, không có
đầu trang. Chúng có thể được tạo ra bởi tất cả các bộ giải mã video tốt. Bạn phải chỉ định kích thước
của hình ảnh với -s tùy chọn nếu ffmpeg không thể đoán nó.

· Bạn có thể nhập từ tệp YUV420P thô:

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

test.yuv là một tệp chứa dữ liệu phẳng YUV thô. Mỗi khung bao gồm chữ Y
tiếp theo là mặt phẳng U và V ở độ phân giải bằng nửa phương thẳng đứng và phương ngang.

· Bạn có thể xuất ra tệp YUV420P thô:

ffmpeg -i mydivx.avi giantfile.yuv

· Bạn có thể đặt một số tệp đầu vào và tệp đầu ra:

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

Chuyển đổi tệp âm thanh a.wav và tệp video YUV thô a.yuv thành tệp MPEG a.mpg.

· Bạn cũng có thể thực hiện chuyển đổi âm thanh và video cùng một lúc:

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

Chuyển đổi âm thanh a.wav sang MPEG ở tốc độ mẫu 22050 Hz.

· Bạn có thể mã hóa thành nhiều định dạng cùng một lúc và xác định ánh xạ từ đầu vào
luồng đến luồng đầu ra:

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

Chuyển đổi a.wav thành a.mp2 ở 64 kbits và b.mp2 ở 128 kbits. '-map file: index'
chỉ định luồng đầu vào nào được sử dụng cho mỗi luồng đầu ra, theo thứ tự của
định nghĩa của các luồng đầu ra.

· Bạn có thể chuyển mã VOB được giải mã:

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

Đây là một ví dụ trích xuất DVD điển hình; đầu vào là tệp VOB, đầu ra là tệp AVI
với video MPEG-4 và âm thanh MP3. Lưu ý rằng trong lệnh này, chúng tôi sử dụng khung B nên
Luồng MPEG-4 tương thích với DivX5 và kích thước GOP là 300, nghĩa là một khung hình trong
cứ sau 10 giây cho video đầu vào 29.97fps. Hơn nữa, luồng âm thanh là
Được mã hóa MP3 nên bạn cần bật hỗ trợ LAME bằng cách chuyển "--enable-libmp3lame" tới
cấu hình. Ánh xạ đặc biệt hữu ích cho việc chuyển mã DVD để có được
ngôn ngữ âm thanh.

LƯU Ý: Để xem các định dạng đầu vào được hỗ trợ, hãy sử dụng "ffmpeg -formats".

· Bạn có thể trích xuất hình ảnh từ video hoặc tạo video từ nhiều hình ảnh:

Để trích xuất hình ảnh từ video:

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

Thao tác này sẽ trích xuất một khung hình video mỗi giây từ video và sẽ xuất chúng trong
tệp có tên foo-001.jpeg, foo-002.jpeg, v.v. Hình ảnh sẽ được thay đổi tỷ lệ để phù hợp với
Giá trị WxH.

Nếu bạn chỉ muốn trích xuất một số khung hình giới hạn, bạn có thể sử dụng lệnh trên
kết hợp với tùy chọn -vframes hoặc -t hoặc kết hợp với -ss để bắt đầu
trích xuất từ ​​một thời điểm nhất định.

Để tạo video từ nhiều hình ảnh:

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

Cú pháp "foo-% 03d.jpeg" chỉ định sử dụng số thập phân gồm ba chữ số
được đệm bằng các số XNUMX để thể hiện số thứ tự. Nó là cùng một cú pháp được hỗ trợ bởi
hàm printf C, nhưng chỉ các định dạng chấp nhận một số nguyên bình thường là phù hợp.

Khi nhập chuỗi hình ảnh, -i cũng hỗ trợ mở rộng ký tự đại diện dạng shell
các mẫu (hình cầu) bên trong, bằng cách chọn "-pattern_type hình cầu" cụ thể cho image2
tùy chọn.

Ví dụ: để tạo video từ các tên tệp khớp với hình cầu
"foo - *. jpeg":

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

· Bạn có thể đưa nhiều luồng cùng loại vào đầu ra:

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

Tệp đầu ra kết quả test12.nut sẽ chứa bốn luồng đầu tiên từ
các tập tin đầu vào theo thứ tự ngược lại.

· Để buộc đầu ra video CBR:

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

· Bốn tùy chọn lmin, lmax, mblmin và mblmax sử dụng các đơn vị 'lambda', nhưng bạn có thể sử dụng
QP2LAMBDA hằng số để dễ dàng chuyển đổi từ các đơn vị 'q':

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

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


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    libusb
    libusb
    Thư viện để kích hoạt không gian người dùng
    các chương trình ứng dụng để giao tiếp với
    Thiết bị USB. Đối tượng: Nhà phát triển, Kết thúc
    Người dùng / Máy tính để bàn. Ngôn ngữ lập trình: C.
    Thể loại...
    Tải xuống libusb
  • 2
    VÒI
    VÒI
    SWIG là một công cụ phát triển phần mềm
    kết nối các chương trình được viết bằng C và
    C ++ với nhiều cấp độ cao
    ngôn ngữ lập trình. SWIG được sử dụng với
    khác nhau...
    Tải xuống SWIG
  • 3
    Chủ đề WooCommerce Nextjs React
    Chủ đề WooCommerce Nextjs React
    Chủ đề React WooCommerce, được xây dựng với
    JS tiếp theo, Webpack, Babel, Node và
    Express, sử dụng GraphQL và Apollo
    Khách hàng. Cửa hàng WooCommerce trong React (
    chứa: Sản phẩm ...
    Tải xuống Chủ đề phản ứng WooC Commerce Nextjs
  • 4
    Archlabs_repo
    Archlabs_repo
    Gói repo cho ArchLabs Đây là một
    ứng dụng cũng có thể được tìm nạp
    từ
    https://sourceforge.net/projects/archlabs-repo/.
    Nó đã được lưu trữ trong OnWorks ở...
    Tải xuống archlabs_repo
  • 5
    Dự án Zephyr
    Dự án Zephyr
    Dự án Zephyr là một thế hệ mới
    hệ điều hành thời gian thực (RTOS)
    hỗ trợ nhiều phần cứng
    kiến trúc. Nó dựa trên một
    hạt nhân có dấu chân nhỏ ...
    Tải xuống dự án Zephyr
  • 6
    SCons
    SCons
    SCons là một công cụ xây dựng phần mềm
    đó là một sự thay thế vượt trội so với
    công cụ xây dựng "Make" cổ điển
    tất cả chúng ta đều biết và yêu thích. SCons là
    thực hiện một ...
    Tải xuống SCons
  • Khác »

Lệnh Linux

Ad