Lỗi chạy code ffmpeg không mở cửa sổ cmd năm 2024

Đây là lệnh ffmpeg-all 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 mô phỏng 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 và -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

num

ngà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 mà

OUTPUT_CH0

OUTPUT_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

:

ss

Tháng Chín

ff

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 / .ffmpeg

và 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 / .avconv

và 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 và 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ư//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 và 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

TỔNG HỢP

Phần này ghi lại cú pháp và định dạng được sử dụng bởi các thư viện và công cụ FFmpeg.

Trích dẫn và thoát FFmpeg thông qua cơ chế trích dẫn và thoát sau đây, trừ khi được chỉ định rõ ràng. Các quy tắc sau được áp dụng:

· ' và \ là các ký tự đặc biệt (tương ứng được sử dụng để trích dẫn và thoát). Trong ngoài chúng, có thể có các ký tự đặc biệt khác tùy thuộc vào cú pháp nơi thoát và trích dẫn được sử dụng.

· Một ký tự đặc biệt được thoát ra bằng cách thêm tiền tố \.

· Tất cả các ký tự nằm giữa '' được bao gồm theo nghĩa đen trong chuỗi đã phân tích cú pháp. Các trích dẫn nhân vật ' bản thân nó không thể được trích dẫn, vì vậy bạn có thể cần phải đóng phần trích dẫn và thoát khỏi nó.

· Các khoảng trắng ở đầu và cuối, trừ khi được thoát ra hoặc được trích dẫn, sẽ bị xóa khỏi chuỗi phân tích cú pháp.

Lưu ý rằng bạn có thể cần thêm cấp thoát thứ hai khi sử dụng dòng lệnh hoặc script, phụ thuộc vào cú pháp của ngôn ngữ shell được sử dụng.

Hàm "av_get_token" được xác định trong

libavutil / avstring.h

có thể được sử dụng để phân tích cú pháp mã thông báo được trích dẫn hoặc thoát theo các quy tắc được xác định ở trên.

Công cụ

tools / ffescape

trong cây nguồn FFmpeg có thể được sử dụng để tự động trích dẫn hoặc thoát một chuỗi trong một tập lệnh.

Các ví dụ

· Thoát chuỗi "Crime d'Amour" có chứa ký tự đặc biệt "":

Tội ác của bạn

· Chuỗi ở trên chứa một dấu ngoặc kép, vì vậy "'" cần phải được thoát ra khi trích dẫn nó:

'Tội ác d' \ '' Tình yêu '

· Bao gồm các khoảng trắng đầu hoặc cuối bằng cách sử dụng trích dẫn:

'chuỗi này bắt đầu và kết thúc bằng khoảng trắng'

· Thoát và trích dẫn có thể được trộn lẫn với nhau:

'Chuỗi' \ 'chuỗi \' 'là một chuỗi'

· Để bao gồm một chữ \ bạn có thể sử dụng thoát hoặc trích dẫn:

'c: \ foo' có thể được viết thành c: \\ foo

Ngày Cú pháp được chấp nhận là:

[(YYYY-MM-DD | YYYYMMDD) [T | t | ]] ((HH: MM: SS [.m ...]]]) | (HHMMSS [.m ...]]])) [Z] tại

Nếu giá trị là "bây giờ" thì nó sẽ là thời gian hiện tại.

Giờ là giờ địa phương trừ khi Z được thêm vào, trong trường hợp đó, nó được hiểu là UTC. Nếu phần năm-tháng-ngày không được chỉ định, nó lấy năm-tháng-ngày hiện tại.

Thời gian thời gian Có hai cú pháp được chấp nhận để thể hiện khoảng thời gian.

[-] [ :] : [. ...]

HH

thể hiện số giờ,

MM

số phút cho tối đa 2 chữ số và

SS

số giây có tối đa 2 chữ số. Các

m

ở cuối thể hiện số thập phân giá trị cho

SS

.

or

[-] + [. ...]

S

thể hiện số giây, với phần thập phân tùy chọn

m

.

Trong cả hai biểu thức, tùy chọn - cho biết thời lượng âm.

Các ví dụ

Các ví dụ sau đây đều là khoảng thời gian hợp lệ:

55 55 giây

12:03:45 12 giờ, 03 phút và 45 giây

23.189 23.189 giây

Video kích thước Chỉ định kích thước của video có nguồn gốc, nó có thể là một chuỗi của biểu mẫu

chiều rộng

x

cao

, Hoặc tên của một chữ viết tắt kích thước.

Các chữ viết tắt sau được công nhận:

ntsc 720x480

làm bạn 720x576

qntsc 352x240

qpal 352x288

snsc 640x480

spal 768x576

phim ảnh 352x240

ntsc-phim 352x240

sqcif 128x96

qcif 176x144

cif 352x288

4cif 704x576

16cif 1408x1152

qqvga 160x120

qvga 320x240

vga 640x480

svga 800x600

xga 1024x768

uxga 1600x1200

qxga 2048x1536

sxga 1280x1024

qsxga 2560x2048

hsxga 5120x4096

Ồ 852x480

wxga 1366x768

wsxga 1600x1024

vũ nữ 1920x1200

chó sói 2560x1600

wqsxga 3200x2048

wquxga 3840x2400

cái quái gì thế 6400x4096

ôi trời 7680x4800

cga 320x200

EGA 640x350

hd480 852x480

hd720 1280x720

hd1080 1920x1080

2k 2048x1080

2kphẳng 1998x1080

2 cái kính 2048x858

4k 4096x2160

4kphẳng 3996x2160

4 cái kính 4096x1716

nhd 640x360

hqvga 240x160

wqvga 400x240

fwqvga 432x240

hvga 480x320

qhd 960x540

2kdci 2048x1080

4kdci 4096x2160

uhd2160 3840x2160

uhd4320 7680x4320

Video tỷ lệ Chỉ định tốc độ khung hình của video, được biểu thị bằng số khung hình được tạo mỗi giây. Nó phải là một chuỗi ở định dạng

frame_rate_num

/

frame_rate_den

, một số nguyên, a số thực hoặc từ viết tắt tốc độ khung hình video hợp lệ.

Các chữ viết tắt sau được công nhận:

ntsc 30000/1001

làm bạn 25/1

qntsc 30000/1001

qpal 25/1

snsc 30000/1001

spal 25/1

phim ảnh 24/1

ntsc-phim 24000/1001

Tỷ lệ Một tỷ lệ có thể được biểu thị dưới dạng một biểu thức hoặc dưới dạng

tử số

:

mẫu số

.

Lưu ý rằng tỷ lệ có vô hạn (1/0) hoặc giá trị âm được coi là hợp lệ, vì vậy bạn nên kiểm tra giá trị trả về nếu bạn muốn loại trừ các giá trị đó.

Giá trị không xác định có thể được biểu thị bằng chuỗi "0: 0".

Màu Nó có thể là tên của một màu như được định nghĩa bên dưới (đối sánh không phân biệt chữ hoa chữ thường) hoặc Chuỗi "[0x | #] RRGGBB [AA]", có thể theo sau là @ và một chuỗi đại diện cho alpha thành phần.

Thành phần alpha có thể là một chuỗi được tạo bởi "0x" theo sau là số thập lục phân hoặc một số thập phân từ 0.0 đến 1.0, đại diện cho giá trị độ mờ (0x00 or 0.0 có nghĩa là hoàn toàn minh bạch, 0xff or 1.0 hoàn toàn không trong suốt). Nếu thành phần alpha là không được chỉ định sau đó 0xff được giả định.

Chuỗi ngẫu nhiên sẽ dẫn đến một màu ngẫu nhiên.

Các tên màu sau đây được nhận dạng:

AliceBlue 0xF0F8FF

Đồ cổ 0xFAEBD7

Aqua 0x00FFFF

Lục ngọc 0x7FFFD4

Azure 0xF0FFFF

Be 0xF5F5DC

Bisque 0xFFE4C4

Đen 0x000000

BlanchedAlmond 0xFFEBCD

Màu xanh da trời 0x0000FF

Màu XanhTím 0x8A2BE2

nâu 0xA52A2A

Gỗ lớn 0xDEB887

Xanh chói 0x5F9EA0

Mèo lông xám 0x7FFF00

Sô cô la 0xD2691E

San hô 0xFF7F50

Màu xanh hoa ngô đồng 0x6495ED

Cornsilk 0xFFF8DC

đỏ thắm 0xDC143C

Cyan 0x00FFFF

Xanh đậm 0x00008B

DarkCyan 0x008B8B

TốiVàngThanh 0xB8860B

Màu xám đen 0xA9A9A9

Màu xanh lá cây đậm 0x006400

Vải kaki màu thẫm 0xBDB76B

Màu đỏ tươi tối 0x8B008B

DarkOliveGreen 0x556B2F

Màu cam đậm 0xFF8C00

DarkOrchid 0x9932CC

Đỏ sẫm 0x8B0000

DarkSalmon 0xE9967A

DarkSeaGreen 0x8FBC8F

DarkSlateBlue 0x483D8B

DarkSlateGray 0x2F4F4F

DarkTurerald 0x00CED1

Màu tím đậm 0x9400D3

Màu hồng đậm 0xFF1493

Bầu trời xanh thẳm 0x00BFF

DimGray 0x696969

DodgerBlue 0x1E90FF

gạch lửa 0xB22222

Hoa 0xFFFFAF0

Rừng xanh 0x228B22

Cây khoa vản anh 0xFF00FF

Gainsboro 0xDCDCDC

GhostWhite 0xF8F8FF

Gói Vàng 0xFFD700

thanh vàng 0xDAA520

màu xám 0x808080

màu xanh lá 0x008000

Màu xanh lá cây 0xADFF2F

mật ong 0xF0FFF0

HotPink 0xFF69B4

Ấn Độ 0xCD5C5C

chàm 0x4B0082

Ngà voi 0xFFFFFF0

Khaki 0xF0E68C

Hoa oải hương 0xE6E6FA

Hoa oải hương 0xFFF0F5

Cỏ xanh 0x7CFC00

LemonChiền 0xFFFACD

LightBlue 0xADD8E6

LightCoral 0xF08080

LightCyan 0xE0FFFF

Ánh SángVàngThanhVàng 0xFAFAD2

Màu xanh lợt 0x90EE90

LightGrey 0xD3D3D3

Màu hồng nhạt 0xFFB6C1

Ánh SángCá ​​Hồi 0xFFA07A

LightSeaGreen 0x20B2AA

LightSkyBlue 0x87CEFA

LightSlateGray 0x778899

LightSteelBlue 0xB0C4DE

ánh sángVàng 0xFFFFFE0

Vôi 0x00FF00

LimeGreen 0x32CD32

Lanh 0xFAF0E6

Magenta 0xFF00FF

làm biếng 0x800000

Trung bìnhThủy sản 0x66CDAA

Xanh nhẹ 0x0000CD

Trung bình 0xBA55D3

MediumPurple 0x9370D8

MediumSeaGreen 0x3CB371

MediumSlateBlue 0x7B68EE

VừaMùa XuânXanh 0x00FA9A

MediumTurerald 0x48D1CC

MediumVioletRed 0xC71585

Màu xanh nửa đêm 0x191970

Bạc hà 0xF5FFFA

MistyRose 0xFFE4E1

giày da đanh 0xFFE4B5

Navajo 0xFFDEAD

Hải quân 0x000080

OldLace 0xFDF5E6

Ôliu 0x808000

Màu xám ô liu 0x6B8E23

trái cam 0xFFA500

Cam 0xFF4500

cây lan 0xDA70D6

NhạtVàngThanh 0xEEE8AA

Màu nhạt 0x98FB98

PaleTurerald 0xAFEEEE

PaleVioletRed 0xD87093

Đu đủ 0xFFEFD5

Quả đào 0xFFDAB9

Peru 0xCD853F

Hồng 0xFFC0CB

Nho khô 0xDDA0DD

Bột màu 0xB0E0E6

Màu tím 0x800080

đỏ 0xFF0000

RosyBrown 0xBC8F8F

Xanh đậm 0x4169E1

Yên xe màu nâu 0x8B4513

Cá hồi 0xFA8072

SandyBrown 0xF4A460

Biển xanh 0x2E8B57

vỏ sò 0xFFF5EE

Sienna 0xA0522D

Gói Bạc 0xC0C0C0

Trời xanh 0x87CEEB

Màu xanh đá phiến 0x6A5ACD

Phiến đá xám 0x708090

Tuyết Rơi 0xFFFAFA

Xuân xanh 0x00FF7F

Màu xanh thép 0x4682B4

Tân 0xD2B48C

con le le 0x008080

một loại cây gai 0xD8BFD8

Cà chua 0xFF6347

ngọc lam 0x40E0D0

màu tím 0xEE82EE

Wheat 0xF5DEB3

trắng 0xFFFFFF

Khói trắng 0xF5F5F5

Màu vàng 0xFFFF00

Màu vàng 0x9ACD32

Kênh Bố trí Bố cục kênh chỉ định bố trí không gian của các kênh trong đa kênh luồng âm thanh. Để chỉ định bố cục kênh, FFmpeg sử dụng một cú pháp đặc biệt.

Các kênh riêng lẻ được xác định bằng một id, như bảng dưới đây đưa ra:

FL phía trước bên trái

FR phía trước bên phải

FC trung tâm phía trước

L.F.E. tần số thấp

BL quay lại bên trái

BR lưng bên phải

FLC phía trước bên trái của trung tâm

FRC phía trước bên phải của trung tâm

BC trung tâm trở lại

SL bên trái

SR bên phải

TC Trung tâm hàng đầu

TFL trên cùng bên trái

TFC phía trước trung tâm

TFR phía trên bên phải

TBL trên cùng bên trái

TBC trung tâm trên cùng

TBR trên cùng bên phải

DL downmix trái

DR downmix phải

WL rộng bên trái

WR rộng bên phải

SDL bao quanh trực tiếp bên trái

SDR bao quanh trực tiếp bên phải

LFE2 tần số thấp 2

Bố cục kênh tiêu chuẩn có thể được chỉ định bằng cách sử dụng các số nhận dạng sau:

mono FC

âm thanh nổi FL + FR

2.1 FL + FR + LFE

3.0 FL + FR + FC

3.0 (trở lại) FL + FR + BC

4.0 FL + FR + FC + BC

quad FL + FR + BL + BR

quad (bên) FL + FR + SL + SR

3.1 FL + FR + FC + LFE

5.0 FL + FR + FC + BL + BR

5.0 (bên) FL + FR + FC + SL + SR

4.1 FL + FR + FC + LFE + BC

5.1 FL + FR + FC + LFE + BL + BR

5.1 (bên) FL + FR + FC + LFE + SL + SR

6.0 FL + FR + FC + BC + SL + SR

6.0(mặt trước) FL + FR + FLC + FRC + SL + SR

lục giác FL + FR + FC + BL + BR + BC

6.1 FL + FR + FC + LFE + BC + SL + SR

6.1 FL + FR + FC + LFE + BL + BR + BC

6.1(mặt trước) FL + FR + LFE + FLC + FRC + SL + SR

7.0 FL + FR + FC + BL + BR + SL + SR

7.0(mặt trước) FL + FR + FC + FLC + FRC + SL + SR

7.1 FL + FR + FC + LFE + BL + BR + SL + SR

7.1 (rộng) FL + FR + FC + LFE + BL + BR + FLC + FRC

7.1 (cạnh rộng) FL + FR + FC + LFE + FLC + FRC + SL + SR

bát giác FL + FR + FC + BL + BR + BC + SL + SR

trộn lẫn DL + DR

Bố cục kênh tùy chỉnh có thể được chỉ định dưới dạng một chuỗi các thuật ngữ, được phân tách bằng dấu '+' hoặc '|'. Mỗi thuật ngữ có thể là:

· Tên của bố cục kênh tiêu chuẩn (ví dụ: mono, âm thanh nổi, 4.0, quad, 5.0, Vv)

· Tên của một kênh duy nhất (ví dụ: FL, FR, FC, L.F.E., Vv)

· Một số kênh, ở dạng thập phân, theo sau là 'c' tùy chọn, mang lại giá trị mặc định bố cục kênh cho số kênh đó (xem chức năng "av_get_default_channel_layout")

· Mặt nạ bố cục kênh, ở hệ thập lục phân bắt đầu bằng "0x" (xem macro "AV_CH_ *" trong

libavutil / channel_layout.h

.

Bắt đầu từ phiên bản libavutil 53, ký tự theo sau "c" để chỉ định một số các kênh sẽ được yêu cầu, trong khi mặt nạ bố cục kênh cũng có thể được chỉ định là số thập phân (nếu và chỉ khi không được theo sau bởi "c").

Xem thêm hàm "av_get_channel_layout" được định nghĩa trong

libavutil / channel_layout.h

.

CÁCH DIỄN ĐẠT ĐÁNH GIÁ

Khi đánh giá một biểu thức số học, FFmpeg sử dụng một trình đánh giá công thức nội bộ, được thực hiện thông qua

libavutil / eval.h

diệnngười dùng.

Một biểu thức có thể chứa toán tử đơn phân, nhị phân, hằng số và hàm.

Hai biểu thức

expr1

expr2

có thể được kết hợp để tạo thành một biểu thức khác "

expr1

;

expr2

".

expr1

expr2

được đánh giá lần lượt và biểu thức mới đánh giá giá trị của

expr2

.

Các toán tử nhị phân sau có sẵn: "+", "-", "*", "/", "^".

Các toán tử một ngôi sau khả dụng: "+", "-".

Các chức năng sau có sẵn:

abs (x) Tính giá trị tuyệt đối của

x

.

acos (x) Tính toán arccosine của

x

.

asin (x) Tính arcsine của

x

.

atan (x) Tính toán arctangent của

x

.

giữa (x, tối thiểu tối đa) Trả về 1 nếu

x

là lớn hơn hoặc bằng

phút

và nhỏ hơn hoặc bằng

tối đa

, 0 nếu không thì.

bitand (x, y) bitor (x, y) Tính toán bitwise và / hoặc hoạt động trên

x

y

.

Kết quả đánh giá

x

y

được chuyển đổi thành số nguyên trước khi thực thi hoạt động bitwise.

Lưu ý rằng cả chuyển đổi thành số nguyên và chuyển đổi trở lại dấu phẩy động đều có thể mất độ chính xác. Cẩn thận với các kết quả không mong muốn đối với số lượng lớn (thường là 2 ^ 53 và lớn hơn).

ceil (expr) Làm tròn giá trị của biểu thức

thể hiện

lên đến số nguyên gần nhất. Ví dụ, "ceil (1.5)" là "2.0".

clip (x, tối thiểu tối đa) Trả lại giá trị của

x

kẹp giữa

phút

tối đa

.

cos (x) Tính cosin của

x

.

cosh (x) Tính cosin hyperbolic của

x

.

eq (x, y) Trả về 1 nếu

x

y

là tương đương, 0 thì ngược lại.

exp (x) Tính theo cấp số nhân của

x

(với cơ số "e", số của Euler).

tầng (expr) Làm tròn giá trị của biểu thức

thể hiện

xuống số nguyên gần nhất. Ví dụ, "floor (-1.5)" là "-2.0".

gauss (x) Tính toán hàm Gauss của

x

, tương ứng với "exp (-x * x / 2) / sqrt (2 * PI)".

gcd (x, y) Trả về ước số chung lớn nhất của

x

y

. Nếu cả hai

x

y

là 0 hoặc một trong hai hoặc cả hai nhỏ hơn XNUMX thì hành vi là không xác định.

gt (x, y) Trả về 1 nếu

x

lớn hơn

y

, 0 nếu không.

gte (x, y) Trả về 1 nếu

x

là lớn hơn hoặc bằng

y

, 0 nếu không.

giả thuyết (x, y) Hàm này tương tự như hàm C có cùng tên; nó trả về "sqrt (

x

*

x

+

y

*

y

) ", độ dài cạnh huyền của tam giác vuông với độ dài các cạnh

x

y

, hoặc khoảng cách của điểm (

x

,

y

) từ nguồn gốc.

nếu (x, y) Đánh giá

x

và nếu kết quả là khác XNUMX thì trả về kết quả của việc đánh giá

y

, trả về 0 nếu không.

nếu (x, y, z) Đánh giá

x

và nếu kết quả là khác XNUMX, trả về kết quả đánh giá của

y

, Nếu không kết quả đánh giá của

z

.

ifnot (x, y) Đánh giá

x

và nếu kết quả bằng XNUMX thì trả về kết quả đánh giá của

y

, trở về 0 nếu không.

ifnot (x, y, z) Đánh giá

x

và nếu kết quả bằng XNUMX thì trả về kết quả đánh giá là

y

, nếu không kết quả đánh giá của

z

.

isinf (x) Trả về 1.0 nếu

x

là +/- INFINITY, ngược lại là 0.0.

isnan (x) Trả về 1.0 nếu

x

là NAN, ngược lại là 0.0.

ld (var) Tải giá trị của biến nội bộ với số

, đã được lưu trữ trước đây với st (

,

thể hiện

). Hàm trả về giá trị đã tải.

nhật ký (x) Tính logarit tự nhiên của

x

.

lt (x, y) Trả về 1 nếu

x

nhỏ hơn

y

, 0 nếu không.

lte (x, y) Trả về 1 nếu

x

nhỏ hơn hoặc bằng

y

, 0 nếu không.

tối đa (x, y) Trả lại mức tối đa giữa

x

y

.

tối thiểu (x, y) Trả lại mức tối đa giữa

x

y

.

mod (x, y) Tính phần còn lại của phép chia

x

by

y

.

không (expr) Trả về 1.0 nếu

thể hiện

bằng 0.0, ngược lại là XNUMX.

pow (x, y) Tính toán sức mạnh của

x

cao

y

, nó tương đương với "(

x

) ^ (

y

) ".

in (t) in (t, l) In giá trị của biểu thức

t

với loglevel

l

. Nếu

l

không được chỉ định thì là mặc định mức nhật ký được sử dụng. Trả về giá trị của biểu thức được in.

In t với loglevel l

ngẫu nhiên (x) Trả về giá trị giả ngẫu nhiên trong khoảng từ 0.0 đến 1.0.

x

là chỉ số của nội bộ biến sẽ được sử dụng để lưu hạt giống / trạng thái.

root (expr, tối đa) Tìm một giá trị đầu vào mà hàm được đại diện cho

thể hiện

với lý lẽ

ld(0)

is 0 trong khoảng 0..

tối đa

.

Biểu thức trong

thể hiện

phải biểu thị một hàm liên tục hoặc kết quả là không xác định.

ld(0)

được sử dụng để đại diện cho giá trị đầu vào của hàm, có nghĩa là biểu thức sẽ được đánh giá nhiều lần với các giá trị đầu vào khác nhau mà biểu thức có thể truy cập thông qua ld(0). Khi biểu thức đánh giá là 0 thì giá trị đầu vào tương ứng sẽ được trả về.

tội lỗi (x) Tính sin của

x

.

sinh (x) Tính sin hyperbolic của

x

.

sqrt (expr) Tính căn bậc hai của

thể hiện

. Điều này tương đương với "(

thể hiện

) ^. 5 ".

squish (x) Tính biểu thức "1 / (1 + exp (4 * x))".

st (var, kinh nghiệm) Lưu trữ giá trị của biểu thức

thể hiện

trong một biến nội bộ.

chỉ định số của biến nơi lưu trữ giá trị và nó là một giá trị nằm trong khoảng từ 0 đến 9. Hàm trả về giá trị được lưu trữ trong biến nội bộ. Lưu ý, các biến hiện không được chia sẻ giữa các biểu thức.

tan (x) Tính tiếp tuyến của

x

.

tanh (x) Tính tiếp tuyến hypebol của

x

.

taylor (expr, x) taylor (expr, x, Tôi) Đánh giá một chuỗi Taylor tại

x

, đưa ra một biểu thức đại diện cho "ld (id)" - th đạo hàm của một hàm số tại 0.

Khi chuỗi không hội tụ kết quả là không xác định.

tôi đã làm)

được sử dụng để đại diện cho thứ tự phái sinh trong

thể hiện

, có nghĩa là biểu thức sẽ được đánh giá nhiều lần với các giá trị đầu vào khác nhau mà biểu thức có thể truy cập thông qua "ld (id)". Nếu như

id

không được chỉ định thì 0 được giả định.

Lưu ý, khi bạn có các đạo hàm tại y thay vì 0, "taylor (expr, xy)" có thể là đã sử dụng.

thời gian

(0) Trả về thời gian hiện tại (đồng hồ treo tường) tính bằng giây.

trunc (expr) Làm tròn giá trị của biểu thức

thể hiện

về phía XNUMX đến số nguyên gần nhất. Ví dụ, "trunc (-1.5)" là "-1.0".

while (chung cư, kinh nghiệm) Đánh giá biểu hiện

thể hiện

trong khi biểu thức

chung cư

khác XNUMX và trả về giá trị Cuối cùng

thể hiện

đánh giá hoặc NAN nếu

chung cư

luôn luôn sai.

Các hằng số sau có sẵn:

PI diện tích của đĩa đơn vị, khoảng 3.14

E

exp

(1) (Số của Euler), xấp xỉ 2.718

PHI tỷ lệ vàng (1+

câu hỏi

(5)) / 2, xấp xỉ 1.618

Giả sử rằng một biểu thức được coi là "đúng" nếu nó có giá trị khác XNUMX, hãy lưu ý rằng:

"*" hoạt động giống như AND

"+" hoạt động giống như HOẶC

Ví dụ cấu trúc:

nếu (A VÀ B) thì C

tương đương với:

nếu (A * B, C)

Trong mã C của bạn, bạn có thể mở rộng danh sách các hàm đơn phân và nhị phân, đồng thời xác định các hằng số được công nhận, để chúng có sẵn cho các biểu thức của bạn.

Người đánh giá cũng nhận ra các tiền tố đơn vị Hệ thống Quốc tế. Nếu 'i' được thêm vào sau tiền tố, các tiền tố nhị phân được sử dụng, dựa trên lũy thừa của 1024 thay vì lũy thừa 1000. Hậu tố 'B' nhân giá trị với 8 và có thể được thêm vào sau tiền tố đơn vị hoặc được sử dụng một mình. Điều này cho phép sử dụng ví dụ như 'KB', 'MiB', 'G' và 'B' là số bưu điện.

Danh sách các tiền tố Hệ thống Quốc tế có sẵn sau đây, với dấu hiệu của lũy thừa tương ứng của 10 và của 2.

y 10 -24 / 2 -80

z 10 -21 / 2 -70

a 10 -18 / 2 -60

f 10 -15 / 2 -50

p 10 -12 / 2 -40

n 10 -9 / 2 -30

u 10 -6 / 2 -20

m 10 -3 / 2 -10

c 10 ^ -2

d 10 ^ -1

h 10 ^ 2

k 10 3/2 10

K 10 3/2 10

M 10 6/2 20

G 10 9/2 30

T 10 12/2 40

P 10 15/2 40

E 10 18/2 50

Z 10 21/2 60

Y 10 24/2 70

MỞ LỰA CHỌN

Khi FFmpeg được định cấu hình bằng "--enable-opencl", có thể đặt các tùy chọn cho bối cảnh OpenCL toàn cầu.

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

tùy chọn xây dựng Đặt các tùy chọn xây dựng được sử dụng để biên dịch các hạt nhân đã đăng ký.

Xem tài liệu tham khảo "Phiên bản đặc điểm kỹ thuật OpenCL: 1.2 chương 5.6.4".

platform_idx Chọn chỉ mục của nền tảng để chạy mã OpenCL.

Chỉ mục được chỉ định phải là một trong các chỉ mục trong danh sách thiết bị có thể lấy được bằng "ffmpeg -opencl_bench" hoặc "av_opencl_get_device_list ()".

thiết bị_idx Chọn chỉ mục của thiết bị được sử dụng để chạy mã OpenCL.

Chỉ mục được chỉ định phải là một trong các chỉ mục trong danh sách thiết bị có thể lấy được bằng "ffmpeg -opencl_bench" hoặc "av_opencl_get_device_list ()".

CODEC LỰA CHỌN

libavcodec cung cấp một số tùy chọn chung chung, có thể được đặt trên tất cả các bộ mã hóa và bộ giải mã. Ngoài ra, mỗi codec có thể hỗ trợ cái gọi là tùy chọn riêng tư, cụ thể cho một codec nhất định.

Đôi khi, một tùy chọn chung có thể chỉ ảnh hưởng đến một loại codec cụ thể và có thể vô nghĩa hoặc bị người khác bỏ qua, vì vậy bạn cần biết ý nghĩa của tùy chọn. Ngoài ra, một số tùy chọn chỉ dành cho giải mã hoặc mã hóa.

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 "AVCodecContext" 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:

b

số nguyên

(

mã hóa, âm thanh, video

) Đặt tốc độ bit theo bit / s. Giá trị mặc định là 200K.

ab

số nguyên

(

mã hóa, âm thanh

) Đặt tốc độ bit âm thanh (tính bằng bit / s). Giá trị mặc định là 128K.

bt

số nguyên

(

mã hóa, video

) Đặt dung sai tốc độ bit của video (tính bằng bit / s). Trong chế độ 1 lần, dung sai tốc độ bit chỉ định ratecontrol sẵn sàng lệch bao xa so với giá trị tốc độ bit trung bình mục tiêu. Cái này không liên quan đến tốc độ bit tối thiểu / tối đa. Giảm khả năng chịu đựng quá nhiều sẽ có tác dụng phụ về chất lượng.

cờ

cờ

(

giải mã / mã hóa, âm thanh, video, phụ đề

) Đặt cờ chung.

Những giá trị khả thi:

mv4 Sử dụng bốn vectơ chuyển động bằng macroblock (mpeg4).

qpel Sử dụng bù chuyển động 1/4 viên.

vòng lặp Sử dụng bộ lọc vòng lặp.

thang đo q Sử dụng qscale cố định.

gmc Sử dụng gmc.

mv0 Luôn thử một mb với mv = <0,0>.

input_preserve pass1 Sử dụng kiểm soát chuột 2pass nội bộ trong chế độ vượt qua đầu tiên.

pass2 Sử dụng kiểm soát chuột 2pass nội bộ ở chế độ vượt qua thứ hai.

màu xám Chỉ giải mã / mã hóa thang độ xám.

emu_edge Không vẽ các cạnh.

psnr Đặt biến lỗi [?] Trong quá trình mã hóa.

cắt ngắn Naq Bình thường hóa lượng tử hóa thích ứng.

con nít Sử dụng DCT xen kẽ.

độ trễ thấp Bắt buộc độ trễ thấp.

toàn cầu_header Đặt các tiêu đề chung trong ngoại dữ liệu thay vì mọi khung hình chính.

cắnxact Chỉ viết dữ liệu nền tảng, xây dựng và độc lập về thời gian. (trừ (I) DCT). Cái này đảm bảo rằng tổng kiểm tra của tệp và 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.

aic Áp dụng dự đoán mã hóa nội bộ nâng cao H263 / mpeg4 ac.

cbp Không được dùng nữa, hãy sử dụng các tùy chọn riêng tư của mpegvideo.

qprd Không được dùng nữa, hãy sử dụng các tùy chọn riêng tư của mpegvideo.

vòng Áp dụng ước lượng chuyển động xen kẽ.

cgộp Sử dụng gop đóng.

phương thức tôi

số nguyên

(

mã hóa, video

) Đặt phương pháp ước lượng chuyển động.

Những giá trị khả thi:

không ước tính chuyển động bằng không (nhanh nhất)

Full ước tính chuyển động đầy đủ (chậm nhất)

epz Ước tính chuyển động EPZS (mặc định)

esa ước tính chuyển động esa (bí danh cho đầy đủ)

Tesa ước tính chuyển động tesa

ngày ước tính chuyển động dia (bí danh cho epz)

đăng nhập ước tính chuyển động nhật ký

phod ước tính chuyển động phods

x1 Ước tính chuyển động X1

hex ước tính chuyển động hex

ừm ước tính chuyển động umh

lặp đi lặp lại ước tính chuyển động iter

extradata_size

số nguyên

Đặt kích thước ngoại dữ liệu.

cơ sở thời gian

hợp lý con số

Đặt cơ sở thời gian codec.

Đây là đơn vị cơ bản của thời gian (tính bằng giây) liên quan đến dấu thời gian của khung hình đại diện. Đối với nội dung có khung hình / giây cố định, cơ sở thời gian phải là "1 / frame_rate" và dấu thời gian gia số phải giống nhau 1.

g

số nguyên

(

mã hóa, video

) Đặt nhóm kích thước hình ảnh. Giá trị mặc định là 12.

ar

số nguyên

(

giải mã / mã hóa, âm thanh

) Đặt tốc độ lấy mẫu âm thanh (tính bằng Hz).

ac

số nguyên

(

giải mã / mã hóa, âm thanh

) Đặt số kênh âm thanh.

xẻ ra

số nguyên

(

mã hóa, âm thanh

) Đặt băng thông giới hạn.

kích thước khung hình

số nguyên

(

mã hóa, âm thanh

) Đặt kích thước khung âm thanh.

Mỗi khung đã gửi ngoại trừ khung cuối cùng phải chứa chính xác các mẫu frame_size cho mỗi kênh. Có thể là 0 khi codec được đặt CODEC_CAP_VARIABLE_FRAME_SIZE, trong trường hợp đó kích thước khung không bị hạn chế. Nó được thiết lập bởi một số bộ giải mã để chỉ ra hằng số kích thước khung.

khung_số

số nguyên

Đặt số khung.

chậm trễ

số nguyên

qcomp

phao

(

mã hóa, video

) Đặt nén tỷ lệ bộ định lượng video (VBR). Nó được sử dụng như một hằng số trong phương trình ratecontrol. Phạm vi đề xuất cho rc_eq mặc định: 0.0-1.0.

qblur

phao

(

mã hóa, video

) Đặt làm mờ tỷ lệ bộ định lượng video (VBR).

qmin

số nguyên

(

mã hóa, video

) Đặt thang đo lượng tử video tối thiểu (VBR). Phải được bao gồm từ -1 đến 69, giá trị mặc định là 2.

qmax

số nguyên

(

mã hóa, video

) Đặt thang đo lượng tử video tối đa (VBR). Phải được bao gồm từ -1 đến 1024, mặc định giá trị là 31.

qdiff

số nguyên

(

mã hóa, video

) Đặt chênh lệch tối đa giữa thang đo lượng tử (VBR).

bf

số nguyên

(

mã hóa, video

) Đặt số lượng khung B tối đa giữa các khung hình không phải B.

Phải là một số nguyên từ -1 đến 16. 0 có nghĩa là khung B bị vô hiệu hóa. Nếu một giá trị -1 được sử dụng, nó sẽ chọn một giá trị tự động tùy thuộc vào bộ mã hóa.

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

b_qfactor

phao

(

mã hóa, video

) Đặt hệ số qp giữa khung P và B.

rc_chiến lược

số nguyên

(

mã hóa, video

) Đặt phương pháp kiểm soát chuột.

b_chiến lược

số nguyên

(

mã hóa, video

) Đặt chiến lược để chọn giữa các khung I / P / B.

ps

số nguyên

(

mã hóa, video

) Đặt kích thước tải trọng RTP theo byte.

mv_bit

số nguyên

tiêu đề_bit

số nguyên

i_tex_bits

số nguyên

p_tex_bits

số nguyên

tôi đếm

số nguyên

p_count

số nguyên

bỏ qua_count

số nguyên

linh_bit

số nguyên

frame_bit

số nguyên

codec_tag

số nguyên

lỗi

cờ

(

giải mã, video

) Cách giải quyết không tự động phát hiện lỗi bộ mã hóa.

Những giá trị khả thi:

Phát hiện tự động old_msmpeg4 một số tệp msmpeg4v3 được tạo bằng lavc cũ (không tự động phát hiện)

xvid_ilace Lỗi xen kẽ Xvid (tự động phát hiện nếu bốncc == XVIX)

u4 (tự động phát hiện nếu bốncc == UMP4)

Không đệm lỗi đệm (tự động phát hiện)

amv ac_vlc lỗi vlc bất hợp pháp (tự động phát hiện trên mỗi bốncc)

qpel_chroma std_qpel qpel tiêu chuẩn cũ (tự động phát hiện trên bốncc / phiên bản)

qpel_chroma2 direct_blocksize lỗi direct-qpel-blocksize (tự động phát hiện trên bốncc / phiên bản)

cạnh lỗi đệm cạnh (tự động phát hiện trên bốncc / phiên bản)

hpel_chroma dc_clip ms Giải quyết các lỗi khác nhau trong bộ giải mã bị hỏng của microsoft.

cắt ngắn khung phân nhánh

lelim

số nguyên

(

mã hóa, video

) Đặt ngưỡng loại bỏ hệ số đơn cho độ sáng (cả giá trị âm xét hệ số DC).

celim

số nguyên

(

mã hóa, video

) Đặt ngưỡng loại bỏ hệ số đơn cho độ sắc (cũng có giá trị âm xem xét hệ số dc)

khắt khe

số nguyên

(

giải mã / mã hóa, âm thanh, video

) Chỉ định cách tuân thủ nghiêm ngặt các tiêu chuẩn.

Những giá trị khả thi:

rất tuân thủ nghiêm ngặt phiên bản cũ hơn nghiêm ngặt hơn của thông số kỹ thuật hoặc phần mềm tham chiếu

khắt khe tuân thủ nghiêm ngặt tất cả những điều trong thông số kỹ thuật cho dù có hậu quả gì

bình thường không chính thức cho phép các phần mở rộng không chính thức

thử nghiệm cho phép những thứ thử nghiệm không được tiêu chuẩn hóa, thử nghiệm (chưa hoàn thành / làm việc trong tiến độ / chưa được kiểm tra tốt) bộ giải mã và bộ mã hóa. Lưu ý: bộ giải mã thử nghiệm có thể gây ra rủi ro bảo mật, không sử dụng điều này để giải mã đầu vào không đáng tin cậy.

b_qoffset

phao

(

mã hóa, video

) Đặt độ lệch QP giữa khung P và B.

phát hiện lỗi

cờ

(

giải mã, âm thanh, video

) Đặt cờ phát hiện lỗi.

Những giá trị khả thi:

kiểm tra kỹ càng xác minh 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ỏ

bỏ qua_err bỏ qua lỗi giải mã và tiếp tục giải mã. Điều này rất hữu ích nếu bạn muốn phân tích nội dung của video và do đó muốn mọi thứ được giải mã bất kể Cái gì. Tùy chọn này sẽ không tạo ra video dễ xem trong trường hợp lỗi.

cẩn thận coi những thứ vi phạm thông số kỹ thuật và chưa được xem là lỗi

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

tích cực coi 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

has_b_frames

số nguyên

khối_align

số nguyên

mpeg_quant

số nguyên

(

mã hóa, video

) Sử dụng bộ định lượng MPEG thay vì H.263.

qsquish

phao

(

mã hóa, video

) Cách giữ bộ định lượng giữa qmin và qmax (0 = clip, 1 = sử dụng có thể phân biệt chức năng).

rc_qmod_amp

phao

(

mã hóa, video

) Đặt điều chế lượng tử thử nghiệm.

rc_qmod_freq

số nguyên

(

mã hóa, video

) Đặt điều chế lượng tử thử nghiệm.

rc_override_count

số nguyên

rc_eq

chuỗi

(

mã hóa, video

) Đặt phương trình kiểm soát tỷ lệ. Khi tính toán biểu thức, ngoài tiêu chuẩn các chức năng được định nghĩa trong phần 'Đánh giá Biểu hiện', các chức năng sau là có sẵn: bits2qp (bit), qp2bits (qp). Ngoài ra, các hằng số sau cũng có sẵn: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex.

tỷ lệ tối đa

số nguyên

(

mã hóa, âm thanh, video

) Đặt dung sai tốc độ bit tối đa (tính bằng bit / s). Yêu cầu bufsize được thiết lập.

tốc độ tối thiểu

số nguyên

(

mã hóa, âm thanh, video

) Đặt dung sai tốc độ bit tối thiểu (tính bằng bit / s). Hữu ích nhất trong việc thiết lập mã hóa CBR. Nó là ít sử dụng ngược lại.

tăng kích thước

số nguyên

(

mã hóa, âm thanh, video

) Đặt kích thước bộ đệm ratecontrol (tính bằng bit).

rc_buf_aggressivity

phao

(

mã hóa, video

) Hiện tại vô dụng.

i_qfactor

phao

(

mã hóa, video

) Đặt hệ số QP giữa khung P và I.

i_qoffset

phao

(

mã hóa, video

) Đặt độ lệch QP giữa khung P và I.

RC_init_cplx

phao

(

mã hóa, video

) Đặt độ phức tạp ban đầu cho mã hóa 1 lần.

dct

số nguyên

(

mã hóa, video

) Đặt thuật toán DCT.

Những giá trị khả thi:

tự động tự động chọn một cái tốt (mặc định)

khó hiểu số nguyên nhanh

int số nguyên chính xác

mmx alivec phaan dấu chấm động AAN DCT

lumi_mask

phao

(

mã hóa, video

) Nén vùng sáng mạnh hơn vùng sáng trung bình.

tcplx_mask

phao

(

mã hóa, video

) Đặt mặt nạ phức tạp theo thời gian.

scplx_mask

phao

(

mã hóa, video

) Đặt mặt nạ phức tạp không gian.

p_mask

phao

(

mã hóa, video

) Đặt mặt nạ liên tục.

mặt nạ bóng tối

phao

(

mã hóa, video

) Nén các vùng tối mạnh hơn các vùng trung bình.

nhận dạng

số nguyên

(

giải mã / mã hóa, video

) Chọn triển khai IDCT.

Những giá trị khả thi:

tự động int đơn giản đơn giản tự động đơn giản Tự động chọn IDCT tương thích với IDCT đơn giản

tay alivec sh4 bình thường đơn giảnarmv5te đơn giảnarmv6 đơn giản đơn giản ipp xvidmmx món faani dấu chấm động AAN IDCT

Slice_count

số nguyên

ec

cờ

(

giải mã, video

) Đặt chiến lược che giấu lỗi.

Những giá trị khả thi:

đoán_mv Tìm kiếm vectơ chuyển động lặp lại (MV) (chậm)

gỡ lỗi sử dụng bộ lọc gỡ lỗi mạnh cho các MB bị hỏng

favour_inter ưu tiên dự đoán từ khung trước thay vì hiện tại

bit_per_coded_sample

số nguyên

trước

số nguyên

(

mã hóa, video

) Đặt phương pháp dự đoán.

Những giá trị khả thi:

trái máy bay trung vị khía cạnh

hợp lý con số

(

mã hóa, video

) Đặt tỷ lệ khung hình mẫu.

gỡ lỗi

cờ

(

giải mã / mã hóa, âm thanh, video, phụ đề

) In thông tin gỡ lỗi cụ thể.

Những giá trị khả thi:

hình ảnh thông tin hình ảnh

rc kiểm soát tỷ lệ

dòng bit mb_type loại macroblock (MB)

qp tham số lượng tử hóa mỗi khối (QP)

mv vector chuyển động

dct_coeff siêu dữ liệu xanh hiển thị siêu dữ liệu về độ phức tạp cho khung sắp tới, GoP hoặc trong một khoảng thời gian nhất định.

bỏ qua mã bắt đầu Điểm er Tìm lỗi trong

mmco hoạt động kiểm soát quản lý bộ nhớ (H.264)

lỗi vis_qp trực quan hóa tham số lượng tử hóa (QP), QP thấp hơn được tô màu xanh hơn

vis_mb_type hình dung các loại khối

bộ đệm phân bổ bộ đệm hình ảnh

thread_ops hoạt động phân luồng

danh nghĩa bỏ qua bù chuyển động

vismv

số nguyên

(

giải mã, video

) Hình dung vectơ chuyển động (MV).

Tùy chọn này không được dùng nữa, hãy xem bộ lọc codecview để thay thế.

Những giá trị khả thi:

pf chuyển tiếp các MV dự đoán về khung hình P

bf chuyển tiếp các MV dự đoán về khung hình B

bb các MV dự đoán lùi về khung hình B

CMP

số nguyên

(

mã hóa, video

) Đặt đầy đủ chức năng so sánh pel me.

Những giá trị khả thi:

buồn tổng chênh lệch tuyệt đối, nhanh (mặc định)

sse tổng sai số bình phương

satd tổng của sự khác biệt đã chuyển đổi Hadamard tuyệt đối

dct tổng của chênh lệch chuyển đổi DCT tuyệt đối

psnr tổng các lỗi lượng tử hóa bình phương (tránh, chất lượng thấp)

bit số lượng bit cần thiết cho khối

rd tỷ lệ biến dạng tối ưu, chậm

không 0

vsad tổng của sự khác biệt theo chiều dọc tuyệt đối

so sánh tổng của sự khác biệt theo chiều dọc bình phương

nse tiếng ồn bảo toàn tổng của sự khác biệt bình phương

w53 5/3 wavelet, chỉ sử dụng trong tuyết

w97 9/7 wavelet, chỉ sử dụng trong tuyết

dctmax sắc độ cmp phụ

số nguyên

(

mã hóa, video

) Đặt chức năng so sánh sub pel me.

Những giá trị khả thi:

buồn tổng chênh lệch tuyệt đối, nhanh (mặc định)

sse tổng sai số bình phương

satd tổng của sự khác biệt đã chuyển đổi Hadamard tuyệt đối

dct tổng của chênh lệch chuyển đổi DCT tuyệt đối

psnr tổng các lỗi lượng tử hóa bình phương (tránh, chất lượng thấp)

bit số lượng bit cần thiết cho khối

rd tỷ lệ biến dạng tối ưu, chậm

không 0

vsad tổng của sự khác biệt theo chiều dọc tuyệt đối

so sánh tổng của sự khác biệt theo chiều dọc bình phương

nse tiếng ồn bảo toàn tổng của sự khác biệt bình phương

w53 5/3 wavelet, chỉ sử dụng trong tuyết

w97 9/7 wavelet, chỉ sử dụng trong tuyết

dctmax sắc độ mbcmp

số nguyên

(

mã hóa, video

) Đặt chức năng so sánh macroblock.

Những giá trị khả thi:

buồn tổng chênh lệch tuyệt đối, nhanh (mặc định)

sse tổng sai số bình phương

satd tổng của sự khác biệt đã chuyển đổi Hadamard tuyệt đối

dct tổng của chênh lệch chuyển đổi DCT tuyệt đối

psnr tổng các lỗi lượng tử hóa bình phương (tránh, chất lượng thấp)

bit số lượng bit cần thiết cho khối

rd tỷ lệ biến dạng tối ưu, chậm

không 0

vsad tổng của sự khác biệt theo chiều dọc tuyệt đối

so sánh tổng của sự khác biệt theo chiều dọc bình phương

nse tiếng ồn bảo toàn tổng của sự khác biệt bình phương

w53 5/3 wavelet, chỉ sử dụng trong tuyết

w97 9/7 wavelet, chỉ sử dụng trong tuyết

dctmax sắc độ ildctcmp

số nguyên

(

mã hóa, video

) Đặt chức năng so sánh dct xen kẽ.

Những giá trị khả thi:

buồn tổng chênh lệch tuyệt đối, nhanh (mặc định)

sse tổng sai số bình phương

satd tổng của sự khác biệt đã chuyển đổi Hadamard tuyệt đối

dct tổng của chênh lệch chuyển đổi DCT tuyệt đối

psnr tổng các lỗi lượng tử hóa bình phương (tránh, chất lượng thấp)

bit số lượng bit cần thiết cho khối

rd tỷ lệ biến dạng tối ưu, chậm

không 0

vsad tổng của sự khác biệt theo chiều dọc tuyệt đối

so sánh tổng của sự khác biệt theo chiều dọc bình phương

nse tiếng ồn bảo toàn tổng của sự khác biệt bình phương

w53 5/3 wavelet, chỉ sử dụng trong tuyết

w97 9/7 wavelet, chỉ sử dụng trong tuyết

dctmax sắc độ đường kính

số nguyên

(

mã hóa, video

) Đặt loại và kích thước kim cương để ước tính chuyển động.

Last_pred

số nguyên

(

mã hóa, video

) Đặt số lượng dự đoán chuyển động từ khung trước đó.

tiền đề

số nguyên

(

mã hóa, video

) Đặt ước tính trước chuyển động.

làm trước

số nguyên

(

mã hóa, video

) Đặt chức năng so sánh ước tính chuyển động trước.

Những giá trị khả thi:

buồn tổng chênh lệch tuyệt đối, nhanh (mặc định)

sse tổng sai số bình phương

satd tổng của sự khác biệt đã chuyển đổi Hadamard tuyệt đối

dct tổng của chênh lệch chuyển đổi DCT tuyệt đối

psnr tổng các lỗi lượng tử hóa bình phương (tránh, chất lượng thấp)

bit số lượng bit cần thiết cho khối

rd tỷ lệ biến dạng tối ưu, chậm

không 0

vsad tổng của sự khác biệt theo chiều dọc tuyệt đối

so sánh tổng của sự khác biệt theo chiều dọc bình phương

nse tiếng ồn bảo toàn tổng của sự khác biệt bình phương

w53 5/3 wavelet, chỉ sử dụng trong tuyết

w97 9/7 wavelet, chỉ sử dụng trong tuyết

dctmax sắc độ pre_dia_size

số nguyên

(

mã hóa, video

) Đặt loại và kích thước kim cương để chuyển trước ước tính chuyển động.

subq

số nguyên

(

mã hóa, video

) Đặt chất lượng ước tính chuyển động của sub pel.

dtg_active_format

số nguyên

tôi_phạm vi

số nguyên

(

mã hóa, video

) Đặt phạm vi vectơ chuyển động giới hạn (1023 cho trình phát DivX).

cò quăm

số nguyên

(

mã hóa, video

) Đặt thiên vị lượng tử trong.

thiên vị

số nguyên

(

mã hóa, video

) Đặt độ lệch liên lượng tử.

color_table_id

số nguyên

global_chất lượng

số nguyên

(

mã hóa, âm thanh, video

) lập trình viên

số nguyên

(

mã hóa, video

) Những giá trị khả thi:

vlc coder độ dài thay đổi / coder huffman

ac người lập trình số học

nguyên thô (không có mã hóa)

vòng tròn lập trình viên thời gian chạy

xì hơi người lập trình dựa trên giảm phát

bối cảnh

số nguyên

(

mã hóa, video

) Đặt mô hình ngữ cảnh.

Slice_flags

số nguyên

tăng tốc xvmc_acceleration

số nguyên

mbd

số nguyên

(

mã hóa, video

) Đặt thuật toán quyết định macroblock (chế độ chất lượng cao).

Những giá trị khả thi:

đơn giản sử dụng mbcmp (mặc định)

bit sử dụng ít bit nhất

rd sử dụng biến dạng tỷ lệ tốt nhất

luồng_codec_tag

số nguyên

ngưỡng sc_threshold

số nguyên

(

mã hóa, video

) Đặt ngưỡng thay đổi cảnh.

tôi

số nguyên

(

mã hóa, video

) Đặt hệ số lagrange tối thiểu (VBR).

tối đa

số nguyên

(

mã hóa, video

) Đặt hệ số lagrange tối đa (VBR).

nr

số nguyên

(

mã hóa, video

) Đặt giảm tiếng ồn.

RC_init_occupancy

số nguyên

(

mã hóa, video

) Đặt số lượng bit cần được tải vào bộ đệm rc trước khi bắt đầu giải mã.

cờ2

cờ

(

giải mã / mã hóa, âm thanh, video

) Những giá trị khả thi:

Rychle Cho phép các thủ thuật tăng tốc không tuân thủ thông số kỹ thuật.

sàm sỡ Không được dùng nữa, hãy sử dụng các tùy chọn riêng tư của mpegvideo.

buổi trưa Bỏ qua mã hóa dòng bit.

bỏ qua Bỏ qua thông tin cắt xén từ sp.

local_header Đặt các tiêu đề chung ở mọi khung hình chính thay vì trong ngoại dữ liệu.

miếng, mảnh nhỏ Dữ liệu khung có thể được chia thành nhiều phần.

hiển thị tất cả Hiển thị tất cả các khung hình trước khung hình chính đầu tiên.

bỏ qua Không được dùng nữa, hãy sử dụng các tùy chọn riêng tư của mpegvideo.

xuất_mvs Xuất vectơ chuyển động thành dữ liệu bên khung (xem "AV_FRAME_DATA_MOTION_VECTORS") cho codec hỗ trợ nó. Xem thêm

doc / example / export_mvs.c

.

lôi

số nguyên

(

mã hóa, video

) qns

số nguyên

(

mã hóa, video

) Không được dùng nữa, hãy sử dụng các tùy chọn riêng tư của mpegvideo.

chủ đề

số nguyên

(

giải mã / mã hóa, video

) Những giá trị khả thi:

tự động phát hiện một số lượng tốt các chủ đề

ngưỡng tôi

số nguyên

(

mã hóa, video

) Đặt ngưỡng ước tính chuyển động.

mb_threshold

số nguyên

(

mã hóa, video

) Đặt ngưỡng macroblock.

dc

số nguyên

(

mã hóa, video

) Đặt intra_dc_pre precision.

nssew

số nguyên

(

mã hóa, video

) Đặt trọng lượng nsse.

bỏ qua

số nguyên

(

giải mã, video

) Đặt số lượng hàng macroblock ở trên cùng được bỏ qua.

bỏ qua_bottom

số nguyên

(

giải mã, video

) Đặt số lượng hàng macroblock ở dưới cùng được bỏ qua.

Hồ sơ

số nguyên

(

mã hóa, âm thanh, video

) Những giá trị khả thi:

không xác định aac_main aac_thấp aac_ssr aac_ltp aac_he aac_he_v2 aac_ld aac_eld mpeg2_aac_low mpeg2_aac_he mpeg4_sp mpeg4_core mpeg4_main mpeg4_asp dts dts_es dts_96_24 dts_hd_hra dts_hd_ma cấp

số nguyên

(

mã hóa, âm thanh, video

) Những giá trị khả thi:

không xác định hình quay chậm

số nguyên

(

giải mã, âm thanh, video

) Giải mã ở độ phân giải 1 = 1/2, 2 = 1/4, 3 = 1/8.

bỏ qua

số nguyên

(

mã hóa, video

) Đặt ngưỡng bỏ qua khung.

bỏ qua_ yếu tố

số nguyên

(

mã hóa, video

) Đặt hệ số bỏ qua khung.

bỏ qua_exp

số nguyên

(

mã hóa, video

) Đặt số mũ bỏ qua khung. Các giá trị âm hoạt động giống hệt với giá trị tương ứng tích cực, ngoại trừ điểm được chuẩn hóa. Các giá trị tích cực tồn tại chủ yếu vì lý do tương thích và không quá hữu ích.

bỏ qua

số nguyên

(

mã hóa, video

) Đặt chức năng so sánh bỏ qua khung.

Những giá trị khả thi:

buồn tổng chênh lệch tuyệt đối, nhanh (mặc định)

sse tổng sai số bình phương

satd tổng của sự khác biệt đã chuyển đổi Hadamard tuyệt đối

dct tổng của chênh lệch chuyển đổi DCT tuyệt đối

psnr tổng các lỗi lượng tử hóa bình phương (tránh, chất lượng thấp)

bit số lượng bit cần thiết cho khối

rd tỷ lệ biến dạng tối ưu, chậm

không 0

vsad tổng của sự khác biệt theo chiều dọc tuyệt đối

so sánh tổng của sự khác biệt theo chiều dọc bình phương

nse tiếng ồn bảo toàn tổng của sự khác biệt bình phương

w53 5/3 wavelet, chỉ sử dụng trong tuyết

w97 9/7 wavelet, chỉ sử dụng trong tuyết

dctmax sắc độ biên giới_mask

phao

(

mã hóa, video

) Tăng bộ định lượng cho macroblock gần với đường viền.

mblmin

số nguyên

(

mã hóa, video

) Đặt yếu tố lagrange macroblock tối thiểu (VBR).

mblmax

số nguyên

(

mã hóa, video

) Đặt hệ số lagrange macroblock tối đa (VBR).

máy tính

số nguyên

(

mã hóa, video

) Đặt bù phạt tốc độ bit ước tính chuyển động (1.0 = 256).

bỏ qua_loop_filter

số nguyên

(

giải mã, video

) bỏ qua_idct

số nguyên

(

giải mã, video

) via_frame

số nguyên

(

giải mã, video

) Thực hiện xử lý loại bỏ bộ giải mã tùy thuộc vào loại khung được tùy chọn chọn giá trị.

bỏ qua_loop_filter bỏ qua lọc vòng lặp khung, bỏ qua_idct bỏ qua khung IDCT / dequantization, via_frame bỏ qua giải mã.

Những giá trị khả thi:

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

mặc định Loại bỏ các khung vô dụng như khung có kích thước 0.

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.

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

bidir_refine

số nguyên

(

mã hóa, video

) Tinh chỉnh hai vectơ chuyển động được sử dụng trong macroblock hai chiều.

brd_scale

số nguyên

(

mã hóa, video

) Giảm tỷ lệ khung cho quyết định khung B động.

keyint_min

số nguyên

(

mã hóa, video

) Đặt khoảng thời gian tối thiểu giữa các khung IDR.

giới thiệu

số nguyên

(

mã hóa, video

) Đặt hệ quy chiếu để xem xét bù chuyển động.

bù màu

số nguyên

(

mã hóa, video

) Đặt bù sắc độ qp từ luma.

lưới mắt cáo

số nguyên

(

mã hóa, âm thanh, video

) Đặt lượng tử hóa tối ưu tốc độ biến dạng.

sc_factor

số nguyên

(

mã hóa, video

) Đặt giá trị nhân với qscale cho mỗi khung hình và thêm vào scene_change_score.

mv0_threshold

số nguyên

(

mã hóa, video

) b_sens nhạy

số nguyên

(

mã hóa, video

) Điều chỉnh độ nhạy của b_frame_strategy 1.

nén_level

số nguyên

(

mã hóa, âm thanh, video

) min_prediction_order

số nguyên

(

mã hóa, âm thanh

) max_prediction_order

số nguyên

(

mã hóa, âm thanh

) timecode_frame_start

số nguyên

(

mã hóa, video

) Đặt số bắt đầu khung mã thời gian GOP, ở định dạng không thả khung.

request_channels

số nguyên

(

giải mã, âm thanh

) Đặt số lượng kênh âm thanh mong muốn.

bit_per_raw_sample

số nguyên

kênh_layout

số nguyên

(

giải mã / mã hóa, âm thanh

) Những giá trị khả thi:

request_channel_layout

số nguyên

(

giải mã, âm thanh

) Những giá trị khả thi:

rc_max_vbv_use

phao

(

mã hóa, video

) RC_min_vbv_use

phao

(

mã hóa, video

) tick_per_frame

số nguyên

(

giải mã / mã hóa, âm thanh, video

) màu_sơ bộ

số nguyên

(

giải mã / mã hóa, video

) màu_trc

số nguyên

(

giải mã / mã hóa, video

) không gian màu

số nguyên

(

giải mã / mã hóa, video

) dải màu

số nguyên

(

giải mã / mã hóa, video

) Nếu được sử dụng làm tham số đầu vào, nó đóng vai trò như một gợi ý cho bộ giải mã, color_range đầu vào có.

sắc độ_sample_location

số nguyên

(

giải mã / mã hóa, video

) log_level_offset

số nguyên

Đặt độ lệch mức nhật ký.

lát

số nguyên

(

mã hóa, video

) Số lát cắt, được sử dụng trong mã hóa song song.

Loại sợi

cờ

(

giải mã / mã hóa, video

) Chọn các phương pháp đa luồng để sử dụng.

sử dụng khung sẽ tăng độ trễ giải mã lên một khung hình trên mỗi luồng, vì vậy các ứng dụng khách không thể cung cấp khung trong tương lai không nên sử dụng nó.

Những giá trị khả thi:

lát Giải mã nhiều phần của một khung hình cùng một lúc.

Đa luồng sử dụng các lát chỉ hoạt động khi video được mã hóa bằng các lát.

khung Giải mã nhiều khung cùng một lúc.

Giá trị mặc định là lát + khung.

audio_service_type

số nguyên

(

mã hóa, âm thanh

) Đặt loại dịch vụ âm thanh.

Những giá trị khả thi:

ma Dịch vụ âm thanh chính

ef Effects

vi Khiếm thị

hi Khiếm thính

di Đối thoại

co Bình luận

em Trường hợp khẩn cấp

vo Voice Over

ka Karaoke

request_sample_fmt

mẫu_fmt

(

giải mã, âm thanh

) Đặt bộ giải mã âm thanh định dạng mẫu nên thích hơn. Giá trị mặc định là "không".

pkt_timebase

hợp lý con số

sub_charenc

mã hóa

(

giải mã, phụ đề

) Đặt mã hóa ký tự phụ đề đầu vào.

trường_thứ tự

trường_thứ tự

(

video

) Đặt / ghi đè thứ tự trường của video. Những giá trị khả thi:

tiến bộ Video tiến bộ

tt Video xen kẽ, trường trên cùng được mã hóa và hiển thị đầu tiên

bb Video xen kẽ, trường dưới cùng được mã hóa và hiển thị đầu tiên

tb Video xen kẽ, trên cùng được mã hóa trước, dưới cùng hiển thị trước

bt Video xen kẽ, dưới cùng được mã hóa trước, trên cùng hiển thị trước

bỏ qua

số nguyên

(

giải mã, video

) Đặt thành 1 để tắt alpha xử lý (độ trong suốt). Điều này hoạt động giống như màu xám cờ trong các cờ tùy chọn bỏ qua thông tin về sắc độ thay vì alpha. Mặc định là 0.

codec_danh sách trắng

(

đầu vào

) "," phân tách Danh sách các bộ giải mã đượ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

NGƯỜI GỬI HÀNG

Bộ giải mã là các phần tử được cấu hình trong FFmpeg cho phép giải mã các luồng đa phương tiện.

Khi bạn định cấu hình bản dựng FFmpeg của mình, tất cả các bộ giải mã gốc được hỗ trợ sẽ được bật bởi vỡ nợ. Bộ giải mã yêu cầu thư viện bên ngoài phải được kích hoạt theo cách thủ công thông qua tùy chọn "--enable-lib" tương ứng. Bạn có thể liệt kê tất cả các bộ giải mã có sẵn bằng cách sử dụng cấu hình tùy chọn "--list-decoders".

Bạn có thể tắt tất cả các bộ giải mã bằng tùy chọn cấu hình "--disable-decoders" và bật / tắt có chọn lọc các bộ giải mã đơn với các tùy chọn "--enable-decoder =

NGƯỜI GỬI "

/ "--disable-decoder =

NGƯỜI GỬI "

.

Tùy chọn "-decoders" của các công cụ ff * sẽ hiển thị danh sách các bộ giải mã được bật.

Thêm bài này vào danh sách Video của bạn Download bài này NGƯỜI GỬI HÀNG

Sau đây là mô tả về một số bộ giải mã video hiện có.

hevc Bộ giải mã HEVC / H.265.

Lưu ý: bỏ qua_loop_filter tùy chọn chỉ có hiệu lực ở cấp độ "tất cả".

video thô Bộ giải mã video thô.

Bộ giải mã này giải mã các luồng video thô.

Các lựa chọn

hàng đầu

top_field_first

Chỉ định loại trường giả định của video đầu vào.

-1 video được giả định là tiến bộ (mặc định)

0 trường dưới cùng đầu tiên được giả định

1 top-field-đầu tiên được giả định

AUDIO NGƯỜI GỬI HÀNG

Sau đây là mô tả về một số bộ giải mã âm thanh hiện có.

ac3 Bộ giải mã âm thanh AC-3.

Bộ giải mã này thực hiện một phần của ATSC A / 52: 2010 và ETSI TS 102 366, cũng như RealAudio 3 không có giấy tờ (hay còn gọi là dnet).

AC-3 decoder Các lựa chọn

-drc_scale

giá trị

Hệ số quy mô dải động. Yếu tố áp dụng cho các giá trị dải động từ AC-3 dòng. Yếu tố này được áp dụng theo cấp số nhân. Có 3 yếu tố quy mô đáng chú ý các dãy:

drc_scale == 0 DRC bị vô hiệu hóa. Tạo ra âm thanh toàn dải.

0 < drc_scale <= 1 DRC đã được bật. Áp dụng một phần nhỏ của giá trị DRC của luồng. Tái tạo âm thanh là giữa dải đầy đủ và nén đầy đủ.

drc_scale > 1 DRC đã được bật. Áp dụng drc_scale không đối xứng. Âm thanh lớn được nén hoàn toàn. Âm thanh nhẹ nhàng được tăng cường.

flac Bộ giải mã âm thanh FLAC.

Bộ giải mã này nhằm thực hiện đặc tả FLAC hoàn chỉnh từ Xiph.

FLAC decoder lựa chọn

-use_buggy_lpc Bộ mã hóa lavc FLAC được sử dụng để tạo ra các luồng lỗi có giá trị lpc cao (như giá trị mặc định). Tùy chọn này giúp bạn có thể giải mã các luồng như vậy một cách chính xác bằng cách sử dụng logic lpc lỗi cũ của lavc để giải mã.

ffwavesynth Bộ tổng hợp sóng bên trong.

Bộ giải mã này tạo ra các mẫu sóng theo các trình tự được xác định trước. Việc sử dụng nó hoàn toàn là nội bộ và định dạng dữ liệu mà nó chấp nhận không được ghi lại công khai.

nói dối trình bao bọc bộ giải mã libcelt.

libcelt cho phép libavcodec giải mã codec âm thanh có độ trễ cực thấp Xiph CELT. Đòi hỏi sự hiện diện của các tiêu đề và thư viện libcelt trong quá trình cấu hình. Bạn cần phải định cấu hình rõ ràng bản dựng với "--enable-libcelt".

thư viện trình bao bọc bộ giải mã libgsm.

libgsm cho phép libavcodec giải mã codec âm thanh tốc độ đầy đủ GSM. Yêu cầu sự hiện diện của các tiêu đề và thư viện libgsm trong quá trình cấu hình. Bạn cần định cấu hình rõ ràng xây dựng bằng "--enable-libgsm".

Bộ giải mã này hỗ trợ cả GSM thông thường và biến thể của Microsoft.

libilbc trình bao bọc bộ giải mã libilbc.

libilbc cho phép libavcodec giải mã codec âm thanh Internet Low Bitrate Codec (iLBC). Yêu cầu sự hiện diện của các tiêu đề và thư viện libilbc trong quá trình cấu hình. Bạn cần phải định cấu hình rõ ràng bản dựng với "--enable-libilbc".

Các lựa chọn

Tùy chọn sau được hỗ trợ bởi trình bao bọc libilbc.

nâng cao Bật tính năng nâng cao âm thanh được giải mã khi được đặt thành 1. Giá trị mặc định là 0 (tàn tật).

libopencore-amrnb trình bao bọc bộ giải mã libopencore-amrnb.

libopencore-amrnb cho phép libavcodec giải mã âm thanh Băng hẹp đa tốc độ thích ứng codec. Việc sử dụng nó yêu cầu sự hiện diện của các tiêu đề và thư viện libopencore-amrnb trong cấu hình. Bạn cần định cấu hình rõ ràng bản dựng với "--enable-libopencore-amrnb".

Có một bộ giải mã gốc FFmpeg cho AMR-NB, vì vậy người dùng có thể giải mã AMR-NB mà không cần thư viện.

libopencore-amrwb trình bao bọc bộ giải mã libopencore-amrwb.

libopencore-amrwb cho phép libavcodec giải mã âm thanh băng rộng đa tỷ lệ thích ứng codec. Sử dụng nó yêu cầu sự hiện diện của tiêu đề và thư viện libopencore-amrwb trong cấu hình. Bạn cần định cấu hình rõ ràng bản dựng với "--enable-libopencore-amrwb".

Có một bộ giải mã gốc FFmpeg cho AMR-WB, vì vậy người dùng có thể giải mã AMR-WB mà không cần điều này thư viện.

cây libop trình bao bọc bộ giải mã libopus.

libopus cho phép libavcodec giải mã Bộ mã âm thanh tương tác Opus. Yêu cầu sự hiện diện của các tiêu đề và thư viện libopus trong quá trình cấu hình. Bạn cần phải rõ ràng định cấu hình bản dựng bằng "--enable-libopus".

Có một bộ giải mã gốc FFmpeg cho Opus, vì vậy người dùng có thể giải mã Opus mà không cần thư viện này.

TIỂU TIỂU NGƯỜI GỬI HÀNG

dvbsub

Các lựa chọn

tính_clut -1 Tính toán ly hợp nếu không có CLUT phù hợp trong luồng.

0 Không bao giờ tính CLUT

1 Luôn tính CLUT và ghi đè CLUT được cung cấp trong luồng.

dvb_substream Chọn luồng phụ dvb hoặc tất cả các luồng phụ nếu -1 là mặc định.

dvdsub Codec này giải mã phụ đề bitmap được sử dụng trong DVD; phụ đề tương tự cũng có thể được tìm thấy trong các cặp tệp VobSub và trong một số tệp Matroska.

Các lựa chọn

palette Chỉ định bảng màu chung được sử dụng bởi các bitmap. Khi được lưu trữ trong VobSub, bảng màu thường được chỉ định trong tệp chỉ mục; trong Matroska, bảng màu được lưu trữ trong codec dữ liệu bổ sung ở định dạng giống như trong VobSub. Trong DVD, bảng màu được lưu trữ trong IFO và do đó không khả dụng khi đọc từ các tệp VOB được kết xuất.

Định dạng cho tùy chọn này là một chuỗi chứa 16 số thập lục phân 24 bit (không có tiền tố 0x) được phân tách bằng dấu phẩy, ví dụ: "0d00ee, ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, 7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b ".

ifo_palette Chỉ định tệp IFO mà từ đó có được bảng màu chung. (thực nghiệm)

buộc_mặt_chỉ Chỉ giải mã các mục phụ đề được đánh dấu là bị ép buộc. Một số tiêu đề có bắt buộc và không bắt buộc phụ đề trong cùng một bản nhạc. Đặt cờ này thành 1 sẽ chỉ giữ cho sự bắt buộc phụ đề. Giá trị mặc định là 0.

libzvbi-teletext Libzvbi cho phép libavcodec giải mã các trang DVB teletext và phụ đề DVB teletext. Yêu cầu sự hiện diện của tiêu đề và thư viện libzvbi trong quá trình cấu hình. Bạn cần phải định cấu hình rõ ràng bản dựng bằng "--enable-libzvbi".

Các lựa chọn

txt_trang Danh sách số trang teletext cần giải mã. Bạn có thể sử dụng chuỗi * đặc biệt để khớp với tất cả các trang. Các trang không phù hợp với danh sách được chỉ định sẽ bị loại bỏ. Giá trị mặc định là *.

txt_chop_top Bỏ dòng teletext trên cùng. Giá trị mặc định là 1.

txt_format Chỉ định định dạng của phụ đề được giải mã. Bộ giải mã teletext có khả năng giải mã các trang teletext thành bitmap hoặc văn bản đơn giản, bạn nên sử dụng "bitmap" cho các trang teletext, bởi vì một số hình ảnh và màu sắc nhất định không thể được thể hiện đơn giản chữ. Bạn có thể sử dụng "văn bản" cho phụ đề dựa trên teletext nếu ứng dụng của bạn có thể xử lý phụ đề dựa trên văn bản đơn giản. Giá trị mặc định là bitmap.

txt_left X offset của bitmap được tạo, mặc định là 0.

txt_top Độ lệch Y của các bitmap được tạo, mặc định là 0.

txt_chop_spaces Cắt các khoảng trống ở đầu và cuối và xóa các dòng trống khỏi văn bản đã tạo. Tùy chọn này hữu ích cho phụ đề dựa trên teletext nơi có thể có khoảng trống ở đầu hoặc cuối dòng hoặc các dòng trống có thể xuất hiện giữa dòng phụ đề vì các đặc điểm của văn bản viễn thông có kích thước gấp đôi. Giá trị mặc định là 1.

txt_duration Đặt thời lượng hiển thị của các trang hoặc phụ đề teletext được giải mã tính bằng mili giây. Giá trị mặc định là 30000 là 30 giây.

txt_transparent Buộc nền trong suốt của bitmap teletext đã tạo. Giá trị mặc định là 0 có nghĩa là nền mờ đục (đen).

VIÊN

Bộ mã hóa là các phần tử được cấu hình trong FFmpeg cho phép mã hóa các luồng đa phương tiện.

Khi bạn định cấu hình bản dựng FFmpeg của mình, tất cả các bộ mã hóa gốc được hỗ trợ sẽ được bật bởi vỡ nợ. Các bộ mã hóa yêu cầu thư viện bên ngoài phải được kích hoạt theo cách thủ công thông qua tùy chọn "--enable-lib" tương ứng. Bạn có thể liệt kê tất cả các bộ mã hóa có sẵn bằng cách sử dụng cấu hình tùy chọn "--list-encoders".

Bạn có thể tắt tất cả các bộ mã hóa bằng tùy chọn cấu hình "--disable-encoders" và bật / tắt có chọn lọc các bộ mã hóa đơn lẻ với các tùy chọn "--enable-encoder =

MÃ HOÁ"

/ "--disable-encoder =

MÃ HOÁ"

.

Tùy chọn "-encoders" của các công cụ ff * sẽ hiển thị danh sách các bộ mã hóa được bật.

AUDIO VIÊN

Sau đây là mô tả về một số bộ mã hóa âm thanh hiện có.

aac Bộ mã hóa Advanced Audio Coding (AAC).

Bộ mã hóa này là bộ mã hóa AAC gốc FFmpeg thử nghiệm. Hiện tại chỉ có mức thấp cấu hình phức tạp (AAC-LC) được hỗ trợ. Để sử dụng bộ mã hóa này, bạn phải đặt khắt khe tùy chọn đến thử nghiệm hoặc thấp hơn.

Vì bộ mã hóa này là thử nghiệm nên đôi khi có thể tồn tại hành vi không mong muốn. Cho một bộ mã hóa AAC ổn định hơn, xem libvo-aacenc. Tuy nhiên, hãy cảnh báo rằng nó có chất lượng kém hơn do một số người dùng báo cáo.

Xem thêm libfdk_aac.

Các lựa chọn

b Đặt tốc độ bit tính bằng bit / s. Đặt điều này sẽ tự động kích hoạt tốc độ bit không đổi (CBR) chế độ.

q Đặt chất lượng cho chế độ tốc độ bit thay đổi (VBR). Tùy chọn này chỉ hợp lệ khi sử dụng ffmpeg công cụ dòng lệnh. Đối với người dùng giao diện thư viện, hãy sử dụng global_chất lượng.

chế độ âm thanh nổi Đặt chế độ mã hóa âm thanh nổi. Những giá trị khả thi:

tự động Được bộ mã hóa chọn tự động.

ms_off Tắt mã hóa giữa / bên. Đây là mặc định.

ms_force Buộc mã hóa giữa / bên.

aac_code Đặt phương pháp mã hóa bộ mã hóa AAC. Những giá trị khả thi:

faac Phương pháp lấy cảm hứng từ FAAC.

Phương pháp này là sự tái hiện đơn giản của phương pháp được sử dụng trong FAAC, phương pháp này đặt ngưỡng tỷ lệ với năng lượng của dải, sau đó giảm tất cả ngưỡng với các bước lượng tử hóa để tìm lượng tử hóa thích hợp với biến dạng dưới ngưỡng dải theo dải.

Chất lượng của phương pháp này có thể so sánh với phương pháp tìm kiếm hai vòng lặp được mô tả bên dưới, nhưng có phần tốt hơn và chậm hơn một chút.

anmr Giải pháp dựa trên tỷ lệ nhiễu trên mặt nạ (ANMR) trung bình.

Điều này có chất lượng tốt nhất về mặt lý thuyết trong số tất cả các phương pháp mã hóa, nhưng với chi phí tốc độ chậm nhất.

hai vòng Phương pháp tìm kiếm hai vòng (TLS).

Phương pháp này trước tiên đặt các bộ định lượng tùy thuộc vào ngưỡng dải và sau đó cố gắng tìm một kết hợp tối ưu bằng cách thêm hoặc bớt một giá trị cụ thể từ tất cả bộ định lượng và điều chỉnh một số bộ định lượng riêng lẻ một chút.

Phương pháp này tạo ra chất lượng tương tự với phương pháp FAAC và là phương pháp mặc định.

Rychle Phương pháp lượng tử hóa không đổi.

Phương pháp này thiết lập một bộ định lượng không đổi cho tất cả các dải. Đây là nhanh nhất trong tất cả các phương pháp, nhưng tạo ra chất lượng kém nhất.

ac3 và ac3_fixed Bộ mã hóa âm thanh AC-3.

Các bộ mã hóa này thực hiện một phần của ATSC A / 52: 2010 và ETSI TS 102 366, cũng như RealAudio 3 không có giấy tờ (hay còn gọi là dnet).

Sản phẩm

ac3

bộ mã hóa sử dụng phép toán dấu phẩy động, trong khi

ac3_fixed

bộ mã hóa chỉ sử dụng cố định- toán số nguyên điểm. Điều này không có nghĩa là cái nào luôn nhanh hơn, chỉ là cái đó hoặc cái khác có thể phù hợp hơn với một hệ thống cụ thể. Bộ mã hóa dấu phẩy động sẽ thường tạo ra âm thanh chất lượng tốt hơn cho một tốc độ bit nhất định. Các

ac3_fixed

bộ mã hóa không phải là codec mặc định cho bất kỳ định dạng đầu ra nào, vì vậy nó phải được chỉ định rõ ràng bằng cách sử dụng tùy chọn "-acodec ac3_fixed" để sử dụng nó.

AC-3 Siêu dữ liệu

Các tùy chọn siêu dữ liệu AC-3 được sử dụng để đặt các thông số mô tả âm thanh, nhưng trong hầu hết các trường hợp không ảnh hưởng đến bản thân mã hóa âm thanh. Một số tùy chọn ảnh hưởng trực tiếp đến hoặc ảnh hưởng đến việc giải mã và phát lại luồng bit kết quả, trong khi những luồng khác chỉ dành cho mục đích thông tin. Một số tùy chọn sẽ thêm các bit vào luồng đầu ra có thể nếu không sẽ được sử dụng cho dữ liệu âm thanh và do đó sẽ ảnh hưởng đến chất lượng của đầu ra. Những thứ kia sẽ được chỉ ra tương ứng với một ghi chú trong danh sách tùy chọn bên dưới.

Các thông số này được mô tả chi tiết trong một số tài liệu được công bố rộng rãi.

* <//www.atsc.org/cms/standards/a_52-2010.pdf>> * <//www.atsc.org/cms/standards/a_54a_with_corr_1.pdf>> * <//www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/18_Metadata.Guide.pdf>> * <//www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/46_DDEncodingGuidelines.pdf>>

Tùy chọn kiểm soát siêu dữ liệu

-per_frame_metadata

boolean

Cho phép siêu dữ liệu trên mỗi khung hình. Chỉ định xem bộ mã hóa có nên kiểm tra việc thay đổi siêu dữ liệu hay không cho mỗi khung.

0 Các giá trị siêu dữ liệu được đặt lúc khởi tạo sẽ được sử dụng cho mọi khung trong dòng. (vỡ nợ)

1 Giá trị siêu dữ liệu có thể được thay đổi trước khi mã hóa từng khung.

Mức downmix

-center_mixlev

cấp

Mức độ trộn trung tâm. Mức tăng mà bộ giải mã sẽ áp dụng cho kênh trung tâm khi giảm âm thanh nổi. Trường này sẽ chỉ được ghi vào dòng bit nếu kênh trung tâm hiện diện. Giá trị được chỉ định như một hệ số tỷ lệ. Có 3 hợp lệ các giá trị:

0.707 Áp dụng mức tăng -3dB

0.595 Áp dụng mức tăng -4.5dB (mặc định)

0.500 Áp dụng mức tăng -6dB

-sround_mixlev

cấp

Mức trộn âm thanh vòm. Mức tăng mà bộ giải mã sẽ áp dụng cho vùng xung quanh (các) kênh khi giảm âm thanh nổi. Trường này sẽ chỉ được ghi vào dòng bit nếu có một hoặc nhiều kênh vòm. Giá trị được chỉ định dưới dạng thang điểm hệ số. Có 3 giá trị hợp lệ:

0.707 Áp dụng mức tăng -3dB

0.500 Áp dụng mức tăng -6dB (mặc định)

0.000 (Các) kênh âm thanh vòm

Thông tin sản xuất âm thanh

Thông tin Sản xuất Âm thanh là thông tin tùy chọn mô tả môi trường trộn. Không có hoặc cả hai trường đều được ghi vào dòng bit.

-mixing_level

con số

Mức độ trộn. Chỉ định mức áp suất âm thanh cao nhất (SPL) trong môi trường sản xuất khi hỗn hợp đã được làm chủ. Các giá trị hợp lệ là 80 đến 111 hoặc -1 không xác định hay không chỉ ra. Giá trị mặc định là -1, nhưng không thể sử dụng giá trị đó nếu Âm thanh Thông tin Sản xuất được ghi vào dòng bit. Do đó, nếu "room_type" tùy chọn không phải là giá trị mặc định, tùy chọn "mix_level" không được là -1.

-loại phòng

kiểu

Loại phòng. Mô tả sự cân bằng được sử dụng trong phiên trộn cuối cùng tại studio hoặc trên giai đoạn lồng tiếng. Một căn phòng lớn là một giai đoạn lồng tiếng cho ngành công nghiệp cân bằng đường cong X tiêu chuẩn; một căn phòng nhỏ có sự cân bằng phẳng. Trường này sẽ không được ghi vào dòng bit nếu cả tùy chọn "mix_level" và "room_type" tùy chọn có các giá trị mặc định.

0 thông báo Không được chỉ định (mặc định)

1 lớn Căn phòng rộng

2 nhỏ Phòng nhỏ

Các tùy chọn siêu dữ liệu khác

-chính quyền

boolean

Chỉ báo Bản quyền. Chỉ định xem có bản quyền cho âm thanh này hay không.

0 off Không tồn tại bản quyền (mặc định)

1 on Bản quyền Tồn tại

-dialnorm

giá trị

Chuẩn hóa đối thoại. Cho biết mức độ đối thoại trung bình của chương trình là bao xa dưới quy mô kỹ thuật số 100% đầy đủ (0 dBFS). Tham số này xác định sự thay đổi cấp độ trong tái tạo âm thanh đặt âm lượng trung bình của cuộc đối thoại thành mức đặt trước. Các mục tiêu là phù hợp với mức âm lượng giữa các nguồn chương trình. Giá trị -31dB sẽ dẫn đến không thay đổi mức âm lượng, liên quan đến âm lượng nguồn, trong quá trình tái tạo âm thanh. Các giá trị hợp lệ là các số nguyên trong phạm vi -31 đến -1, với -31 là giá trị mặc định.

-dsur_mode

chế độ

Chế độ âm thanh vòm Dolby. Chỉ định xem tín hiệu âm thanh nổi có sử dụng Dolby Surround (Pro Hợp lý). Trường này sẽ chỉ được ghi vào dòng bit nếu dòng âm thanh âm thanh nổi. Sử dụng tùy chọn này không KHÔNG nghĩa là bộ mã hóa sẽ thực sự áp dụng Dolby Surround Chế biến.

0 thông báo Không được chỉ định (mặc định)

1 off Không được mã hóa âm thanh vòm Dolby

2 on Dolby Surround được mã hóa

-nguyên

boolean

Chỉ báo dòng bit gốc. Chỉ định xem âm thanh này có phải từ bản gốc hay không nguồn và không phải là một bản sao.

0 off Không phải nguồn gốc

1 on Nguồn gốc (mặc định)

Mở rộng Dòng bit Thông tin

Các tùy chọn dòng bit mở rộng là một phần của Cú pháp dòng bit thay thế như được chỉ định trong Phụ lục D của tiêu chuẩn A / 52: 2010. Nó được nhóm thành 2 phần. Nếu bất kỳ một tham số nào trong một nhóm được chỉ định, tất cả các giá trị trong nhóm đó sẽ được ghi vào dòng bit. Vỡ nợ các giá trị được sử dụng cho những giá trị được viết nhưng chưa được chỉ định. Nếu sự pha trộn được ghi, bộ giải mã sẽ sử dụng các giá trị này thay vì các giá trị được chỉ định trong các tùy chọn "center_mixlev" và "surround_mixlev" nếu nó hỗ trợ Dòng bit thay thế Cú pháp.

Thông tin dòng bit mở rộng - Phần 1

-dmix_mode

chế độ

Chế độ Downmix Âm thanh nổi Ưu tiên. Cho phép người dùng chọn Lt / Rt (Dolby Surround) hoặc Lo / Ro (âm thanh nổi thông thường) làm chế độ âm thanh nổi ưu tiên.

0 thông báo Không được chỉ định (mặc định)

1 ltt Ưu tiên Lt / Rt Downmix

2 của họ Lo / Ro Downmix được ưu tiên

-ltrt_cmixlev

cấp

Mức trộn trung tâm Lt / Rt. Mức tăng mà bộ giải mã nên áp dụng cho trung tâm kênh khi trộn xuống âm thanh nổi ở chế độ Lt / Rt.

1.414 Áp dụng + tăng 3dB

1.189 Áp dụng + tăng 1.5dB

1.000 Áp dụng mức tăng 0dB

0.841 Áp dụng mức tăng -1.5dB

0.707 Áp dụng mức tăng -3.0dB

0.595 Áp dụng mức tăng -4.5dB (mặc định)

0.500 Áp dụng mức tăng -6.0dB

0.000 Kênh trung tâm im lặng

-ltrt_surmixlev

cấp

Mức trộn âm thanh vòm Lt / Rt. Mức tăng mà bộ giải mã sẽ áp dụng cho vùng xung quanh (các) kênh khi giảm âm thanh nổi ở chế độ Lt / Rt.

0.841 Áp dụng mức tăng -1.5dB

0.707 Áp dụng mức tăng -3.0dB

0.595 Áp dụng mức tăng -4.5dB

0.500 Áp dụng mức tăng -6.0dB (mặc định)

0.000 (Các) kênh âm thanh vòm

-loro_cmixlev

cấp

Mức trộn trung tâm Lo / Ro. Mức tăng mà bộ giải mã nên áp dụng cho trung tâm kênh khi giảm âm thanh nổi thành âm thanh nổi ở chế độ Lo / Ro.

1.414 Áp dụng + tăng 3dB

1.189 Áp dụng + tăng 1.5dB

1.000 Áp dụng mức tăng 0dB

0.841 Áp dụng mức tăng -1.5dB

0.707 Áp dụng mức tăng -3.0dB

0.595 Áp dụng mức tăng -4.5dB (mặc định)

0.500 Áp dụng mức tăng -6.0dB

0.000 Kênh trung tâm im lặng

-loro_surmixlev

cấp

Mức trộn âm thanh vòm Lo / Ro. Mức tăng mà bộ giải mã sẽ áp dụng cho vùng xung quanh (các) kênh khi giảm âm thanh nổi ở chế độ Lo / Ro.

0.841 Áp dụng mức tăng -1.5dB

0.707 Áp dụng mức tăng -3.0dB

0.595 Áp dụng mức tăng -4.5dB

0.500 Áp dụng mức tăng -6.0dB (mặc định)

0.000 (Các) kênh âm thanh vòm

Thông tin dòng bit mở rộng - Phần 2

-dsurex_mode

chế độ

Chế độ Dolby Surround EX. Cho biết liệu luồng có sử dụng Dolby Surround EX (7.1 ma trận thành 5.1). Sử dụng tùy chọn này không KHÔNG nghĩa là bộ mã hóa sẽ thực sự áp dụng Xử lý Dolby Surround EX.

0 thông báo Không được chỉ định (mặc định)

1 on Dolby Surround EX Tắt

2 off Dolby Surround EX Bật

-dheadphone_mode

chế độ

Chế độ tai nghe Dolby. Cho biết luồng có sử dụng mã hóa Dolby Headphone hay không (đa kênh ma trận thành 2.0 để sử dụng với tai nghe). Sử dụng tùy chọn này không KHÔNG nghĩa là bộ mã hóa sẽ thực sự áp dụng xử lý Dolby Headphone.

0 thông báo Không được chỉ định (mặc định)

1 on Tai nghe Dolby Tắt

2 off Tai nghe Dolby Bật

-ad_conv_type

kiểu

Loại chuyển đổi A / D. Cho biết âm thanh đã đi qua HDCD A / D hay chưa sự chuyển đổi.

0 Tiêu chuẩn Bộ chuyển đổi A / D tiêu chuẩn (mặc định)

1 hdcd Bộ chuyển đổi HDCD A / D

Nền tảng khác AC-3 Mã hóa Các lựa chọn

-stereo_rematrixing

boolean

Hồi hương âm thanh nổi. Bật / Tắt sử dụng kết nối lại cho đầu vào âm thanh nổi. Đây là tính năng AC-3 tùy chọn giúp tăng chất lượng bằng cách mã hóa chọn lọc bên trái / bên phải kênh ở giữa / bên. Tùy chọn này được bật theo mặc định và nó rất được khuyến khích rằng nó vẫn được kích hoạt ngoại trừ cho các mục đích thử nghiệm.

Chỉ dấu phẩy động AC-3 Mã hóa Các lựa chọn

Các tùy chọn này chỉ hợp lệ cho bộ mã hóa dấu phẩy động và không tồn tại cho bộ mã hóa điểm cố định do các tính năng tương ứng không được triển khai trong fixed- điểm.

-khớp_kênh

boolean

Bật / Tắt sử dụng khớp nối kênh, đây là một tính năng AC-3 tùy chọn tăng chất lượng bằng cách kết hợp thông tin tần số cao từ nhiều kênh vào một kênh duy nhất. Thông tin tần số cao trên mỗi kênh được gửi với ít hơn độ chính xác trong cả miền tần số và thời gian. Điều này cho phép nhiều bit hơn được sử dụng cho tần số thấp hơn trong khi vẫn bảo toàn đủ thông tin để tái tạo lại tần số cao tần số. Tùy chọn này được bật theo mặc định cho bộ mã hóa dấu chấm động và nói chung nên được để là được kích hoạt ngoại trừ cho mục đích thử nghiệm hoặc để tăng tốc độ mã hóa.

-1 tự động Được chọn bởi Bộ mã hóa (mặc định)

0 off Tắt tính năng ghép kênh

1 on Bật khớp nối kênh

-cpl_start_band

con số

Băng khởi động khớp nối. Đặt băng tần bắt đầu ghép kênh, từ 1 đến 15. Nếu một giá trị cao hơn băng thông được sử dụng, nó sẽ giảm xuống 1 ít hơn so với đầu ghép nối ban nhạc. Nếu như

tự động

được sử dụng, băng tần bắt đầu sẽ được bộ mã hóa xác định dựa trên tốc độ bit, tốc độ mẫu và bố cục kênh. Tùy chọn này không có hiệu lực nếu kênh khớp nối bị vô hiệu hóa.

-1 tự động Được chọn bởi Bộ mã hóa (mặc định)

flac Bộ mã hóa FLAC (Free Lossless Audio Codec)

Các lựa chọn

Các tùy chọn sau được hỗ trợ bởi bộ mã hóa flac của FFmpeg.

nén_level Đặt mức nén, chọn giá trị mặc định cho nhiều tùy chọn khác nếu chúng không được thiết lập rõ ràng.

kích thước khung hình Đặt kích thước của khung trong các mẫu trên mỗi kênh.

lpc_coeff_preferences Đặt độ chính xác của hệ số LPC, các giá trị hợp lệ là từ 1 đến 15, mặc định là 15.

lpc_type Đặt thuật toán LPC giai đoạn đầu tiên

không ai LPC không được sử dụng

cố định hệ số LPC cố định

levinson nghẹn ngào lpc_passes Số lần vượt qua để sử dụng cho quá trình phân tích nhân tử Cholesky trong quá trình phân tích LPC

min_partition_order Thứ tự phân vùng tối thiểu

max_partition_order Thứ tự phân vùng tối đa

Pred_order_method ước lượng 2 cấp 4 cấp 8 cấp Tìm kiếm Tìm kiếm Bruteforce

đăng nhập ch_mode Chế độ kênh

tự động Chế độ được chọn tự động cho mỗi khung hình

ngâm mình Chanel được mã hóa độc lập

bên trái bên phải phía giữa chính xác_rice_parameters Lựa chọn nếu các thông số gạo được tính toán chính xác hoặc gần đúng. nếu đặt thành 1 thì chúng được chọn chính xác, điều này làm chậm mã một chút và cải thiện khả năng nén nhẹ nhàng.

đa_dim_quant Lượng tử hóa đa chiều. Nếu được đặt thành 1 thì thuật toán LPC giai đoạn 2 sẽ được áp dụng sau giai đoạn đầu tiên để tinh chỉnh các hệ số. Điều này khá chậm và hơi cải thiện độ nén.

libfaac trình bao bọc bộ mã hóa libfaac AAC (Advanced Audio Coding).

Yêu cầu sự hiện diện của tiêu đề và thư viện libfaac trong quá trình cấu hình. Bạn cần phải định cấu hình rõ ràng bản dựng bằng "--enable-libfaac --enable-nonfree".

Bộ mã hóa này được coi là có chất lượng cao hơn so với các tự nhiên thử nghiệm FFmpeg AAC mã hóa.

Để biết thêm thông tin, hãy xem dự án libfaac tại//www.audiocoding.com/faac.html/>.

Các lựa chọn

Các tùy chọn codec FFmpeg được chia sẻ sau đây được công nhận.

Các tùy chọn sau được hỗ trợ bởi trình bao bọc libfaac. Các faac- tương đương của các tùy chọn được liệt kê trong ngoặc đơn.

b (

-b

) Đặt tốc độ bit tính bằng bit / s cho chế độ ABR (Tốc độ bit trung bình). Nếu tốc độ bit không được chỉ định rõ ràng, nó tự động được đặt thành một giá trị phù hợp tùy thuộc vào hồ sơ đã chọn. faac tốc độ bit được biểu thị bằng kilobit / s.

Lưu ý rằng libfaac không hỗ trợ CBR (Tốc độ bit không đổi) mà chỉ hỗ trợ ABR (Bit trung bình Tỷ lệ).

Nếu chế độ VBR được kích hoạt, tùy chọn này sẽ bị bỏ qua.

ar (

-R

) Đặt tốc độ lấy mẫu âm thanh (tính bằng Hz).

ac (

-c

) Đặt số lượng kênh âm thanh.

xẻ ra (

-C

) Đặt tần số cắt. Nếu không được chỉ định (hoặc được đặt rõ ràng thành 0), nó sẽ sử dụng một giá trị được thư viện tính toán tự động. Giá trị mặc định là 0.

Hồ sơ Đặt cấu hình âm thanh.

Các cấu hình sau được công nhận:

aac_main AAC chính (Chính)

aac_thấp Độ phức tạp thấp AAC (LC)

aac_ssr Tỷ lệ mẫu có thể mở rộng (SSR)

aac_ltp Dự đoán dài hạn (LTP)

Nếu không được chỉ định, nó được đặt thành aac_thấp.

cờ + qscale Đặt chế độ VBR (Tốc độ bit có thể thay đổi) chất lượng không đổi.

global_chất lượng Đặt chất lượng ở chế độ VBR dưới dạng số nguyên đơn vị lambda.

Chỉ phù hợp khi chế độ VBR được bật với "flags + qscale". Giá trị được chuyển đổi thành các đơn vị QP bằng cách chia nó cho "FF_QP2LAMBDA" và được sử dụng để đặt giá trị chất lượng được sử dụng bởi libfaac. Một phạm vi hợp lý cho giá trị tùy chọn theo đơn vị QP là [10-500], giá trị càng cao thì chất lượng càng cao.

q (

-q

) Bật chế độ VBR khi được đặt thành giá trị không âm và đặt giá trị chất lượng không đổi làm giá trị dấu phẩy động kép theo đơn vị QP.

Giá trị đặt giá trị chất lượng được sử dụng bởi libfaac. Một phạm vi hợp lý cho tùy chọn giá trị là [10-500], giá trị càng cao chất lượng càng cao.

Tùy chọn này chỉ hợp lệ khi sử dụng ffmpeg công cụ dòng lệnh. Đối với giao diện thư viện người dùng, sử dụng global_chất lượng.

Các ví dụ

· Sử dụng ffmpeg để chuyển đổi tệp âm thanh thành ABR 128 kbps AAC trong vùng chứa M4A (MP4):

ffmpeg -i input.wav -codec: a libfaac -b: a 128k -output.m4a

· Sử dụng ffmpeg để chuyển đổi tệp âm thanh sang VBR AAC, sử dụng cấu hình LTP AAC:

ffmpeg -i input.wav -c: a libfaac -profile: a aac_ltp -q: a 100 output.m4a

libfdk_aac Trình bao bọc bộ mã hóa libfdk-aac AAC (Advanced Audio Coding).

Thư viện libfdk-aac dựa trên mã Fraunhofer FDK AAC từ dự án Android.

Yêu cầu sự hiện diện của tiêu đề và thư viện libfdk-aac trong quá trình cấu hình. Bạn cần để định cấu hình rõ ràng bản dựng với "--enable-libfdk-aac". Thư viện cũng là không tương thích với GPL, vì vậy nếu bạn cho phép sử dụng GPL, bạn nên định cấu hình với "--enable-gpl --enable-nonfree --enable-libfdk-aac".

Bộ mã hóa này được coi là có chất lượng cao hơn đối với cả hai các tự nhiên thử nghiệm FFmpeg AAC mã hóa và libfaac.

Mã hóa VBR, được kích hoạt thông qua vbr or cờ + qscale tùy chọn, là thử nghiệm và chỉ hoạt động với một số kết hợp của các tham số.

Hỗ trợ mã hóa âm thanh 7.1 chỉ khả dụng với libfdk-aac 0.1.3 trở lên.

Để biết thêm thông tin, hãy xem dự án fdk-aac tại <//sourceforge.net/p/opencore-amr/fdk-aac/>.

Các lựa chọn

Các tùy chọn sau được ánh xạ trên các tùy chọn codec FFmpeg được chia sẻ.

b Đặt tốc độ bit tính bằng bit / s. Nếu tốc độ bit không được chỉ định rõ ràng, nó là tự động đặt thành một giá trị phù hợp tùy thuộc vào cấu hình đã chọn.

Trong trường hợp chế độ VBR được bật, tùy chọn này sẽ bị bỏ qua.

ar Đặt tốc độ lấy mẫu âm thanh (tính bằng Hz).

kênh Đặt số lượng kênh âm thanh.

cờ + qscale Bật chế độ chất lượng cố định, VBR (Tốc độ bit thay đổi). Lưu ý rằng VBR là ngầm định được kích hoạt khi vbr giá trị là dương.

xẻ ra Đặt tần số cắt. Nếu không được chỉ định (hoặc được đặt rõ ràng thành 0), nó sẽ sử dụng một giá trị được thư viện tính toán tự động. Giá trị mặc định là 0.

Hồ sơ Đặt cấu hình âm thanh.

Các cấu hình sau được công nhận:

aac_thấp Độ phức tạp thấp AAC (LC)

aac_he AAC hiệu quả cao (HE-AAC)

aac_he_v2 AAC hiệu quả cao phiên bản 2 (HE-AACv2)

aac_ld Độ trễ thấp AAC (LD)

aac_eld Tăng cường độ trễ thấp AAC (ELD)

Nếu không được chỉ định, nó được đặt thành aac_thấp.

Sau đây là các tùy chọn riêng của bộ mã hóa libfdk_aac.

người đốt sau Bật tính năng đốt sau nếu được đặt thành 1, tắt nếu được đặt thành 0. Điều này cải thiện chất lượng mà còn là sức mạnh xử lý cần thiết.

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

Field_sbr Bật SBR (Sao chép dải phổ) cho ELD nếu được đặt thành 1, tắt nếu đặt thành 0.

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

báo hiệu Đặt kiểu báo hiệu SBR / PS.

Nó có thể giả định một trong các giá trị sau:

mặc định chọn báo hiệu ngầm định (phân cấp rõ ràng theo mặc định, ngầm định nếu toàn cầu tiêu đề bị vô hiệu hóa)

ngầm báo hiệu tương thích ngược tiềm ẩn

rõ ràng_sbr SBR rõ ràng, báo hiệu PS ngầm

rõ ràng_hierarchical báo hiệu phân cấp rõ ràng

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

vĩ độ Đầu ra dữ liệu được đóng gói LATM / LOAS nếu được đặt thành 1, bị vô hiệu hóa nếu được đặt thành 0.

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

tiêu đề_thời gian Đặt khoảng thời gian lặp lại StreamMuxConfig và PCE (trong khung) để gửi trong băng tần bộ đệm cấu hình trong lớp truyền tải LATM / LOAS.

Phải là số nguyên không âm 16 bit.

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

vbr Đặt chế độ VBR, từ 1 đến 5. 1 là chất lượng thấp nhất (mặc dù vẫn khá tốt) và 5 là chất lượng cao nhất. Giá trị 0 sẽ vô hiệu hóa VBR và CBR (Tốc độ bit không đổi) là kích hoạt.

Hiện tại chỉ có aac_thấp hồ sơ hỗ trợ mã hóa VBR.

Chế độ VBR 1-5 tương ứng với gần như tốc độ bit trung bình sau:

1 32 kb / kênh

2 40 kb / kênh

3 48-56 kbps / kênh

4 64 kb / kênh

5 khoảng 80-96 kbps / kênh

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

Các ví dụ

· Sử dụng ffmpeg để chuyển đổi tệp âm thanh sang VBR AAC trong vùng chứa M4A (MP4):

ffmpeg -i input.wav -codec: a libfdk_aac -vbr 3 output.m4a

· Sử dụng ffmpeg để chuyển đổi tệp âm thanh sang CBR 64k kbps AAC, sử dụng AAC hiệu quả cao Hồ sơ:

ffmpeg -i input.wav -c: a libfdk_aac -profile: a aac_he -b: a 64k output.m4a

libmp3lame Trình bao bọc bộ mã hóa MP3 LAME (Lame Ain’t a MP3 Encoder).

Yêu cầu sự hiện diện của tiêu đề và thư viện libmp3lame trong quá trình cấu hình. Bạn cần để định cấu hình rõ ràng bản dựng với "--enable-libmp3lame".

Xem libshine cho bộ mã hóa MP3 điểm cố định, mặc dù có chất lượng thấp hơn.

Các lựa chọn

Các tùy chọn sau được hỗ trợ bởi trình bao bọc libmp3lame. Các què- tương đương của các tùy chọn được liệt kê trong ngoặc đơn.

b (

-b

) Đặt tốc độ bit được biểu thị bằng bit / s cho CBR hoặc ABR. LAME "bitrate" được thể hiện bằng kilobit / s.

q (

-V

) Đặt cài đặt chất lượng không đổi cho VBR. Tùy chọn này chỉ hợp lệ khi sử dụng ffmpeg công cụ dòng lệnh. Đối với người dùng giao diện thư viện, hãy sử dụng global_chất lượng.

nén_level (

-q

) Đặt chất lượng thuật toán. Các đối số hợp lệ là các số nguyên trong phạm vi 0-9, có nghĩa là 0 chất lượng cao nhất nhưng chậm nhất và 9 có nghĩa là nhanh nhất trong khi tạo ra chất lượng kém nhất.

hồ chứa Cho phép sử dụng vùng chứa bit khi được đặt thành 1. Giá trị mặc định là 1. LAME đã bật tính năng này theo mặc định, nhưng có thể bị ghi đè khi sử dụng --nores tùy chọn.

Joint_stereo (

-m j

) Cho phép bộ mã hóa sử dụng (trên cơ sở từng khung hình) âm thanh nổi L / R hoặc âm thanh giữa / bên âm thanh nổi. Giá trị mặc định là 1.

tháng tư (

--abr

) Cho phép bộ mã hóa sử dụng ABR khi được đặt thành 1. què --abr đặt tốc độ bit mục tiêu, trong khi tùy chọn này chỉ yêu cầu FFmpeg sử dụng ABR vẫn dựa vào b để đặt tốc độ bit.

libopencore-amrnb Bộ mã hóa băng thông hẹp đa tốc độ thích ứng OpenCORE.

Yêu cầu sự hiện diện của tiêu đề và thư viện libopencore-amrnb trong quá trình cấu hình. Bạn cần định cấu hình rõ ràng bản dựng với "--enable-libopencore-amrnb --enable-version3 ".

Đây là một bộ mã hóa mono-only. Chính thức nó chỉ hỗ trợ tốc độ lấy mẫu 8000Hz, nhưng bạn có thể ghi đè nó bằng cách thiết lập khắt khe đến không chính thức hoặc thấp hơn.

Các lựa chọn

b Đặt tốc độ bit tính bằng bit trên giây. Chỉ các tốc độ bit sau được hỗ trợ, nếu không libavcodec sẽ làm tròn đến tốc độ bit hợp lệ gần nhất.

4750 5150 5900 6700 7400 7950 10200 12200 dtx Cho phép truyền không liên tục (tạo ra tiếng ồn thoải mái) khi được đặt thành 1. Giá trị mặc định giá trị là 0 (bị vô hiệu hóa).

libshine Trình bao bọc bộ mã hóa MP3 điểm cố định Shine.

Shine là một bộ mã hóa MP3 điểm cố định. Nó có hiệu suất tốt hơn nhiều trên các nền tảng không có FPU, ví dụ như CPU ​​armel, và một số điện thoại và máy tính bảng. Tuy nhiên, vì nó được nhắm mục tiêu nhiều hơn vào hiệu suất hơn chất lượng, nó không ngang bằng với LAME và các bộ mã hóa cấp sản xuất khác chất lượng thông thái. Ngoài ra, theo trang chủ của dự án, bộ mã hóa này có thể không miễn phí lỗi vì mã đã được viết cách đây khá lâu và dự án đã chết trong ít nhất 5 năm.

Bộ mã hóa này chỉ hỗ trợ đầu vào âm thanh nổi và đơn âm. Đây cũng là phiên bản chỉ dành cho CBR.

Dự án ban đầu (cập nhật lần cuối vào đầu năm 2007) tại <//sourceforge.net/projects/libshine-fxp/>. Chúng tôi chỉ hỗ trợ bản fork được cập nhật bởi Dự án Savonet / Liquidsoap tại//github.com/savonet/shine>.

Yêu cầu sự hiện diện của tiêu đề libshine và thư viện trong quá trình cấu hình. Bạn cần để định cấu hình rõ ràng bản dựng với "--enable-libshine".

Xem thêm libmp3lame.

Các lựa chọn

Các tùy chọn sau được hỗ trợ bởi trình bao bọc libshine. Các tỏa sáng-tương đương với các tùy chọn được liệt kê trong dấu ngoặc đơn.

b (

-b

) Đặt tốc độ bit được biểu thị bằng bit / s cho CBR. tỏa sáng -b tùy chọn được thể hiện trong kilobit / s.

libwolame Trình bao bọc bộ mã hóa TwoLAME MP2.

Yêu cầu sự hiện diện của tiêu đề và thư viện libtwolame trong quá trình cấu hình. Bạn cần để định cấu hình rõ ràng bản dựng với "--enable-libtwolame".

Các lựa chọn

Các tùy chọn sau được hỗ trợ bởi trình bao bọc libtwolame. Các hai què-tương đương các tùy chọn tuân theo các tùy chọn FFmpeg và nằm trong ngoặc đơn.

b (

-b

) Đặt tốc độ bit được biểu thị bằng bit / s cho CBR. hai què b tùy chọn được biểu thị bằng kilobit / s. Giá trị mặc định là 128k.

q (

-V

) Đặt chất lượng cho hỗ trợ VBR thử nghiệm. Phạm vi giá trị tối đa là từ -50 đến 50, phạm vi hữu ích là từ -10 đến 10. Giá trị càng cao, chất lượng càng tốt. Điều này tùy chọn chỉ hợp lệ bằng cách sử dụng ffmpeg công cụ dòng lệnh. Đối với người dùng giao diện thư viện, sử dụng global_chất lượng.

chế độ (

--chế độ

) Đặt chế độ của âm thanh kết quả. Những giá trị khả thi:

tự động Chọn chế độ tự động dựa trên đầu vào. Đây là mặc định.

âm thanh nổi Stereo

Joint_stereo Âm thanh nổi chung

kênh đôi kênh đôi

mono Mono

mô hình tâm lý (

- chế độ chu kỳ

) Đặt mô hình âm thanh tâm lý để sử dụng trong mã hóa. Đối số phải là một số nguyên giữa -1 và 4, bao gồm. Giá trị càng cao thì chất lượng càng tốt. Giá trị mặc định là 3.

mức năng lượng (

--năng lượng

) Bật tiện ích mở rộng mức năng lượng khi được đặt thành 1. Giá trị mặc định là 0 (bị tắt).

lỗi_bảo vệ (

--bảo vệ

) Bật tính năng bảo vệ chống lỗi CRC khi được đặt thành 1. Giá trị mặc định là 0 (bị vô hiệu hóa).

quyền tác giả (

- bản quyền

) Đặt cờ bản quyền âm thanh MPEG khi được đặt thành 1. Giá trị mặc định là 0 (bị tắt).

nguyên (

--nguyên bản

) Đặt cờ gốc âm thanh MPEG khi được đặt thành 1. Giá trị mặc định là 0 (bị tắt).

libvo-aacenc Bộ mã hóa VisualOn AAC.

Yêu cầu sự hiện diện của tiêu đề và thư viện libvo-aacenc trong quá trình cấu hình. Bạn cần định cấu hình rõ ràng bản dựng với "--enable-libvo-aacenc --enable-version3".

Bộ mã hóa này được coi là kém hơn tự nhiên thử nghiệm FFmpeg AAC mã hóa, theo nhiều nguồn.

Các lựa chọn

Bộ mã hóa VisualOn AAC chỉ hỗ trợ mã hóa AAC-LC và tối đa 2 kênh. Nó cũng là Chỉ CBR.

b Đặt tốc độ bit tính bằng bit / s.

libvo-amrwbenc Bộ mã hóa băng rộng đa tỷ lệ thích ứng VisualOn.

Yêu cầu sự hiện diện của tiêu đề và thư viện libvo-amrwbenc trong quá trình cấu hình. Bạn cần định cấu hình rõ ràng bản dựng với "--enable-libvo-amrwbenc --enable-version3".

Đây là một bộ mã hóa mono-only. Chính thức nó chỉ hỗ trợ tốc độ lấy mẫu 16000Hz, nhưng bạn có thể ghi đè nó bằng cách thiết lập khắt khe đến không chính thức hoặc thấp hơn.

Các lựa chọn

b Đặt tốc độ bit theo bit / s. Chỉ các tốc độ bit sau được hỗ trợ, nếu không libavcodec sẽ làm tròn đến tốc độ bit hợp lệ gần nhất.

6600 8850 12650 14250 15850 18250 19850 23050 23850 dtx Cho phép truyền không liên tục (tạo ra tiếng ồn thoải mái) khi được đặt thành 1. Giá trị mặc định giá trị là 0 (bị vô hiệu hóa).

cây libop Trình bao bọc bộ mã hóa Codec âm thanh tương tác libopus Opus.

Yêu cầu sự hiện diện của tiêu đề và thư viện libopus trong quá trình cấu hình. Bạn cần phải định cấu hình rõ ràng bản dựng bằng "--enable-libopus".

Tùy chọn Lập bản đồ

Hầu hết các tùy chọn libopus được mô phỏng theo opusenc tiện ích từ opus-tools. Sau là một biểu đồ ánh xạ tùy chọn mô tả các tùy chọn được hỗ trợ bởi trình bao bọc libopus và opusenc-tương tự trong ngoặc đơn.

b (

tốc độ bit

) Đặt tốc độ bit tính bằng bit / s. FFmpeg's b tùy chọn được thể hiện bằng bit / s, trong khi opusenc's tốc độ bit tính bằng kilobit / s.

vbr (

vbr

,

cứng-cbr

, và

cvbr

) Đặt chế độ VBR. FFmpeg vbr tùy chọn có các đối số hợp lệ sau, với opusenc các tùy chọn tương đương trong ngoặc đơn:

off (

cứng-cbr

) Sử dụng mã hóa tốc độ bit không đổi.

on (

vbr

) Sử dụng mã hóa tốc độ bit thay đổi (mặc định).

bị hạn chế (

cvbr

) Sử dụng mã hóa tốc độ bit biến đổi bị ràng buộc.

nén_level (

comp

) Đặt độ phức tạp của thuật toán mã hóa. Các tùy chọn hợp lệ là các số nguyên trong phạm vi 0-10. 0 cung cấp mã hóa nhanh nhất nhưng chất lượng thấp hơn, trong khi 10 cho chất lượng cao nhất nhưng mã hóa chậm nhất. Giá trị mặc định là 10.

frame_duration (

kích thước khung

) Đặt kích thước khung hình tối đa hoặc thời lượng của khung hình tính bằng mili giây. Đối số phải là chính xác như sau: 2.5, 5, 10, 20, 40, 60. Kích thước khung hình nhỏ hơn đạt được thấp hơn độ trễ nhưng chất lượng kém hơn ở một tốc độ bit nhất định. Kích thước lớn hơn 20ms chỉ thú vị ở tốc độ bit khá thấp. Mặc định là 20ms.

pack_loss (

mong đợi-mất mát

) Đặt tỷ lệ phần trăm mất gói dự kiến. Giá trị mặc định là 0.

ứng dụng (NA) Đặt loại ứng dụng dự định. Các tùy chọn hợp lệ được liệt kê bên dưới:

voip Hỗ trợ cải thiện độ rõ của giọng nói.

âm thanh Ủng hộ sự trung thành với đầu vào (mặc định).

độ trễ thấp Chỉ giới hạn ở các chế độ trễ thấp nhất.

xẻ ra (NA) Đặt băng thông cắt tính bằng Hz. Đối số phải chính xác là một trong những đối số sau: 4000, 6000, 8000, 12000 hoặc 20000, tương ứng với băng thông hẹp, băng thông trung bình, băng thông rộng, siêu băng rộng và băng đầy đủ tương ứng. Giá trị mặc định là 0 (đã tắt điểm cắt).

libvorbis trình bao bọc bộ mã hóa libvorbis.

Yêu cầu sự hiện diện của các tiêu đề và thư viện libvorbisenc trong quá trình cấu hình. Bạn cần định cấu hình rõ ràng bản dựng bằng "--enable-libvorbis".

Các lựa chọn

Các tùy chọn sau được hỗ trợ bởi trình bao bọc libvorbis. Các oggec- tương đương của các tùy chọn được liệt kê trong ngoặc đơn.

Để có được tài liệu chính xác và phong phú hơn về các tùy chọn libvorbis, hãy tham khảo libvorbisenc's và oggectài liệu của. Nhìn thấy//xiph.org/vorbis/>, <//wiki.xiph.org/Vorbis-tools>, và

oggec

(1).

b (

-b

) Đặt tốc độ bit được biểu thị bằng bit / s cho ABR. oggec -b được biểu thị bằng kilobit / s.

q (

-q

) Đặt cài đặt chất lượng không đổi cho VBR. Giá trị phải là một số thực trong phạm vi từ -1.0 đến 10.0. Giá trị càng cao thì chất lượng càng tốt. Giá trị mặc định là 3.0.

Tùy chọn này chỉ hợp lệ khi sử dụng ffmpeg công cụ dòng lệnh. Đối với giao diện thư viện người dùng, sử dụng global_chất lượng.

xẻ ra (

--tùy chọn mã hóa nâng cao lowpass_frequency = N

) Đặt băng thông cắt tính bằng Hz, giá trị 0 sẽ tắt băng thông cắt. oggectùy chọn liên quan của là được biểu thị bằng kHz. Giá trị mặc định là 0 (dấu hiệu bị vô hiệu hóa).

tốc độ tối thiểu (

-m

) Đặt tốc độ bit tối thiểu được biểu thị bằng bit / s. oggec -m được biểu thị bằng kilobit / s.

tỷ lệ tối đa (

-M

) Đặt tốc độ bit tối đa được biểu thị bằng bit / s. oggec -M được biểu thị bằng kilobit / s. Điều này chỉ có hiệu lực trên chế độ ABR.

Tôi chặn (

--tùy chọn mã hóa nâng cao xung_nhung_chung = N

) Đặt thiên vị tầng nhiễu cho các khối xung động. Giá trị là một số thực từ -15.0 đến 0.0. Xu hướng tiêu cực hướng dẫn bộ mã hóa đặc biệt chú ý đến độ sắc nét chuyển tiếp trong âm thanh được mã hóa. Sự đánh đổi để có phản hồi thoáng qua tốt hơn là tốc độ bit cao hơn.

libwavpack Một trình bao bọc cung cấp mã hóa WavPack thông qua libwavpack.

Hiện chỉ hỗ trợ chế độ không mất dữ liệu sử dụng mẫu số nguyên 32 bit.

Yêu cầu sự hiện diện của tiêu đề và thư viện libwavpack trong quá trình cấu hình. Bạn cần để định cấu hình rõ ràng bản dựng với "--enable-libwavpack".

Lưu ý rằng tồn tại bộ mã hóa gốc libavcodec cho codec WavPack để người dùng có thể mã hóa âm thanh với codec này mà không cần sử dụng bộ mã hóa này. Nhìn thấy wavpackenc.

Các lựa chọn

wavpack Các tùy chọn tương ứng của tiện ích dòng lệnh được liệt kê trong dấu ngoặc đơn, nếu có.

kích thước khung hình (

--kích thước khối

) Mặc định là 32768.

nén_level Đặt sự cân bằng giữa tốc độ và nén. Các đối số có thể chấp nhận được liệt kê bên dưới:

0 (

-f

) Chế độ nhanh.

1 Cài đặt bình thường (mặc định).

2 (

-h

) Chất lượng cao.

3 (

-ừ

) Chất lượng rất cao.

4-8 (

-ừ -xEXTRAPROC

) Giống như 3, nhưng được kích hoạt thêm xử lý.

4 giống như -x2 và 8 giống như -x6.

wavpack Bộ mã hóa âm thanh không mất dữ liệu WavPack.

Đây là bộ mã hóa WavPack gốc libavcodec. Ngoài ra còn có một bộ mã hóa dựa trên libwavpack, nhưng hầu như không có lý do gì để sử dụng bộ mã hóa đó.

Xem thêm libwavpack.

Các lựa chọn

Các tùy chọn tương đương cho wavpack tiện ích dòng lệnh được liệt kê trong dấu ngoặc đơn.

Các tùy chọn được chia sẻ

Các tùy chọn được chia sẻ sau đây có hiệu quả đối với bộ mã hóa này. Chỉ những lưu ý đặc biệt về điều này bộ mã hóa cụ thể sẽ được ghi lại ở đây. Để biết ý nghĩa chung của các tùy chọn, hãy xem các Codec Các lựa chọn chương.

kích thước khung hình (

--kích thước khối

) Đối với bộ mã hóa này, phạm vi cho tùy chọn này là từ 128 đến 131072. Mặc định là được quyết định tự động dựa trên tỷ lệ mẫu và số lượng kênh.

Để biết công thức tính toán mặc định đầy đủ, hãy xem

libavcodec / wavpackenc.c

.

nén_level (

-f

,

-h

,

-ừ

, và

-x

) Cú pháp của tùy chọn này phù hợp với libwavpack'S.

Tùy chọn riêng tư

Joint_stereo (

-j

) Đặt có bật âm thanh nổi chung hay không. Giá trị hợp lệ là:

on (

1

) Buộc mã hóa âm thanh giữa / bên.

off (

0

) Buộc mã hóa âm thanh trái / phải.

tự động Hãy để bộ mã hóa tự động quyết định.

Optimi_mono Đặt có bật tối ưu hóa cho mono hay không. Tùy chọn này chỉ hiệu quả đối với những người không dòng đơn. Các giá trị có sẵn:

on kích hoạt

off bị vô hiệu hóa

Thêm bài này vào danh sách Video của bạn Download bài này VIÊN

Sau đây là mô tả về một số bộ mã hóa video hiện có sẵn.

jpeg2000 Theo mặc định, bộ mã hóa jpeg 2000 gốc bị mất, tùy chọn "-q: v" có thể được sử dụng để đặt chất lượng mã hóa. Có thể chọn mã hóa không mất dữ liệu với "-pred 1".

Các lựa chọn

định dạng Có thể được đặt thành "j2k" hoặc "jp2" (mặc định) để có thể lưu trữ rgb pix_fmts.

tuyết

Các lựa chọn

lặp_dia_size kích thước đường kính để ước tính chuyển động lặp đi lặp lại

thư viện Trình bao bọc bộ mã hóa libtheora Theora.

Yêu cầu sự hiện diện của tiêu đề và thư viện libtheora trong quá trình cấu hình. Bạn cần để định cấu hình rõ ràng bản dựng với "--enable-libtheora".

Thông tin chi tiết về dự án libtheora xem tại//www.theora.org/>.

Các lựa chọn

Các tùy chọn chung sau được ánh xạ tới các tùy chọn libtheora nội bộ ảnh hưởng đến chất lượng và tốc độ bit của luồng được mã hóa.

b Đặt tốc độ bit của video theo bit / s cho chế độ CBR (Tốc độ bit không đổi). Trong trường hợp VBR Chế độ (Tốc độ bit thay đổi) được bật tùy chọn này bị bỏ qua.

cờ Được sử dụng để kích hoạt chế độ chất lượng không đổi (VBR) mã hóa thông qua thang đo q cờ, và để bật chế độ "pass1" và "pass2".

g Đặt kích thước GOP.

global_chất lượng Đặt chất lượng toàn cục dưới dạng số nguyên tính bằng đơn vị lambda.

Chỉ phù hợp khi chế độ VBR được bật với "flags + qscale". Giá trị được chuyển đổi thành Đơn vị QP bằng cách chia nó cho "FF_QP2LAMBDA", được cắt bớt trong phạm vi [0 - 10], sau đó nhân với 6.3 để nhận một giá trị trong phạm vi libtheora gốc [0-63]. Giá trị cao hơn tương ứng với chất lượng cao hơn.

q Bật chế độ VBR khi được đặt thành giá trị không âm và đặt giá trị chất lượng không đổi làm giá trị dấu phẩy động kép theo đơn vị QP.

Giá trị được cắt bớt trong phạm vi [0-10], sau đó nhân với 6.3 để nhận giá trị trong phạm vi libtheora bản địa [0-63].

Tùy chọn này chỉ hợp lệ khi sử dụng ffmpeg công cụ dòng lệnh. Đối với giao diện thư viện người dùng, sử dụng global_chất lượng.

Các ví dụ

· Đặt mã hóa chất lượng không đổi tối đa (VBR) với ffmpeg:

ffmpeg -i INPUT -codec: v libtheora -q: v 10 OUTPUT.ogg

· Sử dụng ffmpeg để chuyển đổi luồng video CBR 1000 kbps Theora:

ffmpeg -i INPUT -codec: v libtheora -b: v 1000k OUTPUT.ogg

libvpx Định dạng VP8 / VP9 được hỗ trợ thông qua libvpx.

Yêu cầu sự hiện diện của tiêu đề và thư viện libvpx trong quá trình cấu hình. Bạn cần phải định cấu hình rõ ràng bản dựng với "--enable-libvpx".

Các lựa chọn

Các tùy chọn sau được hỗ trợ bởi trình bao bọc libvpx. Các vpxenc-các tùy chọn tương đương hoặc các giá trị được liệt kê trong ngoặc đơn để dễ dàng di chuyển.

Để giảm sự trùng lặp của tài liệu, chỉ có các tùy chọn riêng tư và một số tùy chọn khác yêu cầu chú ý đặc biệt được ghi lại ở đây. Đối với tài liệu của không có tài liệu các tùy chọn chung, hãy xem các Codec Các lựa chọn chương.

Để có thêm tài liệu về các tùy chọn libvpx, hãy gọi lệnh ffmpeg -h encoder = libvpx, ffmpeg -h encoder = libvpx-vp9 or vpxenc --Cứu giúp. Thông tin thêm là có sẵn trong tài liệu API libvpx.

b (

tốc độ bit mục tiêu

) Đặt tốc độ bit theo bit / s. Lưu ý rằng FFmpeg's b tùy chọn được thể hiện bằng bit / s, trong khi vpxenc's tốc độ bit mục tiêu tính bằng kilobit / s.

g (

kf-max-dist

) keyint_min (

kf-min-dist

) qmin (

tối thiểu-q

) qmax (

max-q

) tăng kích thước (

buf-sz

,

buf-tối ưu-sz

) Đặt kích thước bộ đệm ratecontrol (tính bằng bit). Ghi chú vpxenccác tùy chọn của được chỉ định trong mili giây, trình bao bọc libvpx chuyển đổi giá trị này như sau: "buf-sz = bufsize * 1000 / tốc độ bit "," buf-tối ưu-sz = bufsize * 1000 / tốc độ bit * 5/6 ".

RC_init_occupancy (

buf-ban đầu-sz

) Đặt số lượng bit cần được tải vào bộ đệm rc trước khi bắt đầu giải mã. Chú thích vpxencTùy chọn của được chỉ định bằng mili giây, trình bao bọc libvpx chuyển đổi tùy chọn này giá trị như sau: "rc_init_occupancy * 1000 / bitrate".

undershoot-pct Đặt tỷ lệ phần trăm dưới mức dữ liệu (tối thiểu) của tốc độ bit mục tiêu.

vọt lố Đặt phần trăm vượt quá mức dữ liệu (tối đa) của tốc độ bit mục tiêu.

bỏ qua (

khung thả

) qcomp (

thiên vị

) tỷ lệ tối đa (

maxsection-pct

) Đặt tốc độ bit tối đa của GOP tính bằng bit / s. Ghi chú vpxenctùy chọn của được chỉ định dưới dạng phần trăm của tốc độ bit mục tiêu, trình bao bọc libvpx chuyển đổi giá trị này như sau: "(maxrate * 100 / bitrate) ".

tốc độ tối thiểu (

phần nhỏ-pct

) Đặt tốc độ bit tối thiểu của GOP tính bằng bit / s. Ghi chú vpxenctùy chọn của được chỉ định dưới dạng phần trăm của tốc độ bit mục tiêu, trình bao bọc libvpx chuyển đổi giá trị này như sau: "(tốc độ tối thiểu * 100 / bitrate) ".

tốc độ tối thiểu, tỷ lệ tối đa, b

end-use = cbr

"(tốc độ tối thiểu == tốc độ tối đa == tốc độ bit)".

crf (

end-use = cq

,

cấp cq

) chất lượng, thời hạn (

thời hạn

) tốt Sử dụng chất lượng tốt nhất thời hạn. Được đặt tên kém và khá chậm, tùy chọn này nên tránh vì nó có thể cho chất lượng đầu ra kém hơn tốt.

tốt Sử dụng chất lượng tốt thời hạn. Đây là sự cân bằng tốt giữa tốc độ và chất lượng khi được sử dụng với cpu được sử dụng tùy chọn.

thời gian thực Sử dụng thời hạn chất lượng thời gian thực.

tốc độ, cpu được sử dụng (

cpu được sử dụng

) Đặt công cụ sửa đổi tỷ lệ chất lượng / tốc độ. Giá trị cao hơn sẽ tăng tốc mã hóa với chi phí chất lượng.

nr (

độ nhạy tiếng ồn

) đập tĩnh Đặt ngưỡng thay đổi trên các khối mà dưới đó bộ mã hóa sẽ bỏ qua chúng.

lát (

token-phần

) Lưu ý rằng FFmpeg's lát tùy chọn cung cấp tổng số phân vùng, trong khi vpxenc's token-phần được cho là "log2 (phân vùng)".

tỷ lệ nội bộ tối đa Đặt tốc độ bit I-frame tối đa dưới dạng phần trăm của tốc độ bit mục tiêu. Giá trị 0 có nghĩa là vô hạn.

lực_key_frames "VPX_EFLAG_FORCE_KF"

Luân phiên tài liệu tham khảo khung liên quan tự động-alt-ref Cho phép sử dụng hệ quy chiếu thay thế (chỉ 2 lần).

arnr-max-khung Đặt số lượng khung hình tối đa giảm nhiễu altref.

kiểu arnr Đặt loại bộ lọc giảm nhiễu altref: lùi, tiến, căn giữa.

arnr-sức mạnh Đặt cường độ bộ lọc giảm nhiễu altref.

rc-nhìn về phía trước, độ trễ trong khung hình (

độ trễ trong khung hình

) Đặt số lượng khung hình để xem trước cho loại khung hình và kiểm soát chuột.

khả năng phục hồi lỗi Bật tính năng phục hồi lỗi.

VP9 cụ thể lựa chọn không mất mát Bật chế độ không mất dữ liệu.

gạch-cột Đặt số lượng cột ô sẽ sử dụng. Lưu ý rằng điều này được cung cấp dưới dạng "log2 (tile_columns)". Vì ví dụ, 8 cột ô sẽ được yêu cầu bằng cách đặt gạch-cột tùy chọn để 3.

hàng gạch Đặt số lượng hàng xếp để sử dụng. Lưu ý rằng điều này được cung cấp dưới dạng "log2 (tile_rows)". Vì ví dụ, 4 hàng ô sẽ được yêu cầu bằng cách đặt hàng gạch tùy chọn 2.

khung song song Bật tính năng giải mã song song khung.

chế độ aq Đặt chế độ lượng tử hóa thích ứng (0: tắt (mặc định), 1: phương sai 2: độ phức tạp, 3: làm mới theo chu kỳ).

không gian màu

không gian màu

Đặt không gian màu đầu vào. Dòng bit VP9 hỗ trợ báo hiệu những điều sau không gian màu:

rgb

sRGB

bt709

bt709

không xác định

không xác định

bt470bg

bt601

smpte170m

smte170

smpte240m

smte240

bt2020_ncl

bt2020

Để biết thêm thông tin về libvpx, hãy xem://www.webmproject.org/>

libwebp libwebp WebP Trình bao bọc bộ mã hóa hình ảnh

libwebp là bộ mã hóa chính thức của Google cho hình ảnh WebP. Nó có thể mã hóa theo dạng lossy hoặc chế độ không mất dữ liệu. Hình ảnh Lossy về cơ bản là một lớp bao quanh khung VP8. Hình ảnh không mất dữ liệu là một codec riêng do Google phát triển.

điểm ảnh Định dạng

Hiện tại, libwebp chỉ hỗ trợ YUV420 cho mất dữ liệu và RGB cho mất dữ liệu do các hạn chế của định dạng và libwebp. Alpha được hỗ trợ cho một trong hai chế độ. Vì API giới hạn, nếu RGB được chuyển vào khi mã hóa mất dữ liệu hoặc YUV được chuyển vào để mã hóa không mất dữ liệu, định dạng pixel sẽ tự động được chuyển đổi bằng các chức năng từ libwebp. Điều này không phải là lý tưởng và chỉ được thực hiện vì sự thuận tiện.

Các lựa chọn

-không mất mát

boolean

Bật / Tắt sử dụng chế độ không mất dữ liệu. Mặc định là 0.

-compression_level

số nguyên

Đối với tổn thất, đây là sự đánh đổi chất lượng / tốc độ. Giá trị cao hơn mang lại chất lượng tốt hơn cho kích thước đã cho với chi phí tăng thời gian mã hóa. Đối với không mất dữ liệu, đây là kích thước / tốc độ sự đánh đổi. Giá trị cao hơn cho kích thước nhỏ hơn với chi phí tăng thời gian mã hóa. Hơn đặc biệt, nó kiểm soát số lượng các thuật toán và công cụ nén bổ sung được sử dụng, và thay đổi sự kết hợp của các công cụ này. Bản đồ này đến

phương pháp

tùy chọn trong libwebp. Phạm vi hợp lệ là 0 đến 6. Mặc định là 4.

-qscale

phao

Đối với mã hóa mất dữ liệu, điều này kiểm soát chất lượng hình ảnh, 0 đến 100. Đối với mã hóa không mất dữ liệu, điều này kiểm soát nỗ lực và thời gian dành cho việc nén nhiều hơn. Giá trị mặc định là 75. Lưu ý để sử dụng qua libavcodec, tùy chọn này được gọi là

global_chất lượng

và phải nhân

FF_QP2LAMBDA

.

-đặt trước

kiểu

Cài đặt trước cấu hình. Điều này thực hiện một số cài đặt tự động dựa trên loại chung của bức hình.

không ai Không sử dụng giá trị đặt trước.

mặc định Sử dụng bộ mã hóa mặc định.

hình ảnh Hình ảnh kỹ thuật số, như chân dung, ảnh bên trong

hình chụp Chụp ảnh ngoài trời với ánh sáng tự nhiên

vẽ Vẽ tay hoặc vẽ đường, với các chi tiết có độ tương phản cao

biểu tượng Hình ảnh nhiều màu sắc kích thước nhỏ

văn bản Giống văn bản

libx264, libx264rgb Trình bao bọc bộ mã hóa AVC x264 H.264 / MPEG-4.

Bộ mã hóa này yêu cầu sự hiện diện của các tiêu đề và thư viện libx264 trong cấu hình. Bạn cần định cấu hình rõ ràng bản dựng với "--enable-libx264".

libx264 hỗ trợ một số tính năng ấn tượng, bao gồm không gian thích ứng 8x8 và 4x4 biến đổi, vị trí khung B thích ứng, mã hóa entropy CAVLC / CABAC, xen kẽ (MBAFF), chế độ không mất dữ liệu, tối ưu hóa psy để lưu giữ chi tiết (lượng tử hóa thích ứng, psy-RD, psy- lưới mắt cáo).

Nhiều tùy chọn bộ mã hóa libx264 được ánh xạ tới các tùy chọn codec toàn cầu FFmpeg, trong khi duy nhất các tùy chọn bộ mã hóa được cung cấp thông qua các tùy chọn riêng tư. Ngoài ra x264opt và x264-params các tùy chọn riêng tư cho phép người ta chuyển một danh sách các bộ giá trị key = value được chấp nhận bởi hàm libx264 "x264_param_parse".

Trang web của dự án x264 có tại//www.videolan.org/developers/x264.html>.

Bộ mã hóa libx264rgb giống như libx264, ngoại trừ nó chấp nhận các định dạng pixel RGB được đóng gói làm đầu vào thay vì YUV.

Hỗ trợ điểm ảnh Định dạng

x264 hỗ trợ không gian màu 8 đến 10-bit. Độ sâu bit chính xác được kiểm soát ở x264's cấu hình thời gian. FFmpeg chỉ hỗ trợ độ sâu một bit trong một bản dựng cụ thể. Trong khác từ, không thể tạo một FFmpeg với nhiều phiên bản x264 với độ sâu bit khác nhau.

Các lựa chọn

Các tùy chọn sau được hỗ trợ bởi trình bao bọc libx264. Các x264-các tùy chọn tương đương hoặc các giá trị được liệt kê trong ngoặc đơn để dễ dàng di chuyển.

Để giảm sự trùng lặp của tài liệu, chỉ có các tùy chọn riêng tư và một số tùy chọn khác yêu cầu chú ý đặc biệt được ghi lại ở đây. Đối với tài liệu của không có tài liệu các tùy chọn chung, hãy xem các Codec Các lựa chọn chương.

Để có được tài liệu chính xác và mở rộng hơn về các tùy chọn libx264, hãy gọi lệnh x264 - trợ giúp đầy đủ hoặc tham khảo tài liệu libx264.

b (

tốc độ bit

) Đặt tốc độ bit theo bit / s. Lưu ý rằng FFmpeg's b tùy chọn được thể hiện bằng bit / s, trong khi x264's tốc độ bit tính bằng kilobit / s.

bf (

bframe

) g (

bàn phím

) qmin (

qpmin

) Thang đo lượng tử tối thiểu.

qmax (

qpmax

) Thang đo lượng tử tối đa.

qdiff (

qpstep

) Sự khác biệt tối đa giữa các thang đo lượng tử.

qblur (

qblur

) Đường cong lượng tử mờ

qcomp (

qcomp

) Hệ số nén đường cong lượng tử

giới thiệu (

ref

) Số lượng hệ quy chiếu mà mỗi P-frame có thể sử dụng. Phạm vi là từ

0-16

.

ngưỡng sc_threshold (

cắt cảnh

) Đặt ngưỡng phát hiện thay đổi cảnh.

lưới mắt cáo (

lưới mắt cáo

) Thực hiện lượng tử hóa Trellis để tăng hiệu quả. Được bật theo mặc định.

nr (

nr

) tôi_phạm vi (

pha trộn

) Phạm vi tối đa của tìm kiếm chuyển động tính bằng pixel.

phương thức tôi (

me

) Đặt phương pháp ước lượng chuyển động. Các giá trị có thể có theo thứ tự tốc độ giảm dần:

ngày (

ngày

) epz (

ngày

) Tìm kiếm kim cương với bán kính 1 (nhanh nhất). epz là một bí danh cho ngày.

hex (

hex

) Tìm kiếm lục giác với bán kính 2.

ừm (

ừm

) Tìm kiếm nhiều hình lục giác không đều.

esa (

esa

) Tìm kiếm đầy đủ.

Tesa (

Tesa

) Tìm kiếm toàn diện Hadamard (chậm nhất).

subq (

phụ

) Phương pháp ước lượng chuyển động điểm ảnh phụ.

b_chiến lược (

b-thích ứng

) Thuật toán quyết định vị trí khung B thích ứng. Chỉ sử dụng trên vé đầu tiên.

keyint_min (

khóa tối thiểu

) Kích thước GOP tối thiểu.

lập trình viên Đặt bộ mã hóa entropy. Những giá trị khả thi:

ac Bật CABAC.

vlc Bật CAVLC và tắt CABAC. Nó tạo ra hiệu ứng tương tự như x264's --no-cabac tùy chọn.

CMP Đặt thuật toán so sánh ước tính chuyển động pixel đầy đủ. Những giá trị khả thi:

sắc độ Bật sắc độ trong ước tính chuyển động.

buồn Bỏ qua sắc độ trong ước lượng chuyển động. Nó tạo ra hiệu ứng tương tự như x264's --no-chroma-me tùy chọn.

chủ đề (

chủ đề

) Số luồng mã hóa.

Loại sợi Đặt kỹ thuật đa luồng. Những giá trị khả thi:

lát Đa luồng dựa trên lát cắt. Nó tạo ra hiệu ứng tương tự như x264's --sliced-thread tùy chọn.

khung Đa luồng dựa trên khung.

cờ Đặt cờ mã hóa. Nó có thể được sử dụng để tắt GOP đã đóng và bật GOP mở bằng cách đặt nó thành "-cgop". Kết quả tương tự như hành vi của x264's --open-gop tùy chọn.

RC_init_occupancy (

vbv-init

) cài sẵn (

cài sẵn

) Đặt giá trị đặt trước mã hóa.

điều chỉnh (

điều chỉnh

) Đặt điều chỉnh các thông số mã hóa.

Hồ sơ (

Hồ sơ

) Đặt hạn chế hồ sơ.

đi nhanh Bật cài đặt nhanh khi mã hóa vượt qua lần đầu tiên, khi được đặt thành 1. Khi được đặt thành 0, nó có tác dụng tương tự của x264's --đi qua chậm tùy chọn.

crf (

crf

) Đặt chất lượng cho chế độ chất lượng không đổi.

crf_max (

crf-max

) Trong chế độ CRF, ngăn VBV giảm chất lượng vượt quá điểm này.

qp (

qp

) Đặt tham số phương pháp điều khiển tốc độ lượng tử hóa không đổi.

chế độ aq (

chế độ aq

) Đặt phương pháp AQ. Những giá trị khả thi:

không ai (

0

) Tàn tật.

không đúng (

1

) Phương sai AQ (mặt nạ phức tạp).

sự tự phụ (

2

) Phương sai AQ tự động (thử nghiệm).

aq-sức mạnh (

aq-sức mạnh

) Đặt cường độ AQ, giảm chặn và làm mờ ở các khu vực bằng phẳng và có kết cấu.

psy Sử dụng các tính năng tối ưu hóa tâm lý khi được đặt thành 1. Khi được đặt thành 0, nó có tác dụng tương tự như x264's --không-tâm lý tùy chọn.

tâm lý (

tâm lý

) Đặt sức mạnh của tối ưu hóa tâm lý thị giác, trong

tâm lý

:

rầy chổng cánh

định dạng.

rc-nhìn về phía trước (

rc-nhìn về phía trước

) Đặt số lượng khung hình để xem trước cho loại khung hình và kiểm soát chuột.

trọng lượng b Bật dự đoán có trọng số cho khung B khi được đặt thành 1. Khi được đặt thành 0, nó có cùng có hiệu lực như x264's - không trọng lượngb tùy chọn.

tạ (

tạ

) Đặt phương pháp dự đoán có trọng số cho khung P. Những giá trị khả thi:

không ai (

0

) Bị vô hiệu hóa

đơn giản (

1

) Chỉ bật các giới thiệu có trọng số

thông minh (

2

) Cho phép cả bản giới thiệu có trọng số và bản sao

ssim (

ssim

) Cho phép tính toán và in số liệu thống kê SSIM sau khi mã hóa.

làm mới nội bộ (

làm mới nội bộ

) Cho phép sử dụng Làm mới nội bộ định kỳ thay vì khung IDR khi được đặt thành 1.

đẳng cấp avcintra (

tốt nghiệp lớp XNUMX

) Định cấu hình bộ mã hóa để tạo AVC-Intra. Giá trị hợp lệ là 50,100 và 200

bluray-tương thích (

bluray-tương thích

) Định cấu hình bộ mã hóa để tương thích với tiêu chuẩn bluray. Nó là một tốc ký để thiết lập "bluray-compat = 1 force-cfr = 1".

b-thiên vị (

b-thiên vị

) Đặt mức độ ảnh hưởng đến tần suất sử dụng khung B.

kim tự tháp b (

kim tự tháp b

) Đặt phương thức lưu một số khung B làm tham chiếu. Những giá trị khả thi:

không ai (

không ai

) Tàn tật.

khắt khe (

khắt khe

) Kim tự tháp phân cấp nghiêm ngặt.

bình thường (

bình thường

) Không nghiêm ngặt (không tương thích với Blu-ray).

giới thiệu hỗn hợp Cho phép sử dụng một tham chiếu cho mỗi phân vùng, thay vì một tham chiếu cho mỗi macroblock khi được đặt thành 1. Khi được đặt thành 0, nó có tác dụng tương tự như x264's - không hỗn hợp-giới thiệu tùy chọn.

8x8dct Bật chuyển đổi không gian thích ứng (biến đổi 8x8 cấu hình cao) khi được đặt thành 1. Khi được đặt thành 0, nó có tác dụng tương tự như x264's --no-8x8dct tùy chọn.

pskip nhanh Bật tính năng phát hiện SKIP sớm trên P-frame khi được đặt thành 1. Khi được đặt thành 0, nó có chức năng tương tự có hiệu lực như x264's - không nhanh-pskip tùy chọn.

kiểm toán (

kiểm toán

) Cho phép sử dụng dấu phân cách đơn vị truy cập khi được đặt thành 1.

mbtree Bật sử dụng macroblock tree ratecontrol khi được đặt thành 1. Khi được đặt thành 0, nó có cùng có hiệu lực như x264's --no-mbtree tùy chọn.

gỡ lỗi (

gỡ lỗi

) Đặt các thông số bộ lọc vòng lặp, trong

alpha

:

beta

hình thức.

cplxblur (

cplxblur

) Đặt mức giảm dao động trong QP (trước khi nén đường cong).

điểm số (

điểm số

) Đặt phân vùng được coi là danh sách được phân tách bằng dấu phẩy. Các giá trị có thể có trong danh sách:

p8x8 Phân vùng khung P 8x8.

p4x4 Phân vùng khung P 4x4.

b8x8 Phân vùng khung B 4x4.

i8x8 Phân vùng I-frame 8x8.

i4x4 Phân vùng khung chữ I 4x4. (Cho phép p4x4 đòi hỏi p8x8 để được kích hoạt. Cho phép i8x8 yêu cầu biến đổi không gian thích ứng (8x8dct tùy chọn) để được kích hoạt.)

không ai (

không ai

) Không xem xét bất kỳ phân vùng nào.

tất cả các (

tất cả các

) Xem xét mọi phân vùng.

trực tiếp trước (

trực tiếp

) Đặt chế độ dự đoán MV trực tiếp. Những giá trị khả thi:

không ai (

không ai

) Tắt dự đoán MV.

Không gian (

Không gian

) Bật dự đoán không gian.

tạm thời (

tạm thời

) Bật dự đoán thời gian.

tự động (

tự động

) Tự động quyết định.

Slice-max-size (

Slice-max-size

) Đặt giới hạn kích thước của mỗi lát theo byte. Nếu không được chỉ định nhưng tải trọng RTP kích thước (ps) được chỉ định, được sử dụng.

số liệu thống kê (

số liệu thống kê

) Đặt tên tệp cho số liệu thống kê nhiều lần.

nal-hrd (

nal-hrd

) Đặt thông tin HRD tín hiệu (yêu cầu vbv-bufsize được thiết lập). Những giá trị khả thi:

không ai (

không ai

) Tắt báo hiệu thông tin HRD.

vbr (

vbr

) Tốc độ bit thay đổi.

cbr (

cbr

) Tốc độ bit không đổi (không được phép trong vùng chứa MP4).

x264opt (NA) Đặt bất kỳ tùy chọn x264 nào, xem x264 --đầy đủ trợ giúp cho một danh sách.

Đối số là danh sách

chính

\=

giá trị

các cặp cách nhau bởi dấu ":". Trong

lọc

tâm lý

lựa chọn sử dụng ":" làm dấu phân tách, thay vào đó hãy sử dụng ",". Họ cũng chấp nhận nó kể từ khi từ lâu nhưng điều này được giữ không có giấy tờ vì một số lý do.

Ví dụ: để chỉ định các tùy chọn mã hóa libx264 với ffmpeg:

ffmpeg -i foo.mpg -vcodec libx264 -x264opts keyint = 123: min-keyint = 20 -an out.mkv

x264-params (NA) Ghi đè cấu hình x264 bằng danh sách: -separated các tham số key = value.

Tùy chọn này có chức năng giống như x264opt, nhưng được sao chép cho khả năng tương thích với ngã ba Libav.

Ví dụ: để chỉ định các tùy chọn mã hóa libx264 với ffmpeg:

ffmpeg -i INPUT -c: v libx264 -x264-params level = 30: bframes = 0: weightp = 0: \ cabac = 0: ref = 1: vbv-maxrate = 768: vbv-bufsize = 2000: analyse = all: me = umh: \ no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT

Mã hóa ffpresets cho các cách sử dụng phổ biến được cung cấp để chúng có thể được sử dụng với hệ thống cài đặt trước (ví dụ: chuyển trước Tùy chọn).

libx265 x265 Trình bao bọc bộ mã hóa H.265 / HEVC.

Bộ mã hóa này yêu cầu sự hiện diện của các tiêu đề và thư viện libx265 trong cấu hình. Bạn cần định cấu hình rõ ràng bản dựng với --enable-libx265.

Các lựa chọn

cài sẵn Đặt cài đặt trước x265.

điều chỉnh Đặt tham số giai điệu x265.

x265-params Đặt tùy chọn x265 bằng cách sử dụng danh sách

chính

\=

giá trị

các cặp cách nhau bởi dấu ":". Nhìn thấy x265 --Cứu giúp để biết danh sách các tùy chọn.

Ví dụ: để chỉ định các tùy chọn mã hóa libx265 với -x265-params:

ffmpeg -i input -c: v libx265 -x265-params crf = 26: psy-rd = 1 output.mp4

libxvid Trình bao bọc bộ mã hóa Xvid MPEG-4 Phần 2.

Bộ mã hóa này yêu cầu sự hiện diện của các tiêu đề và thư viện libxvidcore trong cấu hình. Bạn cần định cấu hình rõ ràng bản dựng với "--enable-libxvid --enable-gpl ".

Bộ mã hóa "mpeg4" gốc hỗ trợ định dạng MPEG-4 Phần 2, vì vậy người dùng có thể mã hóa sang định dạng này định dạng không có thư viện này.

Các lựa chọn

Các tùy chọn sau được hỗ trợ bởi trình bao bọc libxvid. Một số tùy chọn sau được liệt kê nhưng không được ghi lại và tương ứng với các tùy chọn codec được chia sẻ. Nhìn thấy các Codec Các lựa chọn chương cho tài liệu của họ. Các tùy chọn được chia sẻ khác không được liệt kê không có tác dụng đối với bộ mã hóa libxvid.

b g qmin qmax mpeg_quant chủ đề bf b_qfactor b_qoffset cờ Đặt cờ mã hóa cụ thể. Những giá trị khả thi:

mv4 Sử dụng bốn vectơ chuyển động bằng macroblock.

aic Bật dự đoán AC chất lượng cao.

màu xám Chỉ mã hóa thang độ xám.

gmc Cho phép sử dụng bù chuyển động toàn cầu (GMC).

qpel Bật bù chuyển động XNUMX/XNUMX pixel.

cgộp Bật GOP đã đóng.

toàn cầu_header Đặt các tiêu đề chung trong ngoại dữ liệu thay vì mọi khung hình chính.

lưới mắt cáo phương thức tôi Đặt phương pháp ước lượng chuyển động. Các giá trị có thể có theo thứ tự tốc độ giảm dần và thứ tự chất lượng ngày càng tăng:

không Không sử dụng ước tính chuyển động (mặc định).

phod x1 đăng nhập Bật tìm kiếm theo khu vực kim cương nâng cao cho các khối 16x16 và tinh chỉnh nửa pixel cho các khối 16x16. x1 và đăng nhập là bí danh cho phod.

epz Bật tất cả những thứ được mô tả ở trên, cộng với tìm kiếm theo khu vực kim cương nâng cao cho Khối 8x8, tinh chỉnh nửa pixel cho khối 8x8 và ước tính chuyển động trên sắc độ máy bay.

Full Bật tất cả những thứ được mô tả ở trên, cộng với các khối 16x16 và 8x8 mở rộng tìm kiếm.

mbd Đặt thuật toán quyết định macroblock. Các giá trị có thể có theo thứ tự chất lượng ngày càng tăng:

đơn giản Sử dụng thuật toán hàm so sánh macroblock (mặc định).

bit Bật tính năng tinh chỉnh nửa pixel và 16/16 pixel dựa trên tỷ lệ biến dạng cho XNUMXxXNUMX khối.

rd Bật tất cả những thứ được mô tả ở trên, cộng với nửa pixel dựa trên tỷ lệ biến dạng và tinh chỉnh 8/8 pixel cho khối XNUMXxXNUMX và xếp hạng tìm kiếm dựa trên độ méo sử dụng mô hình vuông.

lumi_aq Bật lượng tử hóa thích ứng mặt nạ lumi khi được đặt thành 1. Mặc định là 0 (tắt).

phương sai_aq Bật lượng tử hóa thích ứng phương sai khi được đặt thành 1. Mặc định là 0 (bị tắt).

Khi kết hợp với lumi_aq, chất lượng kết quả sẽ không tốt hơn bất kỳ hai được chỉ định riêng lẻ. Nói cách khác, chất lượng kết quả sẽ kém hơn một trong hai hiệu ứng.

ssim Đặt phương pháp hiển thị cấu trúc tương tự (SSIM). Những giá trị khả thi:

off Tắt hiển thị thông tin SSIM.

trung bình Xuất SSIM trung bình vào cuối quá trình mã hóa thành stdout. Định dạng hiển thị SSIM trung bình là:

SSIM trung bình:% f

Đối với người dùng không quen thuộc với C,% f có nghĩa là số thực hoặc số thập phân (ví dụ: 0.939232).

khung Xuất cả dữ liệu SSIM trên mỗi khung hình trong quá trình mã hóa và SSIM trung bình ở cuối mã hóa sang stdout. Định dạng của thông tin trên mỗi khung là:

SSIM: trung bình:% 1.3f tối thiểu:% 1.3f tối đa:% 1.3f

Đối với người dùng không quen thuộc với C,% 1.3f có nghĩa là một số thực được làm tròn thành 3 các chữ số sau dấu chấm (ví dụ: 0.932).

ssim_acc Đặt độ chính xác của SSIM. Các tùy chọn hợp lệ là các số nguyên trong phạm vi 0-4, trong khi 0 cho kết quả chính xác nhất và 4 tính toán nhanh nhất.

mpeg2 Bộ mã hóa video MPEG-2.

Các lựa chọn

seq_disp_ext

số nguyên

Chỉ định xem bộ mã hóa có nên ghi chuỗi_đĩa_phần_tử vào đầu ra hay không.

-1 tự động Tự động quyết định viết nó hay không (đây là mặc định) bằng cách kiểm tra xem dữ liệu được ghi khác với các giá trị mặc định hoặc không xác định.

0 không bao giờ Đừng bao giờ viết nó.

1 luôn luôn Luôn luôn viết nó.

png Bộ mã hóa hình ảnh PNG.

Riêng lựa chọn

dpi

số nguyên

Đặt mật độ vật lý của pixel, tính bằng chấm trên inch, không được đặt theo mặc định

chiều

số nguyên

Đặt mật độ vật lý của pixel, tính bằng điểm trên mét, không được đặt theo mặc định

ProRes Bộ mã hóa Apple ProRes.

FFmpeg chứa 2 bộ mã hóa ProRes, bộ mã hóa prores-aw và prores-ks. Bộ mã hóa đã sử dụng có thể được chọn với tùy chọn "-vcodec".

Riêng Các lựa chọn cho prores-ks

Hồ sơ

số nguyên

Chọn cấu hình ProRes để mã hóa

Proxy lt Tiêu chuẩn hq 4444 quant_mat

số nguyên

Chọn ma trận lượng tử hóa.

tự động mặc định Proxy lt Tiêu chuẩn hq

Nếu được đặt thành

tự động

, ma trận phù hợp với hồ sơ sẽ được chọn. Nếu không được đặt, ma trận cung cấp chất lượng cao nhất,

mặc định

, sẽ được chọn.

bit_per_mb

số nguyên

Cần phân bổ bao nhiêu bit để mã hóa một macroblock. Các cấu hình khác nhau sử dụng giữa 200 và 2400 bit cho mỗi macroblock, tối đa là 8000.

mbs_per_slice

số nguyên

Số lượng macroblock trong mỗi lát (1-8); giá trị mặc định (8) phải tốt trong hầu như tất cả các tình huống.

nhà cung cấp

chuỗi

Ghi đè ID nhà cung cấp 4 byte. ID nhà cung cấp tùy chỉnh như

apl0

sẽ yêu cầu luồng được sản xuất bởi bộ mã hóa Apple.

alpha_bit

số nguyên

Chỉ định số bit cho thành phần alpha. Giá trị có thể là

0

,

8

16

. Sử dụng

0

để tắt mã hóa mặt phẳng alpha.

Tốc độ sự cân nhắc

Trong chế độ hoạt động mặc định, bộ mã hóa phải tuân theo các ràng buộc khung (nghĩa là không sản xuất khung với kích thước lớn hơn yêu cầu) trong khi vẫn tạo ra hình ảnh tốt càng tốt. Khung chứa nhiều chi tiết nhỏ khó nén hơn và bộ mã hóa sẽ dành nhiều thời gian hơn để tìm kiếm các bộ định lượng thích hợp cho từng phần.

Đặt cao hơn bit_per_mb giới hạn sẽ cải thiện tốc độ.

Để có tốc độ mã hóa nhanh nhất, hãy đặt thang đo q tham số (4 là giá trị được khuyến nghị) và không đặt giới hạn kích thước.

libkvazaar Bộ mã hóa Kvazaar H.265 / HEVC.

Yêu cầu sự hiện diện của tiêu đề và thư viện libkvazaar trong quá trình cấu hình. Bạn cần để định cấu hình rõ ràng bản dựng với --enable-libkvazaar.

Các lựa chọn

b Đặt tốc độ bit video mục tiêu theo bit / s và bật kiểm soát tốc độ.

chủ đề Đặt số lượng chuỗi mã hóa.

kvazaar-params Đặt các tham số kvazaar dưới dạng danh sách

tên

\=

giá trị

các cặp cách nhau bằng dấu phẩy (,). Nhìn thấy tài liệu kvazaar để biết danh sách các tùy chọn.

TIỂU TIỂU VIÊN

dvdsub Codec này mã hóa định dạng phụ đề bitmap được sử dụng trong DVD. Điển hình là họ được lưu trữ trong các cặp tệp VOBSUB (* .idx + * .sub) và chúng cũng có thể được sử dụng trong các tệp Matroska.

Các lựa chọn

Even_rows_fix Khi được đặt thành 1, hãy bật chế độ làm việc xung quanh để làm cho số lượng hàng pixel đồng đều trong tất cả phụ đề. Điều này khắc phục sự cố với một số người chơi cắt bỏ hàng dưới cùng nếu số là số lẻ. Công việc xung quanh chỉ thêm một hàng hoàn toàn trong suốt nếu cần. Các chi phí thấp, thường trung bình một byte cho mỗi phụ đề.

Theo mặc định, công việc này bị vô hiệu hóa.

DÒNG BIT LỌC

Khi bạn định cấu hình bản dựng FFmpeg của mình, tất cả các bộ lọc dòng bit được hỗ trợ sẽ được bật bởi vỡ nợ. 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-bsfs".

Bạn có thể tắt tất cả các bộ lọc dòng bit bằng cách sử dụng tùy chọn cấu hình "--disable-bsfs" và bật chọn lọc bất kỳ bộ lọc dòng bit nào bằng cách sử dụng tùy chọn "--enable-bsf = BSF", hoặc bạn có thể tắt một bộ lọc dòng bit cụ thể bằng cách sử dụng tùy chọn "--disable-bsf = BSF".

Tùy chọn "-bsfs" của các công cụ ff * sẽ hiển thị danh sách tất cả các dòng bit được hỗ trợ bộ lọc có trong bản dựng của bạn.

Các công cụ ff * có tùy chọn -bsf được áp dụng cho mỗi luồng, lấy một danh sách được phân tách bằng dấu phẩy bộ lọc, có các tham số theo tên bộ lọc sau dấu '='.

ffmpeg -i INPUT -c: v copy -bsf: v filter1 [= opt1 = str1 / opt2 = str2] [, filter2] OUTPUT

Dưới đây là mô tả về các bộ lọc dòng bit hiện có, với các tham số, nếu có.

aac_adtstoasc Chuyển đổi MPEG-2/4 AAC ADTS sang bộ lọc dòng bit Cấu hình âm thanh cụ thể MPEG-4.

Bộ lọc này tạo MPEG-4 AudioSpecificConfig từ tiêu đề MPEG-2/4 ADTS và loại bỏ tiêu đề ADTS.

Điều này là bắt buộc, chẳng hạn khi sao chép một luồng AAC từ một vùng chứa ADTS AAC thô sang một FLV hoặc tệp MOV / MP4.

nhai Loại bỏ không đệm ở cuối gói.

dump_extra Thêm dữ liệu bổ sung vào đầu các gói đã lọc.

Đối số bổ sung chỉ định gói nào nên được lọc. Nó chấp nhận các giá trị:

a thêm dữ liệu bổ sung vào tất cả các gói chính, nhưng chỉ khi

local_header

được thiết lập trong cờ2 giải mã trường ngữ cảnh

k thêm dữ liệu bổ sung vào tất cả các gói chính

e thêm dữ liệu bổ sung vào tất cả các gói

Nếu không được chỉ định thì nó được giả định là k.

Ví dụ như sau ffmpeg lệnh buộc một tiêu đề chung (do đó vô hiệu hóa từng tiêu đề gói) trong các gói H.264 do bộ mã hóa "libx264" tạo ra, nhưng sửa chúng bằng cách thêm tiêu đề được lưu trữ trong ngoại dữ liệu vào các gói khóa:

ffmpeg -i INPUT -map 0 -flags: v + global_header -c: v libx264 -bsf: v dump_extra out.ts

h264_mp4toannexb Chuyển đổi dòng bit H.264 từ chế độ tiền tố độ dài sang chế độ bắt đầu mã tiền tố (như được định nghĩa trong Phụ lục B của thông số kỹ thuật ITU-T H.264).

Điều này được yêu cầu bởi một số định dạng phát trực tuyến, thường là định dạng luồng truyền tải MPEG-2 ("mpegts").

Ví dụ: chuyển đổi tệp MP4 có chứa luồng H.264 sang định dạng mpegts với ffmpeg, bạn có thể sử dụng lệnh:

ffmpeg -i INPUT.mp4 -codec copy -bsf: v h264_mp4toannexb OUTPUT.ts

imxdump Sửa đổi dòng bit để phù hợp với MOV và có thể sử dụng được bởi bộ giải mã Final Cut Pro. Cái này bộ lọc chỉ áp dụng cho codec mpeg2video và có thể không cần thiết cho Final Cut Pro 7 và mới hơn với -tag: v.

Ví dụ: để chuyển đổi NTSC IMX 30 MB / giây sang MOV:

ffmpeg -i input.mxf -c copy -bsf: v imxdump -tag: v mx3n output.mov

mjpeg2jpeg Chuyển đổi các gói MJPEG / AVI1 thành các gói JPEG / JFIF đầy đủ.

MJPEG là một codec video trong đó mỗi khung hình video về cơ bản là một hình ảnh JPEG. Các các khung riêng lẻ có thể được trích xuất mà không bị mất, ví dụ như bằng cách

ffmpeg -i ../some_mjpeg.avi -c: v sao chép khung_% d.jpg

Thật không may, những phần này là hình ảnh JPEG không hoàn chỉnh, vì chúng thiếu phân đoạn DHT cần thiết để giải mã. Trích dẫn từ <//www.digitalpreservation.gov/formats/fdd/fdd000063.shtml>:

Avery Lee, viết trong nhóm tin rec.video.desktop vào năm 2001, nhận xét rằng "MJPEG, hoặc ít nhất MJPEG trong AVI có MJPG bốncc, bị hạn chế JPEG với một cố định - và * bỏ qua * - Bảng Huffman. JPEG phải là không gian màu YCbCr, nó phải là 4: 2: 2 và nó phải sử dụng mã hóa Huffman cơ bản, không phải số học hoặc lũy tiến. . . . Bạn thực sự có thể trích xuất các khung MJPEG và giải mã chúng bằng bộ giải mã JPEG thông thường, nhưng bạn phải thêm đoạn DHT cho chúng, nếu không bộ giải mã sẽ không biết cách giải nén dữ liệu. Bảng chính xác cần thiết được cung cấp trong thông số kỹ thuật OpenDML. "

Bộ lọc dòng bit này vá phần đầu của các khung được trích xuất từ ​​luồng MJPEG (mang ID tiêu đề AVI1 và thiếu phân đoạn DHT) để tạo JPEG đủ điều kiện hình ảnh.

ffmpeg -i mjpeg-movie.avi -c: v copy -bsf: v mjpeg2jpeg frame_% d.jpg khung exiftran -i -9 * .jpg ffmpeg -i frame_% d.jpg -c: v copy rotated.avi

mjpega_dump_header phim phụ mp3_header_decompress mpeg4_unpack_bframes Giải nén khung B đóng gói theo phong cách DivX.

Khung B đóng gói theo kiểu DivX không phải là MPEG-4 hợp lệ và chỉ là một giải pháp thay thế cho lỗi bị hỏng Video dành cho hệ thống con của Windows. Chúng sử dụng nhiều dung lượng hơn, có thể gây ra các vấn đề nhỏ về đồng bộ hóa AV, yêu cầu nhiều sức mạnh CPU hơn để giải mã (trừ khi người chơi có một số hàng đợi hình ảnh được giải mã để bù đắp 2,0,2,0 khung cho mỗi kiểu gói) và gây ra rắc rối nếu được sao chép vào một vùng chứa tiêu chuẩn như mp4 hoặc mpeg-ps / ts, vì bộ giải mã MPEG-4 có thể không giải mã được chúng, vì chúng không phải là MPEG-4 hợp lệ.

Ví dụ: sửa tệp AVI chứa luồng MPEG-4 với khung B đóng gói kiểu DivX sử dụng ffmpeg, bạn có thể sử dụng lệnh:

ffmpeg -i INPUT.avi -codec copy -bsf: v mpeg4_unpack_bframes OUTPUT.avi

tiếng ồn Làm hỏng nội dung của gói mà không làm hỏng hộp chứa. Có thể được sử dụng để làm mờ hoặc kiểm tra khả năng phục hồi / che giấu lỗi.

Tham số: Một chuỗi số, có giá trị liên quan đến tần suất các byte đầu ra sẽ là đã sửa đổi. Do đó, các giá trị nhỏ hơn hoặc bằng 0 bị cấm và càng thấp thì càng byte thường xuyên sẽ được sửa đổi, với 1 nghĩa là mỗi byte đều được sửa đổi.

ffmpeg -i INPUT -c copy -bsf noise [= 1] output.mkv

áp dụng sửa đổi cho mỗi byte.

xóa_thêm

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ấy//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ấy//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 "% 0

N

d ", 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 "% d0

N

d "đượ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 "% 0

N

d ", 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 đầu

số_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 "% 0

N

d ", 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ầu

trì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ụng//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 cho//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 //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 = 0x

CRC

, 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.m3u8

và 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.m3u8

và 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:

//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:

//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.m3u8

và 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 "% 0

N

d ", 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 "% 0

N

d "đượ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 "% 0

N

d ", 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 "% 0

N

d ", 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

Sản phẩm 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 //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ấy//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 hữu ích. Cảm ơn ! 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 hữu ích. Cảm ơn !

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.

Sản phẩm

không ai

dấ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 gian

phâ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ủ <//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 và 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: <//sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification>

· Thông số kỹ thuật ISO DASH: <//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

num

ngà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

BẢO VỆ

Giao thức là các phần tử được định cấu hình trong FFmpeg cho phép truy cập vào các tài nguyên yêu cầu các giao thức cụ thể.

Khi bạn định cấu hình bản dựng FFmpeg của mình, tất cả các giao thức đượ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-protocols".

Bạn có thể tắt tất cả các giao thức bằng cách sử dụng tùy chọn cấu hình "--disable-protocols" và bật một cách chọn lọc một giao thức bằng cách sử dụng tùy chọn "--enable-protocol =

BẢO VỆ

", hoặc bạn có thể vô hiệu hóa một giao thức cụ thể bằng cách sử dụng tùy chọn "--disable-protocol =

BẢO VỆ

".

Tùy chọn "-protocols" của các công cụ ff * sẽ hiển thị danh sách các giao thức được hỗ trợ.

Sau đây là mô tả về các giao thức hiện có sẵn.

không đồng bộ Trình bao bọc lấp đầy dữ liệu không đồng bộ cho luồng đầu vào.

Điền dữ liệu vào một luồng nền, để tách hoạt động I / O khỏi luồng demux.

không đồng bộ: không đồng bộ://host/resource async: cache://host/resource

làm mờ Đọc danh sách phát BluRay.

Các tùy chọn được chấp nhận là:

góc Góc BluRay

chương Bắt đầu chương (1 ... N)

danh sách Danh sách phát để đọc (BDMV / PLAYLIST / ?????. Mpls)

Ví dụ:

Đọc danh sách phát dài nhất từ ​​BluRay được gắn vào / mnt / bluray:

bluray: / mnt / bluray

Đọc góc 2 của danh sách phát 4 từ BluRay được gắn vào / mnt / bluray, bắt đầu từ chương 2:

-playlist 4 -angle 2 -chapter 2 bluray: / mnt / bluray

bộ nhớ cache Trình bao bọc bộ nhớ đệm cho luồng đầu vào.

Lưu trữ luồng đầu vào vào tệp tạm thời. Nó mang lại khả năng tìm kiếm cho các luồng trực tiếp.

bộ nhớ đệm:

concat Giao thức nối vật lý.

Đọc và tìm kiếm từ nhiều tài nguyên theo trình tự như thể chúng là một tài nguyên duy nhất.

URL được giao thức này chấp nhận có cú pháp:

kết hợp: | | ... |

Ở đâu

URL1

,

URL2

, ...,

URLN

là các url của tài nguyên sẽ được nối với nhau, mỗi url có thể chỉ định một giao thức riêng biệt.

Ví dụ để đọc một chuỗi các tệp

chia1.mpeg

,

chia2.mpeg

,

chia3.mpeg

với ffplay sử dụng lệnh:

ffplay concat: split1.mpeg \ | split2.mpeg \ | split3.mpeg

Lưu ý rằng bạn có thể cần phải thoát khỏi ký tự "|" mà là đặc biệt cho nhiều vỏ.

Crypto Giao thức đọc luồng được mã hóa AES.

Các tùy chọn được chấp nhận là:

chính Đặt khối nhị phân khóa giải mã AES từ biểu diễn thập lục phân đã cho.

iv Đặt khối nhị phân vectơ khởi tạo giải mã AES từ hệ thập lục phân đã cho sự đại diện.

Các định dạng URL được chấp nhận:

tiền điện tử: tiền điện tử +

dữ liệu Dữ liệu nội dòng trong URI. Nhìn thấy//en.wikipedia.org/wiki/Data_URI_scheme>.

Ví dụ: để chuyển đổi một tệp GIF được cung cấp nội dòng với ffmpeg:

ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png

hồ sơ Giao thức truy cập tệp.

Đọc từ hoặc ghi vào một tệp.

URL tệp có thể có dạng:

tập tin:

Ở đâu

tên tập tin

là đường dẫn của tệp để đọc.

URL không có tiền tố giao thức sẽ được coi là URL tệp. Phụ thuộc vào bản dựng, một URL trông giống như một đường dẫn Windows với ký tự ổ đĩa ở đầu cũng sẽ được giả định là một URL tệp (thường không phải như vậy trong các bản dựng dành cho unix-like hệ thống).

Ví dụ để đọc từ một tệp

đầu vào.mpeg

với ffmpeg sử dụng lệnh:

tệp ffmpeg -i: input.mpeg output.mpeg

Giao thức này chấp nhận các tùy chọn sau:

cắt bớt Cắt bớt các tệp hiện có khi ghi, nếu được đặt thành 1. Giá trị 0 ngăn việc cắt ngắn. Giá trị mặc định là 1.

kích thước khối Đặt kích thước khối tối đa của hoạt động I / O, tính bằng byte. Giá trị mặc định là "INT_MAX", dẫn đến không giới hạn kích thước khối được yêu cầu. Đặt giá trị này thấp hợp lý cải thiện thời gian phản hồi yêu cầu chấm dứt của người dùng, điều này có giá trị đối với các tệp chậm Trung bình.

ftp FTP (Giao thức truyền tệp).

Đọc từ hoặc ghi vào tài nguyên từ xa bằng giao thức FTP.

Cú pháp sau là bắt buộc.

ftp: // [user [: password] @] server [: port] /path/to/remote/resource.mpeg

Giao thức này chấp nhận các tùy chọn sau.

thời gian chờ Đặt thời gian chờ tính bằng micro giây của các hoạt động I / O socket được sử dụng bởi mức thấp bên dưới hoạt động. Theo mặc định, nó được đặt thành -1, có nghĩa là thời gian chờ không được chỉ định.

ftp-nặc danh-mật khẩu Mật khẩu được sử dụng khi đăng nhập với tư cách người dùng ẩn danh. Thông thường, một địa chỉ e-mail phải là đã sử dụng.

ftp-ghi-có thể tìm kiếm Kiểm soát khả năng tìm kiếm của kết nối trong quá trình mã hóa. Nếu được đặt thành 1, tài nguyên là được cho là có thể tìm kiếm được, nếu được đặt thành 0 thì nó được cho là không thể tìm kiếm được. Giá trị mặc định là 0.

LƯU Ý: Giao thức có thể được sử dụng làm đầu ra, nhưng không nên làm điều đó, trừ khi đặc biệt cẩn thận (kiểm tra, cấu hình máy chủ tùy chỉnh, v.v.). Các máy chủ FTP khác nhau hoạt động theo cách khác nhau trong quá trình hoạt động tìm kiếm. công cụ ff * có thể tạo ra nội dung không đầy đủ do hạn chế của máy chủ.

chuột túi má Giao thức Gopher.

hls Đọc luồng được phân đoạn tuân thủ Apple HTTP Live Streaming như một luồng thống nhất. M3U8 danh sách phát mô tả các phân đoạn có thể là tài nguyên HTTP từ xa hoặc tệp cục bộ, được truy cập sử dụng giao thức tệp tiêu chuẩn. Giao thức lồng nhau được khai báo bằng cách chỉ định "+

do đó

" sau tên lược đồ URI hls, trong đó

do đó

là "tệp" hoặc "http".

hls +//host/path/to/remote/resource.m3u8 hls + tệp: //path/to/local/resource.m3u8

Việc sử dụng giao thức này không được khuyến khích - trình demuxer hls cũng nên hoạt động (nếu không, vui lòng báo cáo các vấn đề) và hoàn thiện hơn. Để sử dụng demuxer hls thay thế, chỉ cần sử dụng các URL trực tiếp đến các tệp m3u8.

http HTTP (Giao thức truyền siêu văn bản).

Giao thức này chấp nhận các tùy chọn sau:

có thể tìm kiếm Kiểm soát khả năng tìm kiếm của kết nối. Nếu được đặt thành 1, tài nguyên được cho là có thể tìm kiếm được, nếu được đặt thành 0, nó được cho là không thể tìm kiếm được, nếu được đặt thành -1, nó sẽ cố gắng tự động phát hiện nếu nó có thể tìm kiếm được. Giá trị mặc định là -1.

chunked_post Nếu được đặt thành 1, hãy sử dụng Mã hóa chuyển theo khối cho các bài đăng, mặc định là 1.

nội dung_type Đặt một loại nội dung cụ thể cho các tin nhắn ĐĂNG.

tiêu đề Đặt tiêu đề HTTP tùy chỉnh, có thể ghi đè tiêu đề mặc định được tích hợp sẵn. Giá trị phải là mã hóa chuỗi tiêu đề.

nhiều_request Sử dụng kết nối liên tục nếu được đặt thành 1, mặc định là 0.

dữ liệu bài đăng Đặt dữ liệu bài đăng HTTP tùy chỉnh.

user-agent đại lý người dùng Ghi đè tiêu đề Tác nhân người dùng. Nếu không được chỉ định, giao thức sẽ sử dụng một chuỗi mô tả bản dựng libavformat. ("Lavf / ")

thời gian chờ Đặt thời gian chờ tính bằng micro giây của các hoạt động I / O socket được sử dụng bởi mức thấp bên dưới hoạt động. Theo mặc định, nó được đặt thành -1, có nghĩa là thời gian chờ không được chỉ định.

mime_type Xuất loại MIME.

băng giá Nếu được đặt thành 1 yêu cầu siêu dữ liệu ICY (SHOUTcast) từ máy chủ. Nếu máy chủ hỗ trợ điều này, siêu dữ liệu phải được ứng dụng truy xuất bằng cách đọc icy_metadata_headers và icy_metadata_packet tùy chọn. Giá trị mặc định là 1.

icy_metadata_headers Nếu máy chủ hỗ trợ siêu dữ liệu ICY, siêu dữ liệu này chứa phản hồi HTTP dành riêng cho ICY tiêu đề, được phân tách bằng ký tự dòng mới.

icy_metadata_packet Nếu máy chủ hỗ trợ siêu dữ liệu ICY và băng giá đã được đặt thành 1, điều này chứa cuối cùng không phải gói siêu dữ liệu trống do máy chủ gửi. Nó nên được thăm dò định kỳ bởi các ứng dụng quan tâm đến cập nhật siêu dữ liệu giữa luồng.

bánh quy Đặt cookie sẽ được gửi trong các yêu cầu trong tương lai. Định dạng của mỗi cookie đều giống nhau dưới dạng giá trị của trường phản hồi HTTP Set-Cookie. Nhiều cookie có thể được phân định bằng một ký tự dòng mới.

bù đắp Đặt độ lệch byte ban đầu.

end_offset Cố gắng giới hạn yêu cầu ở các byte trước phần bù này.

phương pháp Khi được sử dụng như một tùy chọn máy khách, nó sẽ đặt phương thức HTTP cho yêu cầu.

Khi được sử dụng như một tùy chọn máy chủ, nó đặt phương thức HTTP sẽ được mong đợi từ (các) khách hàng. Nếu phương thức HTTP mong đợi và đã nhận không khớp với máy khách sẽ nhận được phản hồi Yêu cầu Không hợp lệ. Khi bỏ đặt, phương thức HTTP không được kiểm tra hiện nay. Điều này sẽ được thay thế bằng tính năng tự động phát hiện trong tương lai.

nghe Nếu được đặt thành 1 sẽ bật máy chủ HTTP thử nghiệm. Điều này có thể được sử dụng để gửi dữ liệu khi được sử dụng như một tùy chọn đầu ra hoặc đọc dữ liệu từ một ứng dụng khách với HTTP POST khi được sử dụng làm đầu vào Lựa chọn. Nếu được đặt thành 2, sẽ bật máy chủ HTTP mutli-client thử nghiệm. Điều này vẫn chưa được triển khai trong ffmpeg.c hoặc ffserver.c và do đó không được sử dụng như một dòng lệnh tùy chọn.

# Phía máy chủ (đang gửi): ffmpeg -i somefile.ogg -c copy -listen 1 -f ogg // :

# Phía khách hàng (nhận): ffmpeg -i // : -c sao chép somefile.ogg

# Ứng dụng khách cũng có thể được thực hiện với wget: truy cập // : -O somefile.ogg

# Phía máy chủ (nhận): ffmpeg -listen 1 -i // : -c sao chép somefile.ogg

# Phía khách hàng (đang gửi): ffmpeg -i somefile.ogg -chunked_post 0 -c copy -f ogg // :

# Ứng dụng khách cũng có thể được thực hiện với wget: wget --post-file = somefile.ogg // :

HTTP Cookies

Một số yêu cầu HTTP sẽ bị từ chối trừ khi các giá trị cookie được chuyển cùng với yêu cầu. Các bánh quy tùy chọn cho phép các cookie này được chỉ định. Ít nhất, mỗi cookie phải chỉ định một giá trị cùng với một đường dẫn và miền. Yêu cầu HTTP phù hợp với cả miền và đường dẫn sẽ tự động bao gồm giá trị cookie trong trường tiêu đề Cookie HTTP. Nhiều cookie có thể được phân tách bằng một dòng mới.

Cú pháp bắt buộc để phát luồng chỉ định cookie là:

ffplay -cookies "nlqptid = nltid = tsn; path = /; domain = somedomain.com;" //somedomain.com/somestream.m3u8

Icecast Giao thức Icecast (truyền trực tuyến đến máy chủ Icecast)

Giao thức này chấp nhận các tùy chọn sau:

thể loại băng Đặt thể loại luồng.

tên băng Đặt tên luồng.

băng_description Đặt mô tả luồng.

Ice_url Đặt URL trang web luồng.

băng_công khai Đặt xem luồng có nên công khai hay không. Giá trị mặc định là 0 (không công khai).

đại lý người dùng Ghi đè tiêu đề Tác nhân người dùng. Nếu không được chỉ định một chuỗi có dạng "Lavf / " sẽ được sử dụng.

mật khẩu Đặt mật khẩu điểm gắn kết Icecast.

nội dung_type Đặt loại nội dung luồng. Điều này phải được đặt nếu nó khác với audio / mpeg.

inherit_icecast Điều này cho phép hỗ trợ các phiên bản Icecast <2.4.0, không hỗ trợ HTTP PUT phương pháp nhưng là phương pháp NGUỒN.

icecast: // [ [: ] @] : /

mmt Giao thức MMS (Microsoft Media Server) qua TCP.

ừm Giao thức MMS (Microsoft Media Server) qua HTTP.

Cú pháp bắt buộc là:

mmsh: // [: ] [/ ] [/ ]

md5 Giao thức đầu ra MD5.

Tính toán băm MD5 của dữ liệu sẽ được ghi và khi đóng thì ghi dữ liệu này vào đầu ra được chỉ định hoặc stdout nếu không có sản phẩm nào được chỉ định. Nó có thể được sử dụng để kiểm tra muxers mà không cần viết một tập tin thực tế.

Một số ví dụ sau đây.

# Ghi băm MD5 của tệp AVI được mã hóa vào tệp output.avi.md5. ffmpeg -i input.flv -f avi -y md5: output.avi.md5

# Ghi băm MD5 của tệp AVI được mã hóa vào stdout. ffmpeg -i input.flv -f avi -y md5:

Lưu ý rằng một số định dạng (thường là MOV) yêu cầu giao thức đầu ra có thể tìm kiếm được, vì vậy chúng sẽ không thành công với giao thức đầu ra MD5.

đường ống Giao thức truy cập đường ống UNIX.

Đọc và ghi từ các đường ống UNIX.

Cú pháp được chấp nhận là:

đường ống:[ ]

con số

là số tương ứng với bộ mô tả tệp của đường ống (ví dụ: 0 cho stdin, 1 cho stdout, 2 cho stderr). Nếu như

con số

không được chỉ định, theo mặc định là tệp stdout bộ mô tả sẽ được sử dụng để viết, stdin để đọc.

Ví dụ để đọc từ stdin với ffmpeg:

cat test.wav | ống ffmpeg -i: 0 # ... điều này giống với ... cat test.wav | ống ffmpeg -i:

Để viết lách với ffmpeg:

ffmpeg -i test.wav -f avi pipe: 1 | cat> test.avi # ... điều này giống với ... ffmpeg -i test.wav -f avi pipe: | cat> test.avi

Giao thức này chấp nhận các tùy chọn sau:

kích thước khối Đặt kích thước khối tối đa của hoạt động I / O, tính bằng byte. Giá trị mặc định là "INT_MAX", dẫn đến không giới hạn kích thước khối được yêu cầu. Đặt giá trị này thấp hợp lý cải thiện thời gian phản hồi yêu cầu chấm dứt của người dùng, điều này có giá trị nếu dữ liệu đường truyền chậm.

Lưu ý rằng một số định dạng (thường là MOV), yêu cầu giao thức đầu ra có thể tìm kiếm được, vì vậy chúng sẽ không thành công với giao thức đầu ra đường ống.

rtmp Giao thức nhắn tin thời gian thực.

Giao thức Nhắn tin Thời gian Thực (RTMP) được sử dụng để truyền trực tuyến nội dung đa phương tiện qua một Mạng TCP / IP.

Cú pháp bắt buộc là:

rtmp: // [ : @] [: ] [/ ] [/ ] [/ ]

Các thông số được chấp nhận là:

tên truy nhập Tên người dùng tùy chọn (chủ yếu để xuất bản).

mật khẩu Mật khẩu tùy chọn (chủ yếu để xuất bản).

máy chủ Địa chỉ của máy chủ RTMP.

cổng Số cổng TCP sẽ sử dụng (theo mặc định là 1935).

ứng dụng Nó là tên của ứng dụng để truy cập. Nó thường tương ứng với đường dẫn mà ứng dụng được cài đặt trên máy chủ RTMP (ví dụ:

/ ondemand /

,

/ flash / live /

, Vv). Bạn cũng có thể ghi đè giá trị được phân tích cú pháp từ URI thông qua tùy chọn "rtmp_app".

đường chơi Đây là đường dẫn hoặc tên của tài nguyên để phát tham chiếu đến ứng dụng quy định tại

ứng dụng

, có thể có tiền tố là "mp4:". Bạn có thể ghi đè giá trị được phân tích cú pháp từ cả URI thông qua tùy chọn "rtmp_playpath".

nghe Hoạt động như một máy chủ, lắng nghe kết nối đến.

thời gian chờ Thời gian tối đa để chờ kết nối đến. Ngụ ý lắng nghe.

Ngoài ra, các tham số sau có thể được đặt thông qua các tùy chọn dòng lệnh (hoặc trong mã qua "AVOption" s):

rtmp_app Tên ứng dụng để kết nối trên máy chủ RTMP. Tùy chọn này ghi đè tham số được chỉ định trong URI.

rtmp_buffer Đặt thời gian đệm của máy khách tính bằng mili giây. Giá trị mặc định là 3000.

rtmp_conn Các tham số kết nối AMF tùy ý bổ sung, được phân tích cú pháp từ một chuỗi, ví dụ như "B: 1 S: authMe O: 1 NN: mã: 1.23 NS: flag: ok O: 0 ". Mỗi giá trị được bắt đầu bởi một giá trị duy nhất ký tự biểu thị kiểu, B cho Boolean, N cho số, S cho chuỗi, O cho đối tượng, hoặc Z cho null, theo sau là dấu hai chấm. Đối với Booleans, dữ liệu phải là 0 hoặc 1 cho FALSE hoặc TRUE, tương ứng. Tương tự như vậy đối với Đối tượng, dữ liệu phải là 0 hoặc 1 để kết thúc hoặc bắt đầu một đối tượng, tương ứng. Các mục dữ liệu trong subobjects có thể được đặt tên, bằng cách thêm tiền tố nhập với 'N' và chỉ định tên trước giá trị (tức là "NB: myFlag: 1"). Cái này tùy chọn có thể được sử dụng nhiều lần để tạo chuỗi AMF tùy ý.

rtmp_flashver Phiên bản của plugin Flash được sử dụng để chạy trình phát SWF. Mặc định là LNX 9,0,124,2. (Khi xuất bản, mặc định là FMLE / 3.0 (tương thích; ).)

rtmp_flush_interval Số lượng gói được gửi trong cùng một yêu cầu (chỉ RTMPT). Giá trị mặc định là 10.

rtmp_live Chỉ định rằng phương tiện là một luồng trực tiếp. Không tiếp tục hoặc tìm kiếm trong luồng trực tiếp là khả thi. Giá trị mặc định là "bất kỳ", có nghĩa là người đăng ký lần đầu tiên thử chơi luồng trực tiếp được chỉ định trong playpath. Nếu không tìm thấy luồng trực tiếp có tên đó, nó phát luồng đã ghi. Các giá trị có thể có khác là "trực tiếp" và "được ghi lại".

rtmp_pageurl URL của trang web mà phương tiện được nhúng. Theo mặc định, không có giá trị nào được gửi.

rtmp_playpath Dòng nhận dạng để phát hoặc để xuất bản. Tùy chọn này ghi đè thông số được chỉ định trong URI.

rtmp_subscribe Tên của luồng trực tiếp để đăng ký. Theo mặc định, không có giá trị nào được gửi. Nó chỉ là được gửi nếu tùy chọn được chỉ định hoặc nếu rtmp_live được đặt thành hoạt động.

rtmp_swfhash Hàm băm SHA256 của tệp SWF được giải nén (32 byte).

rtmp_swfsize Kích thước của tệp SWF được giải nén, cần thiết cho SWFVerification.

rtmp_swfurl URL của trình phát SWF cho phương tiện. Theo mặc định, không có giá trị nào được gửi.

rtmp_swfxác minh URL tới tệp swf của trình phát, tự động tính toán băm / kích thước.

rtmp_tcurl URL của luồng mục tiêu. Mặc định là proto: // host [: port] / app.

Ví dụ để đọc với ffplay tài nguyên đa phương tiện có tên "mẫu" từ ứng dụng "vod" từ máy chủ RTMP "myserver":

ffplay rtmp: // myserver / vod / sample

Để xuất bản lên máy chủ được bảo vệ bằng mật khẩu, hãy chuyển playpath và tên ứng dụng riêng biệt:

ffmpeg -re -i -f flv -rtmp_playpath some / long / path -rtmp_app long / app / name rtmp: // username: password @ myserver /

rtmpe Giao thức nhắn tin thời gian thực được mã hóa.

Giao thức nhắn tin thời gian thực được mã hóa (RTMPE) được sử dụng để phát trực tuyến đa phương tiện nội dung trong các nguyên thủy mật mã tiêu chuẩn, bao gồm khóa Diffie-Hellman trao đổi và HMACSHA256, tạo ra một cặp khóa RC4.

rtmp Giao thức nhắn tin thời gian thực qua kết nối SSL an toàn.

Giao thức nhắn tin thời gian thực (RTMPS) được sử dụng để truyền trực tuyến nội dung đa phương tiện qua một kết nối được mã hóa.

rtmpt Giao thức nhắn tin thời gian thực thông qua HTTP.

Giao thức nhắn tin thời gian thực được truyền qua HTTP (RTMPT) được sử dụng để phát trực tuyến nội dung đa phương tiện trong các yêu cầu HTTP để vượt qua tường lửa.

rtmpte Giao thức nhắn tin thời gian thực được mã hóa thông qua HTTP.

Giao thức nhắn tin thời gian thực được mã hóa thông qua HTTP (RTMPTE) được sử dụng cho phát trực tuyến nội dung đa phương tiện trong các yêu cầu HTTP tới tường lửa xuyên qua.

rtmpt Giao thức nhắn tin thời gian thực thông qua HTTPS.

Giao thức nhắn tin thời gian thực được truyền qua HTTPS (RTMPTS) được sử dụng để phát trực tuyến nội dung đa phương tiện trong HTTPS yêu cầu vượt qua tường lửa.

libsmbclient libsmbclient cho phép một người thao tác tài nguyên mạng CIFS / SMB.

Cú pháp sau là bắt buộc.

smb: // [[domain:] người dùng [: password @]] server [/ share [/ path [/ file]]]

Giao thức này chấp nhận các tùy chọn sau.

thời gian chờ Đặt thời gian chờ tính bằng mili giây của các hoạt động I / O socket được sử dụng bởi mức thấp cơ bản hoạt động. Theo mặc định, nó được đặt thành -1, có nghĩa là thời gian chờ không được chỉ định.

cắt bớt Cắt bớt các tệp hiện có khi ghi, nếu được đặt thành 1. Giá trị 0 ngăn việc cắt ngắn. Giá trị mặc định là 1.

nhóm làm việc Đặt nhóm làm việc được sử dụng để tạo kết nối. Theo mặc định nhóm làm việc không được chỉ định.

Để biết thêm thông tin, hãy xem://www.samba.org/>.

libsh Giao thức truyền tệp an toàn qua libssh

Đọc từ hoặc ghi vào tài nguyên từ xa bằng giao thức SFTP.

Cú pháp sau là bắt buộc.

sftp: // [user [: password] @] server [: port] /path/to/remote/resource.mpeg

Giao thức này chấp nhận các tùy chọn sau.

thời gian chờ Đặt thời gian chờ của các hoạt động I / O của ổ cắm được sử dụng bởi hoạt động cấp thấp bên dưới. Qua mặc định nó được đặt thành -1, có nghĩa là thời gian chờ không được chỉ định.

cắt bớt Cắt bớt các tệp hiện có khi ghi, nếu được đặt thành 1. Giá trị 0 ngăn việc cắt ngắn. Giá trị mặc định là 1.

khóa_riêng Chỉ định đường dẫn của tệp chứa khóa cá nhân để sử dụng trong quá trình ủy quyền. Qua libssh mặc định tìm kiếm các khóa trong

~ / .ssh /

thư mục.

Ví dụ: Phát một tệp được lưu trữ trên máy chủ từ xa.

ffplay sftp: // người dùng: password @ server_address: 22 / home / user / resource.mpeg

librtmp rtmp, rtmpe, rtmp, rtmpt, rtmpte Giao thức nhắn tin thời gian thực và các biến thể của nó được hỗ trợ thông qua librtmp.

Yêu cầu sự hiện diện của tiêu đề librtmp và thư viện trong quá trình cấu hình. Bạn cần phải định cấu hình rõ ràng bản dựng bằng "--enable-librtmp". Nếu được kích hoạt, điều này sẽ thay thế giao thức RTMP bản địa.

Giao thức này cung cấp hầu hết các chức năng máy khách và một vài chức năng máy chủ cần thiết để hỗ trợ RTMP, RTMP được đào trong HTTP (RTMPT), RTMP được mã hóa (RTMPE), RTMP qua SSL / TLS (RTMPS) và các biến thể đường hầm của các loại mã hóa này (RTMPTE, RTMPTS).

Cú pháp bắt buộc là:

: // [: ] [/ ] [/ ]

Ở đâu

rtmp_proto

là một trong các chuỗi "rtmp", "rtmpt", "rtmpe", "rtmps", "rtmpte", "rtmpts" tương ứng với từng biến thể RTMP và

máy chủ

,

cổng

,

ứng dụng

đường chơi

có cùng ý nghĩa như được chỉ định cho giao thức gốc RTMP.

lựa chọn

chứa danh sách không gian- các tùy chọn riêng biệt của biểu mẫu

chính

\=

val

.

Xem trang hướng dẫn sử dụng librtmp (man 3 librtmp) để biết thêm thông tin.

Ví dụ: để truyền một tệp trong thời gian thực tới máy chủ RTMP bằng cách sử dụng ffmpeg:

ffmpeg -re -i myfile -f flv rtmp: // myserver / live / mystream

Để phát cùng một luồng bằng cách sử dụng ffplay:

ffplay "rtmp: // myserver / live / mystream live = 1"

rtp Giao thức vận tải thời gian thực.

Cú pháp bắt buộc cho URL RTP là: rtp: //

hostname

[:

cổng

] [?

tùy chọn

\=

val

...]

cổng

chỉ định cổng RTP để sử dụng.

Các tùy chọn URL sau được hỗ trợ:

ttl =

n

Đặt giá trị TTL (Time-To-Live) (chỉ dành cho phát đa hướng).

rtcpport =

n

Đặt cổng RTCP từ xa thành

n

.

localrtpport =

n

Đặt cổng RTP cục bộ thành

n

.

localrtcpport =

n

' Đặt cổng RTCP cục bộ thành

n

.

pkt_size =

n

Đặt kích thước gói tối đa (tính bằng byte) thành

n

.

kết nối = 0 | 1 Thực hiện "kết nối ()" trên ổ cắm UDP (nếu được đặt thành 1) hoặc không (nếu đặt thành 0).

nguồn =

ip

[,

ip

] Liệt kê các địa chỉ IP nguồn được phép.

khối =

ip

[,

ip

] Liệt kê các địa chỉ IP nguồn không được phép (bị chặn).

write_to_source = 0 | 1 Gửi các gói đến địa chỉ nguồn của gói nhận được mới nhất (nếu được đặt thành 1) hoặc đến một địa chỉ từ xa mặc định (nếu được đặt thành 0).

localport =

n

Đặt cổng RTP cục bộ thành

n

.

Đây là một tùy chọn không được dùng nữa. Thay thế, localrtpport nên được sử dụng.

Ghi chú quan trọng:

1. Nếu rtcpport không được đặt cổng RTCP sẽ được đặt thành giá trị cổng RTP cộng với 1.

2. Nếu localrtpport (cổng RTP cục bộ) không được đặt, bất kỳ cổng nào có sẵn sẽ được sử dụng cho các cổng RTP và RTCP cục bộ.

3. Nếu localrtcpport (cổng RTCP cục bộ) không được đặt, nó sẽ được đặt thành cổng RTP cục bộ giá trị cộng 1.

rtsp Giao thức phát trực tuyến thời gian thực.

Về mặt kỹ thuật, RTSP không phải là một trình xử lý giao thức trong libavformat, nó là một trình xử lý dữ liệu (demuxer) và trình xử lý dữ liệu (muxer). Các demuxer hỗ trợ cả RTSP bình thường (với dữ liệu được truyền qua RTP; điều này được sử dụng bởi ví dụ Apple và Microsoft) và Real-RTSP (với dữ liệu được truyền qua RDT).

Muxer có thể được sử dụng để gửi một luồng bằng RTSP ANNOUNCE đến một máy chủ hỗ trợ nó (hiện tại Darwin Streaming Server và Mischa Spiegelmock's <//github.com/revmischa/rtsp-server>).

Cú pháp bắt buộc cho url RTSP là:

rtsp: // [: ] /

Các tùy chọn có thể được thiết lập trên ffmpeg/ffplay dòng lệnh hoặc đặt trong mã qua "AVOption" s hoặc trong "avformat_open_input".

Các tùy chọn sau được hỗ trợ.

ban đầu_pause Không bắt đầu phát luồng ngay lập tức nếu được đặt thành 1. Giá trị mặc định là 0.

rtsp_transport Đặt giao thức truyền tải RTSP.

Nó chấp nhận các giá trị sau:

udp Sử dụng UDP làm giao thức truyền tải thấp hơn.

tcp Sử dụng TCP (xen kẽ trong kênh điều khiển RTSP) làm phương tiện truyền tải thấp hơn giao thức.

udp_multicast Sử dụng đa hướng UDP làm giao thức truyền tải thấp hơn.

http Sử dụng đường hầm HTTP làm giao thức truyền tải thấp hơn, rất hữu ích cho việc chuyển proxy.

Nhiều giao thức truyền tải thấp hơn có thể được chỉ định, trong trường hợp đó chúng được thử một tại một thời điểm (nếu thiết lập không thành công, thiết lập tiếp theo sẽ được thử). Đối với muxer, chỉ có tcp và udp các tùy chọn được hỗ trợ.

rtsp_flags Đặt cờ RTSP.

Các giá trị sau được chấp nhận:

bộ lọc_src Chỉ chấp nhận các gói từ địa chỉ và cổng ngang hàng đã thương lượng.

nghe Hoạt động như một máy chủ, lắng nghe kết nối đến.

thích_tcp Trước tiên, hãy thử vận ​​chuyển TCP cho RTP, nếu TCP có sẵn dưới dạng truyền tải RTSP RTP.

Giá trị mặc định là không ai.

allow_media_types Đặt loại phương tiện để chấp nhận từ máy chủ.

Các cờ sau được chấp nhận:

video âm thanh dữ liệu

Theo mặc định, nó chấp nhận tất cả các loại phương tiện.

cổng tối thiểu Đặt cổng UDP cục bộ tối thiểu. Giá trị mặc định là 5000.

max_port Đặt cổng UDP cục bộ tối đa. Giá trị mặc định là 65000.

thời gian chờ Đặt thời gian chờ tối đa (tính bằng giây) để đợi các kết nối đến.

Giá trị -1 có nghĩa là vô hạn (mặc định). Tùy chọn này ngụ ý rtsp_flags đặt thành nghe.

sắp xếp lại_queue_size Đặt số lượng gói vào bộ đệm để xử lý các gói được sắp xếp lại.

kỳ quặc Đặt thời gian chờ I / O socket TCP tính bằng micro giây.

user-agent Ghi đè tiêu đề Tác nhân người dùng. Nếu không được chỉ định, nó sẽ mặc định là libavformat chuỗi định danh.

Khi nhận dữ liệu qua UDP, trình giải mã sẽ cố gắng sắp xếp lại thứ tự các gói đã nhận (vì chúng có thể đến không theo thứ tự, hoặc các gói có thể bị mất hoàn toàn). Điều này có thể được tắt bằng cách cài đặt độ trễ giảm thông số tối đa bằng XNUMX (thông qua trường "max_delay" của AVFormatContext).

Khi xem các luồng Real-RTSP đa bit với ffplay, các luồng để hiển thị có thể được chọn với "-vst"

n

và "-ast"

n

cho video và âm thanh tương ứng và có thể được bật bay bằng cách nhấn "v" và "a".

Các ví dụ

Tất cả các ví dụ sau đây đều sử dụng ffplay và ffmpeg công cụ hơn nữa.

· Xem một luồng qua UDP, với độ trễ sắp xếp lại tối đa là 0.5 giây:

ffplay -max_delay 500000 -rtsp_transport udp rtsp: //server/video.mp4

· Xem một luồng được đào qua

ffplay -rtsp_transport http rtsp: //server/video.mp4

· Gửi một luồng trong thời gian thực tới máy chủ RTSP để những người khác xem:

ffmpeg -re -i -f rtsp -muxdelay 0.1 rtsp: //server/live.sdp

· Nhận một luồng trong thời gian thực:

ffmpeg -rtsp_flags nghe -i rtsp: //ownaddress/live.sdp

sap Giao thức thông báo phiên (RFC 2974). Về mặt kỹ thuật, đây không phải là một trình xử lý giao thức trong libavformat, nó là một muxer và demuxer. Nó được sử dụng để báo hiệu các luồng RTP, bằng cách thông báo SDP cho các luồng thường xuyên trên một cổng riêng biệt.

đàn bà

Cú pháp cho url SAP được cung cấp cho muxer là:

nhựa cây:// [: ] [? ]

Các gói RTP được gửi đến

điểm đến

trên cảng

cổng

hoặc đến cổng 5004 nếu không có cổng nào được chỉ định.

lựa chọn

là một "&" - danh sách được phân tách. Các tùy chọn sau được hỗ trợ:

thông báo_addr =

địa chỉ

Chỉ định địa chỉ IP đích để gửi thông báo tới. Nếu bị bỏ qua, thông báo được gửi đến địa chỉ phát đa hướng thông báo SAP thường được sử dụng 224.2.127.254 (sap.mcast.net) hoặc ff0e :: 2: 7ffe nếu

điểm đến

là một địa chỉ IPv6.

tify_port =

cổng

Chỉ định cổng để gửi thông báo, mặc định là 9875 nếu không được chỉ định.

ttl =

ttl

Chỉ định thời gian tồn tại giá trị cho các thông báo và gói RTP, mặc định là 255.

same_port =

0 | 1

Nếu được đặt thành 1, hãy gửi tất cả các luồng RTP trên cùng một cặp cổng. Nếu không (mặc định), tất cả luồng được gửi trên các cổng duy nhất, với mỗi luồng trên một cổng cao hơn 2 số so với Trước. VLC / Live555 yêu cầu điều này phải được đặt thành 1 để có thể nhận luồng. Ngăn xếp RTP trong libavformat để nhận yêu cầu tất cả các luồng phải được gửi trên duy nhất Cảng.

Các dòng lệnh ví dụ theo sau.

Để phát một luồng trên mạng con cục bộ, để xem trong VLC:

ffmpeg -re -i -f sap sap xep: //224.0.0.255? same_port = 1

Tương tự, để xem trong ffplay:

ffmpeg -re -i -f nhựa cây: //224.0.0.255

Và để xem trong ffplay, qua IPv6:

ffmpeg -re -i -f sap sap xep: // [ff0e :: 1: 2: 3: 4]

bộ giải mã

Cú pháp cho url SAP được cung cấp cho demuxer là:

nhựa cây://[ ] [: ]

địa chỉ

là địa chỉ phát đa hướng để lắng nghe thông báo, nếu bị bỏ qua, là địa chỉ mặc định 224.2.127.254 (sap.mcast.net) được sử dụng.

cổng

là cổng được lắng nghe, 9875 nếu bỏ qua.

Các demuxer lắng nghe các thông báo về địa chỉ và cổng đã cho. Một khi một đã nhận được thông báo, nó sẽ cố gắng nhận luồng cụ thể đó.

Các dòng lệnh ví dụ theo sau.

Để phát lại luồng đầu tiên được thông báo trên địa chỉ phát đa hướng SAP thông thường:

ffplay sap: //

Để phát lại luồng đầu tiên được thông báo trên một địa chỉ phát đa hướng IPv6 SAP mặc định:

ffplay sap: // [ff0e :: 2: 7ffe]

sctp Giao thức truyền điều khiển luồng.

Cú pháp URL được chấp nhận là:

sctp: // : [? ]

Giao thức chấp nhận các tùy chọn sau:

nghe Nếu được đặt thành bất kỳ giá trị nào, hãy lắng nghe kết nối đến. Kết nối đi được thực hiện bởi mặc định.

max_stream Đặt số lượng luồng tối đa. Theo mặc định, không có giới hạn nào được thiết lập.

srtp Giao thức truyền tải thời gian thực an toàn.

Các tùy chọn được chấp nhận là:

srtp_in_suite srtp_out_suite Chọn bộ mã hóa đầu vào và đầu ra.

Các giá trị được hỗ trợ:

AES_CM_128_HMAC_SHA1_80 SRTP_AES128_CM_HMAC_SHA1_80 AES_CM_128_HMAC_SHA1_32 SRTP_AES128_CM_HMAC_SHA1_32 srtp_in_params srtp_out_params Đặt các thông số mã hóa đầu vào và đầu ra, được thể hiện bằng mã hóa base64 biểu diễn của một khối nhị phân. 16 byte đầu tiên của khối nhị phân này được sử dụng làm khóa chính, 14 byte sau được sử dụng làm muối chính.

hồ sơ con Hầu như trích xuất một phân đoạn của một tệp hoặc một luồng khác. Luồng cơ bản phải là có thể tìm kiếm được.

Các tùy chọn được chấp nhận:

Bắt đầu Khoảng bù bắt đầu của phân đoạn được trích xuất, tính bằng byte.

cuối Phần bù cuối của phân đoạn được trích xuất, tính bằng byte.

Ví dụ:

Trích xuất một chương từ tệp DVD VOB (các khu vực bắt đầu và kết thúc được lấy từ bên ngoài và nhân với 2048):

subfile ,, start, 153391104, end, 268142592 ,,: / media / dvd / VIDEO_TS / VTS_08_1.VOB

Phát tệp AVI trực tiếp từ kho lưu trữ TAR:

subfile ,, start, 183241728, end, 366490624 ,,: archive.tar

tcp Giao thức điều khiển đường truyền.

Cú pháp bắt buộc cho url TCP là:

tcp: // : [? ]

lựa chọn

chứa danh sách các tùy chọn & -separated của biểu mẫu

chính

\=

val

.

Sau đây là danh sách các tùy chọn được hỗ trợ.

nghe =

1 | 0

Nghe kết nối đến. Giá trị mặc định là 0.

thời gian chờ =

micro giây

Đặt thời gian chờ lỗi tăng, được biểu thị bằng micro giây.

Tùy chọn này chỉ phù hợp trong chế độ đọc: nếu không có dữ liệu nào đến trong hơn thời gian này khoảng thời gian, lỗi nâng cao.

nghe_timeout =

mili giây

Đặt thời gian chờ nghe, được biểu thị bằng mili giây.

Ví dụ sau đây cho thấy cách thiết lập kết nối TCP lắng nghe với ffmpeg, Đó là sau đó được truy cập bằng ffplay:

ffmpeg -i -NS tcp: // : ?nghe ffplay tcp: // :

tls Bảo mật lớp truyền tải (TLS) / Lớp cổng bảo mật (SSL)

Cú pháp bắt buộc cho url TLS / SSL là:

tls: // : [? ]

Các tham số sau có thể được đặt thông qua các tùy chọn dòng lệnh (hoặc trong mã thông qua "AVOption" s):

ca_file, cafile =

tên tập tin

Tệp chứa các chứng chỉ gốc của tổ chức phát hành chứng chỉ (CA) để được coi là đáng tin cậy. Nếu như thư viện TLS được liên kết chứa mặc định có thể không cần chỉ định cho xác minh để hoạt động, nhưng không phải tất cả các thư viện và thiết lập đều có cài đặt mặc định. tệp phải ở định dạng OpenSSL PEM.

tls_verify =

1 | 0

Nếu được bật, hãy cố gắng xác minh đồng nghiệp mà chúng tôi đang giao tiếp. Lưu ý, nếu sử dụng OpenSSL, điều này hiện chỉ đảm bảo rằng chứng chỉ ngang hàng được ký bởi một trong các chứng chỉ gốc trong cơ sở dữ liệu CA, nhưng nó không xác thực rằng chứng chỉ thực sự khớp với tên máy chủ mà chúng tôi đang cố gắng kết nối. (Với GnuTLS, tên máy chủ cũng được xác thực.)

Điều này bị tắt theo mặc định vì nó yêu cầu cơ sở dữ liệu CA được cung cấp bởi người gọi trong nhiều trường hợp.

chứng chỉ_file, cert =

tên tập tin

Tệp có chứa chứng chỉ để sử dụng trong quá trình bắt tay với ngang hàng. (Khi nào hoạt động như máy chủ, ở chế độ lắng nghe, điều này thường được đồng nghiệp yêu cầu nhiều hơn, trong khi chứng chỉ ứng dụng khách chỉ được ủy quyền trong các thiết lập nhất định.)

tài liệu quan trọng, phím =

tên tập tin

Tệp chứa khóa riêng tư cho chứng chỉ.

nghe =

1 | 0

Nếu được bật, hãy lắng nghe các kết nối trên cổng được cung cấp và đảm nhận vai trò máy chủ trong cái bắt tay thay vì vai trò khách hàng.

Các dòng lệnh ví dụ:

Để tạo máy chủ TLS / SSL phục vụ luồng đầu vào.

ffmpeg -i -NS tls: // : ? lắng nghe & cert = & key =

Để phát lại luồng từ máy chủ TLS / SSL bằng ffplay:

ffplay tls: // :

udp Giao thức Datagram của Người dùng.

Cú pháp bắt buộc cho một URL UDP là:

udp: // : [? ]

lựa chọn

chứa danh sách các tùy chọn & -separated của biểu mẫu

chính

\=

val

.

Trong trường hợp luồng được bật trên hệ thống, một bộ đệm tròn được sử dụng để lưu trữ dữ liệu đến, cho phép một trong những giảm mất dữ liệu do ghi đè bộ đệm ổ cắm UDP. Sản phẩm

Fifo_size

overrun_nonfatal

các tùy chọn liên quan đến vùng đệm này.

Sau đây là danh sách các tùy chọn được hỗ trợ.

buffer_size =

kích thước

Đặt kích thước bộ đệm ổ cắm tối đa UDP tính bằng byte. Điều này được sử dụng để đặt nhận hoặc gửi kích thước bộ đệm, tùy thuộc vào ổ cắm được sử dụng để làm gì. Mặc định là 64KB. Xem thêm

Fifo_size

.

localport =

cổng

Ghi đè cổng UDP cục bộ để liên kết với.

localaddr =

địa chỉ

Chọn địa chỉ IP cục bộ. Điều này rất hữu ích, ví dụ: nếu gửi multicast và máy chủ có nhiều giao diện, nơi người dùng có thể chọn giao diện để gửi xác định địa chỉ IP của giao diện đó.

pkt_size =

kích thước

Đặt kích thước tính bằng byte của gói UDP.

tái sử dụng =

1 | 0

Cho phép hoặc không cho phép sử dụng lại ổ cắm UDP một cách rõ ràng.

ttl =

ttl

Đặt thời gian thành giá trị trực tiếp (chỉ dành cho phát đa hướng).

kết nối =

1 | 0

Khởi tạo ổ cắm UDP bằng "connect ()". Trong trường hợp này, địa chỉ đích không thể thay đổi bằng ff_udp_set_remote_url sau này. Nếu địa chỉ đích không phải là đã biết ngay từ đầu, tùy chọn này cũng có thể được chỉ định trong ff_udp_set_remote_url. Cái này cho phép tìm ra địa chỉ nguồn cho các gói với getsockname và làm cho ghi trả về bằng AVERROR (ECONNREFUSED) nếu nhận được "điểm đến không thể truy cập". Đối với việc nhận, điều này mang lại lợi ích của việc chỉ nhận các gói từ địa chỉ / cổng ngang hàng.

nguồn =

địa chỉ

[,

địa chỉ

] Chỉ nhận các gói được gửi đến nhóm phát đa hướng từ một trong các IP người gửi được chỉ định địa chỉ.

khối =

địa chỉ

[,

địa chỉ

] Bỏ qua các gói được gửi đến nhóm phát đa hướng từ các địa chỉ IP của người gửi đã chỉ định.

Fifo_size =

các đơn vị

Đặt kích thước bộ đệm tròn nhận UDP, được biểu thị bằng một số gói có kích thước trên 188 byte. Nếu không được chỉ định, mặc định là 7 * 4096.

overrun_nonfatal =

1 | 0

Sống sót trong trường hợp UDP nhận được tràn bộ đệm tròn. Giá trị mặc định là 0.

thời gian chờ =

micro giây

Đặt thời gian chờ lỗi tăng, được biểu thị bằng micro giây.

Tùy chọn này chỉ phù hợp trong chế độ đọc: nếu không có dữ liệu nào đến trong hơn thời gian này khoảng thời gian, lỗi nâng cao.

phát sóng =

1 | 0

Cho phép hoặc không cho phép phát UDP một cách rõ ràng.

Xin lưu ý rằng tính năng phát sóng có thể không hoạt động bình thường trên các mạng đang có bão phát sóng sự bảo vệ.

Các ví dụ

· Sử dụng ffmpeg để truyền trực tuyến qua UDP tới một điểm cuối từ xa:

ffmpeg -i -NS udp: // :

· Sử dụng ffmpeg phát trực tiếp ở định dạng mpegts qua UDP bằng cách sử dụng 188 gói UDP có kích thước, sử dụng bộ đệm đầu vào lớn:

ffmpeg -i -f mpegts udp: // : ? pkt_size = 188 & buffer_size = 65535

· Sử dụng ffmpeg để nhận qua UDP từ một điểm cuối từ xa:

ffmpeg -i udp: // [ ]: ...

unix Ổ cắm cục bộ Unix

Cú pháp bắt buộc cho URL ổ cắm Unix là:

unix: //

Các tham số sau có thể được đặt thông qua các tùy chọn dòng lệnh (hoặc trong mã thông qua "AVOption" s):

thời gian chờ Thời gian chờ tính bằng mili giây.

nghe Tạo ổ cắm Unix ở chế độ lắng nghe.

THIẾT BỊ LỰA CHỌN

Thư viện libavdevice cung cấp giao diện giống như libavformat. Cụ thể là một đầu vào thiết bị được coi như một demuxer và một thiết bị đầu ra giống như một muxer và giao diện và các tùy chọn thiết bị chung đều giống nhau do libavformat cung cấp (xem các định dạng ffmpeg hướng dẫn sử dụng).

Ngoài ra, mỗi thiết bị đầu vào hoặc đầu ra có thể hỗ trợ cái gọi là tùy chọn riêng tư, 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" của thiết bị hoặc sử dụng

libavutil / opt.h

API để sử dụng có lập trình.

ĐẦU VÀO THIẾT BỊ

Thiết bị đầu vào là các phần tử được định cấu hình trong FFmpeg cho phép truy cập dữ liệu đến từ một thiết bị đa phương tiện được gắn vào hệ thống của bạn.

Khi bạn định cấu hình bản dựng FFmpeg của mình, tất cả các thiết bị đầu vào được hỗ trợ sẽ được bật bởi vỡ nợ. 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-indv".

Bạn có thể tắt tất cả các thiết bị đầu vào bằng cách sử dụng tùy chọn định cấu hình "--disable-coevs" và bật một cách chọn lọc thiết bị đầu vào bằng cách sử dụng tùy chọn "--enable-britv =

ĐỘC QUYỀN

", hoặc bạn có thể vô hiệu hóa một thiết bị đầu vào cụ thể bằng cách sử dụng tùy chọn "--disable-britv =

ĐỘC QUYỀN

".

Tùy chọn "-devices" của các công cụ ff * sẽ hiển thị danh sách các thiết bị đầu vào được hỗ trợ.

Dưới đây là mô tả về các thiết bị đầu vào hiện có sẵn.

trỗi dậy Thiết bị đầu vào ALSA (Advanced Linux Sound Architecture).

Để bật thiết bị đầu vào này trong khi cấu hình, bạn cần cài đặt libasound trên hệ thống.

Thiết bị này cho phép chụp từ thiết bị ALSA. Tên của thiết bị cần chụp phải là định danh thẻ ALSA.

Mã định danh ALSA có cú pháp:

hw: [, [, ]]

nơi

KHỔNG LỒ

PHỤ KIỆN

các thành phần là tùy chọn.

Ba đối số (theo thứ tự:

CARD

,

KHỔNG LỒ

,

PHỤ KIỆN

) chỉ định số thẻ hoặc mã định danh, thiết bị số và số thiết bị con (-1 có nghĩa là bất kỳ).

Để xem danh sách các thẻ hiện được hệ thống của bạn nhận dạng, hãy kiểm tra tệp

/ proc / asound / card

/ proc / asound / devices

.

Ví dụ để chụp với ffmpeg từ thiết bị ALSA có id thẻ 0, bạn có thể chạy chỉ huy:

ffmpeg -f alsa -i hw: 0 alsaout.wav

Để biết thêm thông tin, hãy xem://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html>

Các lựa chọn

tỷ lệ mẫu Đặt tốc độ lấy mẫu tính bằng Hz. Mặc định là 48000.

kênh Đặt số lượng kênh. Mặc định là 2.

sự bào chữa Thiết bị đầu vào AVFoundation.

AVFoundation là khung hiện tại được Apple khuyến nghị để phát trực tuyến trên OSX> = 10.7 cũng như trên iOS. Khung QTKit cũ hơn đã được đánh dấu là không dùng nữa kể từ OSX phiên bản 10.7.

Tên tệp đầu vào phải được cung cấp theo cú pháp sau:

-i "[[VIDEO]: [AUDIO]]"

Mục nhập đầu tiên chọn đầu vào video trong khi mục sau chọn đầu vào âm thanh. Các luồng phải được chỉ định bằng tên thiết bị hoặc chỉ mục thiết bị như được hiển thị bởi thiết bị danh sách. Ngoài ra, thiết bị đầu vào video và / hoặc âm thanh có thể được chọn theo chỉ mục bằng cách sử dụng

B <-video_device_index E CHỈ SỐ >

và / hoặc

B <-audio_device_index E CHỈ SỐ >

, ghi đè bất kỳ tên thiết bị hoặc chỉ mục nào được cung cấp trong tên tệp đầu vào.

Tất cả các thiết bị hiện có có thể được liệt kê bằng cách sử dụng -list_devices đúng, liệt kê tất cả thiết bị tên và các chỉ số tương ứng.

Có hai bí danh tên thiết bị:

"vỡ nợ" Chọn thiết bị mặc định AVFoundation của loại tương ứng.

"không ai" Không ghi lại loại phương tiện tương ứng. Điều này tương đương với việc chỉ định một sản phẩm trống tên thiết bị hoặc chỉ mục.

Các lựa chọn

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

-list_devices Nếu được đặt thành true, danh sách tất cả các thiết bị đầu vào khả dụng sẽ hiển thị tất cả thiết bị tên và chỉ số.

-video_device_index Chỉ định thiết bị video theo chỉ mục của nó. Ghi đè bất cứ thứ gì được cung cấp trong tên tệp đầu vào.

-audio_device_index Chỉ định thiết bị âm thanh theo chỉ mục của nó. Ghi đè bất kỳ thứ gì được cung cấp trong tên tệp đầu vào.

-pixel_format Yêu cầu thiết bị video sử dụng định dạng pixel cụ thể. Nếu định dạng được chỉ định là không được hỗ trợ, danh sách các định dạng có sẵn được đưa ra và định dạng đầu tiên trong danh sách này là được sử dụng thay thế. Các định dạng pixel có sẵn là: "monob, rgb555be, rgb555le, rgb565be, rgb565le, rgb24, bgr24, 0rgb, bgr0, 0bgr, rgb0, bgr48be, uyvy422, yuva444p, yuva444p16le, yuv444p, yuv422p16, yuv422p10, yuv444p10, yuv420p, nv12, yuyv422, xám "

-tỷ lệ khung hình Đặt tốc độ khung hình thu hút. Mặc định là "ntsc", tương ứng với tốc độ khung hình là "30000/1001".

-kích thước video Đặt kích thước khung hình video.

-capture_cursor Chụp con trỏ chuột. Mặc định là 0.

-capture_mouse_clicks Ghi lại các lần nhấp chuột trên màn hình. Mặc định là 0.

Các ví dụ

· In danh sách các thiết bị được hỗ trợ AVFoundation và thoát:

$ ffmpeg -f avfoundation -list_devices true -i ""

· Ghi video từ thiết bị video 0 và âm thanh từ thiết bị âm thanh 0 vào out.avi:

$ ffmpeg -f avfoundation -i "0: 0" out.avi

· Ghi video từ thiết bị video 2 và âm thanh từ thiết bị âm thanh 1 vào out.avi:

$ ffmpeg -f avfoundation -video_device_index 2 -i ": 1" out.avi

· Quay video từ thiết bị video mặc định của hệ thống bằng cách sử dụng định dạng pixel bgr0 và thực hiện không ghi bất kỳ âm thanh nào vào out.avi:

$ ffmpeg -f avfoundation -pixel_format bgr0 -i "default: none" out.avi

bktr Thiết bị đầu vào video BSD.

Các lựa chọn

Framerate Đặt tốc độ khung hình.

kích thước video Đặt kích thước khung hình video. Mặc định là "vga".

Tiêu chuẩn Các giá trị có sẵn là:

làm bạn ntsc hết bạn thân lòng bàn tay ntscj

decklink Thiết bị đầu vào decklink cung cấp khả năng bắt cho các thiết bị Blackmagic DeckLink.

Để kích hoạt thiết bị đầu vào này, bạn cần có SDK Blackmagic DeckLink và bạn cần định cấu hình bằng "--extra-cflags" và "--extra-ldflags" thích hợp. Trên Windows, bạn cần chạy các tệp IDL thông qua mở rộng.

DeckLink rất kén các định dạng mà nó hỗ trợ. Định dạng pixel là uyvy422 hoặc v210, tốc độ khung hình và kích thước video phải được xác định cho thiết bị của bạn với -list_formats 1. Âm thanh tốc độ lấy mẫu luôn là 48 kHz và số kênh có thể là 2, 8 hoặc 16.

Các lựa chọn

danh sách_thiết bị Nếu được đặt thành đúng, in danh sách các thiết bị và thoát. Mặc định là sai.

danh sách_formats Nếu được đặt thành đúng, in danh sách các định dạng được hỗ trợ và thoát. Mặc định là sai.

bm_v210 Nếu được đặt thành 1, video được quay ở 10 bit v210 thay vì uyvy422. Không phải tất cả Blackmagic thiết bị hỗ trợ tùy chọn này.

Các ví dụ

· Liệt kê các thiết bị đầu vào:

ffmpeg -f liên kết boong -list_devices 1 -i giả

· Liệt kê các định dạng được hỗ trợ:

ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'

· Quay video clip ở 1080i50 (định dạng 11):

ffmpeg -f decklink -i 'Intensity Pro @ 11' -acodec copy -vcodec copy output.avi

· Quay video clip ở 1080i50 10 bit:

ffmpeg -bm_v210 1 -f decklink -i 'UltraStudio Mini Recorder @ 11' -acodec copy -vcodec copy output.avi

dshow Thiết bị đầu vào Windows DirectShow.

Hỗ trợ DirectShow được bật khi FFmpeg được xây dựng với dự án mingw-w64. Hiện tại chỉ các thiết bị âm thanh và video được hỗ trợ.

Nhiều thiết bị có thể được mở dưới dạng đầu vào riêng biệt, nhưng chúng cũng có thể được mở trên cùng một đầu vào, điều này sẽ cải thiện tính đồng bộ giữa chúng.

Tên đầu vào phải có định dạng:

\= [: = ]

Ở đâu

LOẠI

có thể là một trong hai

âm thanh

or

video

TÊN

là tên của thiết bị hoặc thay thế Tên..

Các lựa chọn

Nếu không có tùy chọn nào được chỉ định, các giá trị mặc định của thiết bị sẽ được sử dụng. Nếu thiết bị không hỗ trợ các tùy chọn được yêu cầu, nó sẽ không mở được.

kích thước video Đặt kích thước video trong video đã quay.

Framerate Đặt tốc độ khung hình trong video đã quay.

tỷ lệ mẫu Đặt tốc độ lấy mẫu (tính bằng Hz) của âm thanh thu được.

cỡ mẫu Đặt kích thước mẫu (tính bằng bit) của âm thanh thu được.

kênh Đặt số lượng kênh trong âm thanh thu được.

danh sách_thiết bị Nếu được đặt thành đúng, in danh sách các thiết bị và thoát.

danh sách_options Nếu được đặt thành đúng, in danh sách các tùy chọn của thiết bị đã chọn và thoát.

số_thiết_bị_video Đặt số thiết bị video cho các thiết bị có cùng tên (bắt đầu từ 0, mặc định là 0).

số_thiết_bị_âm thanh Đặt số thiết bị âm thanh cho các thiết bị có cùng tên (bắt đầu từ 0, mặc định là 0).

pixel_format Chọn định dạng pixel sẽ được DirectShow sử dụng. Điều này chỉ có thể được đặt khi video codec không được đặt hoặc được đặt thành rawvideo.

kích thước âm thanh_buffer_size Đặt kích thước bộ đệm của thiết bị âm thanh tính bằng mili giây (có thể ảnh hưởng trực tiếp đến độ trễ, tùy thuộc vào thiết bị). Mặc định sử dụng kích thước bộ đệm mặc định của thiết bị âm thanh (thường là một số bội số của 500ms). Đặt giá trị này quá thấp có thể làm giảm chất lượng màn biểu diễn. Xem thêm <//msdn.microsoft.com/en-us/library/windows/desktop/dd377582(v = so với 85) .aspx>

tên_pin_video Chọn ghim quay video để sử dụng theo tên hoặc tên thay thế.

tên_pin_âm thanh Chọn ghim ghi âm để sử dụng theo tên hoặc tên thay thế.

crossbar_video_input_pin_number Chọn số pin đầu vào video cho thiết bị thanh ngang. Điều này sẽ được chuyển đến thanh ngang chân đầu ra Bộ giải mã video của thiết bị. Lưu ý rằng việc thay đổi giá trị này có thể ảnh hưởng đến tương lai lệnh gọi (đặt mặc định mới) cho đến khi khởi động lại hệ thống.

crossbar_audio_input_pin_number Chọn số pin đầu vào âm thanh cho thiết bị thanh ngang. Điều này sẽ được chuyển đến thanh ngang chân đầu ra Bộ giải mã âm thanh của thiết bị. Lưu ý rằng việc thay đổi giá trị này có thể ảnh hưởng đến tương lai lệnh gọi (đặt mặc định mới) cho đến khi khởi động lại hệ thống.

show_video_device_dialog Nếu được đặt thành đúng, trước khi bắt đầu chụp, bật lên một hộp thoại hiển thị cho người dùng cuối, cho phép họ thay đổi các thuộc tính và cấu hình bộ lọc video theo cách thủ công. Ghi chú đối với các thiết bị có thanh ngang, đôi khi có thể cần điều chỉnh các giá trị trong hộp thoại này để chuyển đổi giữa tốc độ khung hình đầu vào PAL (25 khung hình / giây) và NTSC (29.97), kích thước, xen kẽ, v.v ... Việc thay đổi các giá trị này có thể kích hoạt các tốc độ quét / tốc độ khung hình khác nhau và tránh thanh màu xanh lục ở dưới cùng, dòng quét nhấp nháy, v.v. Lưu ý rằng với một số thiết bị, việc thay đổi các thuộc tính này cũng có thể ảnh hưởng đến các lệnh gọi trong tương lai (đặt giá trị mặc định mới) cho đến khi khởi động lại hệ thống xảy ra.

show_audio_device_dialog Nếu được đặt thành đúng, trước khi bắt đầu chụp, bật lên một hộp thoại hiển thị cho người dùng cuối, cho phép họ thay đổi các thuộc tính và cấu hình bộ lọc âm thanh theo cách thủ công.

show_video_crossbar_connection_dialog Nếu được đặt thành đúng, trước khi bắt đầu chụp, bật lên một hộp thoại hiển thị cho người dùng cuối, cho phép họ sửa đổi thủ công định tuyến ghim của thanh ngang khi nó mở một thiết bị video.

show_audio_crossbar_connection_dialog Nếu được đặt thành đúng, trước khi bắt đầu chụp, bật lên một hộp thoại hiển thị cho người dùng cuối, cho phép họ sửa đổi thủ công định tuyến ghim của thanh ngang khi nó mở một thiết bị âm thanh.

show_analog_tv_tuner_dialog Nếu được đặt thành đúng, trước khi bắt đầu chụp, bật lên một hộp thoại hiển thị cho người dùng cuối, cho phép họ sửa đổi các kênh và tần số TV theo cách thủ công.

show_analog_tv_tuner_audio_dialog Nếu được đặt thành đúng, trước khi bắt đầu chụp, bật lên một hộp thoại hiển thị cho người dùng cuối, cho phép họ sửa đổi âm thanh TV theo cách thủ công (như đơn âm so với âm thanh nổi, Ngôn ngữ A, B hoặc C).

âm thanh_device_load Tải thiết bị lọc ghi âm từ tệp thay vì tìm kiếm theo tên. Nó có thể cũng tải các thông số bổ sung, nếu bộ lọc hỗ trợ tuần tự hóa thuộc tính để. Để sử dụng điều này, một nguồn thu âm thanh phải được chỉ định, nhưng nó có thể được bất cứ thứ gì thậm chí là giả mạo.

audio_device_save Lưu thiết bị bộ lọc thu âm thanh đang được sử dụng và các thông số của nó (nếu bộ lọc hỗ trợ nó) vào một tệp. Nếu tệp có cùng tên tồn tại, tệp đó sẽ bị ghi đè.

video_device_load Tải thiết bị lọc quay video từ tệp thay vì tìm kiếm theo tên. Nó có thể cũng tải các thông số bổ sung, nếu bộ lọc hỗ trợ tuần tự hóa thuộc tính để. Để sử dụng điều này, một nguồn quay video phải được chỉ định, nhưng nó có thể được bất cứ thứ gì thậm chí là giả mạo.

video_device_save Lưu thiết bị bộ lọc quay video đang được sử dụng và các thông số của nó (nếu bộ lọc hỗ trợ nó) vào một tệp. Nếu tệp có cùng tên tồn tại, tệp đó sẽ bị ghi đè.

Các ví dụ

· In danh sách các thiết bị được hỗ trợ DirectShow và thoát:

$ ffmpeg -list_devices đúng -f dshow -i giả

· Mở thiết bị video

Máy Chụp Hình

:

$ ffmpeg -f dshow -i video = "Máy ảnh"

· Mở thiết bị video thứ hai với tên

Máy Chụp Hình

:

$ ffmpeg -f dshow -video_device_number 1 -i video = "Máy ảnh"

· Mở thiết bị video

Máy Chụp Hình

và thiết bị âm thanh

Microphone

:

$ ffmpeg -f dshow -i video = "Máy ảnh": audio = "Micrô"

· In danh sách các tùy chọn được hỗ trợ trong thiết bị đã chọn và thoát:

$ ffmpeg -list_options true -f dshow -i video = "Máy ảnh"

· Chỉ định tên pin để chụp theo tên hoặc tên thay thế, chỉ định thiết bị thay thế tên:

$ ffmpeg -f dshow -audio_pin_name "Audio Out" -video_pin_name 2 -i video=video="@device_pnp_\\?\pci

ven_1a0a&dev_6200&subsys_62021461&rev_01

4&e2c7dd6&0&00e1#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{ca465100-deb0-4d59-818f-8c477184adf6}":audio="Microphone"

· Định cấu hình thiết bị xà ngang, chỉ định chân xà ngang, cho phép người dùng điều chỉnh video nắm bắt các thuộc tính khi khởi động:

$ ffmpeg -f dshow -show_video_device_dialog true -crossbar_video_input_pin_number 0 -crossbar_audio_input_pin_number 3 -i video = "AVerMedia BDA Analog Capture": audio = "AVerMedia BDA Analog Capture"

dv1394 Thiết bị đầu vào Linux DV 1394.

Các lựa chọn

Framerate Đặt tốc độ khung hình. Mặc định là 25.

Tiêu chuẩn Các giá trị có sẵn là:

làm bạn ntsc

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

fbdev Thiết bị đầu vào bộ đệm khung Linux.

Bộ đệm khung Linux là một lớp trừu tượng độc lập với phần cứng đồ họa để hiển thị đồ họa trên màn hình máy tính, thường là trên bảng điều khiển. Nó được truy cập thông qua một thiết bị tệp nút, thường là

/ dev / fb0

.

Để biết thêm thông tin chi tiết, hãy đọc tệp Documentation / fb / framebuffer.txt được bao gồm trong cây nguồn Linux.

Xem thêm//linux-fbdev.sourceforge.net/>, và

fbset

(1).

Để ghi từ thiết bị bộ đệm khung

/ dev / fb0

với ffmpeg:

ffmpeg -f fbdev -framerate 10 -i / dev / fb0 out.avi

Bạn có thể chụp một ảnh màn hình bằng lệnh:

ffmpeg -f fbdev -framerate 1 -i / dev / fb0 -frames: v 1 screenshot.jpeg

Các lựa chọn

Framerate Đặt tốc độ khung hình. Mặc định là 25.

gdigrab Thiết bị chụp ảnh màn hình dựa trên Win32 GDI.

Thiết bị này cho phép bạn chụp một vùng của màn hình trên Windows.

Có hai tùy chọn cho tên tệp đầu vào:

máy tính để bàn

or

tiêu đề =

Tùy chọn đầu tiên sẽ chụp toàn bộ màn hình hoặc một vùng cố định của màn hình. Các tùy chọn thứ hai thay vào đó sẽ nắm bắt nội dung của một cửa sổ, bất kể vị trí trên màn hình.

Ví dụ: để lấy toàn bộ màn hình bằng cách sử dụng ffmpeg:

ffmpeg -f gdigrab -framerate 6 -i desktop out.mpg

Lấy vùng 640x480 ở vị trí "10,20":

ffmpeg -f gdigrab -framerate 6 -offset_x 10 -offset_y 20 -video_size vga -i desktop out.mpg

Lấy nội dung của cửa sổ có tên "Máy tính"

ffmpeg -f gdigrab -framerate 6 -i title = Máy tính out.mpg

Các lựa chọn

vẽ_mouse Chỉ định xem có vẽ con trỏ chuột hay không. Sử dụng giá trị 0 để không vẽ con trỏ. Giá trị mặc định là 1.

Framerate Đặt tốc độ khung hình thu hút. Giá trị mặc định là "ntsc", tương ứng với tốc độ khung hình là "30000/1001".

show_khu vực Hiển thị vùng bị chộp trên màn hình.

If

show_khu vực

được chỉ định bằng 1, khi đó vùng lấy sẽ được chỉ định trên màn. Với tùy chọn này, thật dễ dàng để biết những gì đang được lấy nếu chỉ một phần của màn hình được nắm lấy.

Lưu ý rằng

show_khu vực

không tương thích với việc lấy nội dung của một cửa sổ.

Ví dụ:

ffmpeg -f gdigrab -show_khu vực 1 -framerate 6 -video_size cif -offset_x 10 -offset_y 20 -i desktop out.mpg

kích thước video Đặt kích thước khung hình video. Mặc định là chụp toàn màn hình nếu

máy tính để bàn

is đã chọn hoặc kích thước cửa sổ đầy đủ nếu

title = window_title

được chọn.

offset_x Khi chụp một khu vực với

kích thước video

, đặt khoảng cách từ cạnh trái của màn hình hoặc màn hình nền.

Lưu ý rằng tính toán bù đắp từ góc trên cùng bên trái của màn hình chính trên Các cửa sổ. Nếu bạn có một màn hình được đặt ở bên trái của màn hình chính, bạn sẽ cần phải sử dụng một phủ định

offset_x

giá trị để di chuyển vùng tới màn hình đó.

offset_y Khi chụp một khu vực với

kích thước video

, đặt khoảng cách từ cạnh trên cùng của màn hình hoặc màn hình nền.

Lưu ý rằng tính toán bù đắp từ góc trên cùng bên trái của màn hình chính trên Các cửa sổ. Nếu bạn đặt một màn hình phía trên màn hình chính, bạn sẽ cần phải sử dụng một tiêu cực

offset_y

giá trị để di chuyển vùng tới màn hình đó.

vâng61883 Thiết bị đầu vào FireWire DV / HDV sử dụng libiec61883.

Để kích hoạt thiết bị đầu vào này, bạn cần cài đặt libiec61883, Libiw1394 và libavc1394 trên hệ thống của bạn. Sử dụng tùy chọn cấu hình "--enable-libiec61883" để biên dịch với thiết bị kích hoạt.

Thiết bị chụp iec61883 hỗ trợ chụp từ thiết bị video được kết nối qua IEEE1394 (FireWire), sử dụng libiec61883 và ngăn xếp Linux FireWire mới (juju). Đây là mặc định Phương thức nhập DV / HDV trong Linux Kernel 2.6.37 trở lên, vì ngăn xếp FireWire cũ là loại bỏ.

Chỉ định cổng FireWire được sử dụng làm tệp đầu vào hoặc "tự động" để chọn cổng đầu tiên kết nối.

Các lựa chọn

dvtype Ghi đè tự động phát hiện DV / HDV. Điều này chỉ nên được sử dụng nếu tính năng tự động phát hiện không làm việc, hoặc nếu việc sử dụng một loại thiết bị khác bị cấm. Điều trị một DV thiết bị làm HDV (hoặc ngược lại) sẽ không hoạt động và dẫn đến hành vi không xác định. Các giá trị tự động, dv và hdv được hỗ trợ.

đĩa đệm Đặt kích thước bộ đệm tối đa cho dữ liệu đến, trong khung. Đối với DV, đây là một chính xác giá trị. Đối với HDV, nó không phải là khung chính xác, vì HDV không có một kích thước khung cố định.

dvguid Chọn thiết bị chụp bằng cách chỉ định nó là GUID. Chụp sẽ chỉ được thực hiện từ thiết bị được chỉ định và không thành công nếu không tìm thấy thiết bị nào có GUID đã cho. Đây là hữu ích để chọn đầu vào nếu nhiều thiết bị được kết nối cùng một lúc. Nhìn tại / sys / bus / firewire / devices để tìm hiểu các GUID.

Các ví dụ

· Lấy và hiển thị đầu vào của thiết bị FireWire DV / HDV.

ffplay -f iec61883 -i tự động

· Lấy và ghi lại đầu vào của thiết bị FireWire DV / HDV, sử dụng bộ đệm gói 100000 các gói nếu nguồn là HDV.

ffmpeg -f iec61883 -i auto -hdvbuffer 100000 out.mpg

jack JACK thiết bị đầu vào.

Để bật thiết bị đầu vào này trong khi cấu hình, bạn cần cài đặt libjack trên hệ thống.

Thiết bị đầu vào JACK tạo ra một hoặc nhiều ứng dụng khách có thể ghi JACK, một ứng dụng cho mỗi kênh âm thanh, với tên

tên khách hàng

:đầu vào_

N

, Nơi

tên khách hàng

là tên được cung cấp bởi ứng dụng, và

N

là một số xác định kênh. Mỗi ứng dụng khách có thể ghi sẽ gửi đã thu thập dữ liệu vào thiết bị đầu vào FFmpeg.

Khi bạn đã tạo một hoặc nhiều ứng dụng khách có thể đọc được JACK, bạn cần kết nối chúng với một hoặc nhiều ứng dụng khách có thể ghi JACK.

Để kết nối hoặc ngắt kết nối các ứng dụng khách JACK, bạn có thể sử dụng jack_connect và jack_ngắt kết nối hoặc thực hiện thông qua giao diện đồ họa, chẳng hạn như với qjackctl.

Để liệt kê các máy khách JACK và các thuộc tính của chúng, bạn có thể gọi lệnh jack_lsp.

Làm theo một ví dụ cho thấy cách nắm bắt một ứng dụng khách có thể đọc được JACK với ffmpeg.

# Tạo một ứng dụng khách có thể ghi JACK với tên "ffmpeg". $ ffmpeg -f jack -i ffmpeg -y out.wav

# Khởi động ứng dụng khách có thể đọc jack_metro mẫu. $ jack_metro -b 120 -d 0.2 -f 4000

# Liệt kê các máy khách JACK hiện tại. $ jack_lsp -c system: capture_1 system: capture_2 hệ thống: phát lại_1 hệ thống: phát lại_2 ffmpeg: input_1 tàu điện ngầm: 120_bpm

# Kết nối tàu điện ngầm với ứng dụng khách có thể ghi ffmpeg. $ jack_connect metro: 120_bpm ffmpeg: input_1

Để biết thêm thông tin, hãy đọc://jackaudio.org/>

Các lựa chọn

kênh Đặt số lượng kênh. Mặc định là 2.

lavfi Thiết bị ảo đầu vào Libavfilter.

Thiết bị đầu vào này đọc dữ liệu từ các tấm đệm đầu ra đang mở của bộ lọc libavfilter.

Đối với mỗi đầu ra mở đồ thị bộ lọc, thiết bị đầu vào sẽ tạo một luồng tương ứng được ánh xạ tới đầu ra đã tạo. Hiện tại, chỉ dữ liệu video được hỗ trợ. Các đồ thị bộ lọc được chỉ định thông qua tùy chọn đồ thị.

Các lựa chọn

đồ thị Chỉ định đồ thị bộ lọc để sử dụng làm đầu vào. Mỗi đầu ra mở video phải được gắn nhãn chuỗi duy nhất của biểu mẫu "out

N

", ở đâu

N

là một số bắt đầu từ 0 tương ứng với luồng đầu vào được ánh xạ do thiết bị tạo ra. Đầu ra không có nhãn đầu tiên là tự động được gán cho nhãn "out0", nhưng tất cả các nhãn khác cần được chỉ định một cách rõ ràng.

Hậu tố "+ subcc" có thể được thêm vào nhãn đầu ra để tạo luồng bổ sung với các gói phụ đề chi tiết được đính kèm với đầu ra đó (thử nghiệm; chỉ dành cho EIA-608 / CEA-708 hiện tại). Các luồng phụ được tạo sau tất cả các luồng thông thường, trong thứ tự của luồng tương ứng. Ví dụ: nếu có "out19 + subcc", "out7 + subcc" và lên đến "out42", luồng # 43 là subcc cho luồng # 7 và luồng # 44 là subcc cho luồng # 19.

Nếu không được chỉ định, hãy đặt mặc định cho tên tệp được chỉ định cho thiết bị đầu vào.

tập tin đồ thị Đặt tên tệp của sơ đồ lọc để được đọc và gửi đến các bộ lọc khác. Cú pháp của đồ thị bộ lọc giống với đồ thị được chỉ định bởi tùy chọn

đồ thị

.

máy ghi chép Bán đồ thị sang stderr.

Các ví dụ

· Tạo luồng video màu và phát lại bằng ffplay:

ffplay -f lavfi -graph "color = c = pink [out0]" dummy

· Như ví dụ trước, nhưng sử dụng tên tệp để chỉ định mô tả đồ thị, và bỏ qua nhãn "out0":

ffplay -f lavfi color = c = màu hồng

· Tạo ba nguồn đã lọc thử nghiệm video khác nhau và phát chúng:

ffplay -f lavfi -graph "testsrc [out0]; testsrc, hflip [out1]; testsrc, negate [out2]" test3

· Đọc luồng âm thanh từ tệp bằng nguồn amovie và phát lại bằng ffplay:

ffplay -f lavfi "amovie = test.wav"

· Đọc một luồng âm thanh và một luồng video và phát lại với ffplay:

ffplay -f lavfi "movie = test.avi [out0]; amovie = test.wav [out1]"

· Kết xuất khung đã giải mã thành hình ảnh và phụ đề chi tiết vào một tệp (thử nghiệm):

ffmpeg -f lavfi -i "movie = test.ts [out0 + subcc]" -map v frame% 08d.png -map s -c copy -f rawvideo subcc.bin

libcdio Thiết bị đầu vào Audio-CD dựa trên libcdio.

Để bật thiết bị đầu vào này trong khi cấu hình, bạn cần cài đặt libcdio trên hệ thống. Nó yêu cầu tùy chọn cấu hình "--enable-libcdio".

Thiết bị này cho phép phát và lấy từ Audio-CD.

Ví dụ để sao chép với ffmpeg toàn bộ Audio-CD trong

/ dev / sr0

, bạn có thể chạy lệnh:

ffmpeg -f libcdio -i / dev / sr0 cd.wav

Các lựa chọn

tốc độ Đặt tốc độ đọc ổ đĩa. Giá trị mặc định là 0.

Tốc độ được chỉ định đơn vị tốc độ CD-ROM. Tốc độ được thiết lập thông qua libcdio Hàm "cdio_cddap_speed_set". Trên nhiều ổ CD-ROM, chỉ định một giá trị quá lớn sẽ dẫn đến việc sử dụng tốc độ nhanh nhất.

chế độ hoang tưởng Đặt cờ chế độ khôi phục hoang tưởng. Nó chấp nhận một trong các giá trị sau:

vô hiệu hóa xác minh trùng lặp không bao giờ bỏ qua Full

Giá trị mặc định là vô hiệu hóa.

Để biết thêm thông tin về các chế độ khôi phục có sẵn, hãy tham khảo dự án hoang tưởng tài liệu hướng dẫn.

libdc1394 Thiết bị đầu vào IIDC1394, dựa trên libdc1394 và Libd1394.

Yêu cầu tùy chọn cấu hình "--enable-libdc1394".

mở cửa Thiết bị đầu vào OpenAL cung cấp khả năng thu âm thanh trên tất cả các hệ thống với OpenAL 1.1 đang hoạt động thực hiện.

Để bật thiết bị đầu vào này trong khi cấu hình, bạn cần có tiêu đề và thư viện OpenAL được cài đặt trên hệ thống của bạn và cần định cấu hình FFmpeg bằng "--enable-openal".

Tiêu đề và thư viện OpenAL phải được cung cấp như một phần của quá trình triển khai OpenAL của bạn, hoặc dưới dạng tải xuống bổ sung (SDK). Tùy thuộc vào cài đặt của bạn, bạn có thể cần chỉ định cờ bổ sung thông qua "--extra-cflags" và "--extra-ldflags" để cho phép xây dựng hệ thống định vị tiêu đề và thư viện OpenAL.

Danh sách triển khai OpenAL không đầy đủ như sau:

Sáng tạo Việc triển khai Windows chính thức, cung cấp khả năng tăng tốc phần cứng với hỗ trợ dự phòng thiết bị và phần mềm. Nhìn thấy//openal.org/>.

Công khai Mềm mại Triển khai phần mềm di động, mã nguồn mở (LGPL). Bao gồm phụ trợ cho hầu hết các API âm thanh phổ biến trên hệ điều hành Windows, Linux, Solaris và BSD. Nhìn thấy <//kcat.strangesoft.net/openal.html>.

Apple OpenAL là một phần của Core Audio, giao diện chính thức của Mac OS X Audio. Nhìn thấy <//developer.apple.com/technologies/mac/audio-and-video.html>

Thiết bị này cho phép một người chụp từ một thiết bị đầu vào âm thanh được xử lý thông qua OpenAL.

Bạn cần chỉ định tên của thiết bị để chụp trong tên tệp được cung cấp. Nếu chuỗi trống được cung cấp, thiết bị sẽ tự động chọn thiết bị mặc định. Bạn có thể lấy danh sách các thiết bị được hỗ trợ bằng cách sử dụng tùy chọn

danh sách_thiết bị

.

Các lựa chọn

kênh Đặt số lượng kênh trong âm thanh thu được. Chỉ các giá trị 1 (monaural) và 2 (âm thanh nổi) hiện đang được hỗ trợ. Mặc định là 2.

cỡ mẫu Đặt kích thước mẫu (tính bằng bit) của âm thanh thu được. Chỉ các giá trị 8 và 16 đang hiện được hỗ trợ. Mặc định là 16.

tỷ lệ mẫu Đặt tốc độ lấy mẫu (tính bằng Hz) của âm thanh thu được. Mặc định là 44.1k.

danh sách_thiết bị Nếu được đặt thành đúng, in danh sách các thiết bị và thoát. Mặc định là sai.

Các ví dụ

In danh sách các thiết bị được hỗ trợ OpenAL và thoát:

$ ffmpeg -list_devices true -f openal -i dummy out.ogg

Chụp từ thiết bị OpenAL

DR-BT101 thông qua PulseAudio

:

$ ffmpeg -f openal -i 'DR-BT101 qua PulseAudio' out.ogg

Chụp từ thiết bị mặc định (lưu ý chuỗi trống '' làm tên tệp):

$ ffmpeg -f openal -i '' out.ogg

Chụp từ hai thiết bị đồng thời, ghi vào hai tệp khác nhau, trong cùng một ffmpeg chỉ huy:

$ ffmpeg -f openal -i 'DR-BT101 qua PulseAudio' out1.ogg -f openal -i 'ALSA Default' out2.ogg

Lưu ý: không phải tất cả các triển khai OpenAL đều hỗ trợ nhiều chụp đồng thời - hãy thử OpenAL Soft mới nhất nếu cách trên không hoạt động.

Trung tâm Mở thiết bị đầu vào Hệ thống âm thanh.

Tên tệp cần cung cấp cho thiết bị đầu vào là nút thiết bị đại diện cho đầu vào OSS thiết bị và thường được đặt thành

/ dev / dsp

.

Ví dụ để lấy từ

/ dev / dsp

sử dụng ffmpeg sử dụng lệnh:

ffmpeg -f oss -i / dev / dsp /tmp/oss.wav

Để biết thêm thông tin về PMNM, xem://manuals.opensound.com/usersguide/dsp.html>

Các lựa chọn

tỷ lệ mẫu Đặt tốc độ lấy mẫu tính bằng Hz. Mặc định là 48000.

kênh Đặt số lượng kênh. Mặc định là 2.

xung Thiết bị đầu vào PulseAudio.

Để kích hoạt thiết bị đầu ra này, bạn cần cấu hình FFmpeg bằng "--enable-libpulse".

Tên tệp cần cung cấp cho thiết bị đầu vào là thiết bị nguồn hoặc chuỗi "mặc định"

Để liệt kê các thiết bị nguồn PulseAudio và thuộc tính của chúng, bạn có thể gọi lệnh hiệp ước nguồn.

Thông tin thêm về PulseAudio có thể được tìm thấy trên//www.pulseaudio.org>.

Các lựa chọn

máy chủ Kết nối với một máy chủ PulseAudio cụ thể, được chỉ định bởi một địa chỉ IP. Máy chủ mặc định được sử dụng khi không được cung cấp.

tên Chỉ định tên ứng dụng mà PulseAudio sẽ sử dụng khi hiển thị các ứng dụng khách đang hoạt động, bằng cách mặc định nó là chuỗi "LIBAVFORMAT_IDENT".

tên_luồng Chỉ định tên luồng mà PulseAudio sẽ sử dụng khi hiển thị các luồng đang hoạt động, theo mặc định là "kỷ lục".

tỷ lệ mẫu Chỉ định tốc độ lấy mẫu theo Hz, theo mặc định 48kHz được sử dụng.

kênh Chỉ định các kênh đang sử dụng, theo mặc định 2 (âm thanh nổi) được đặt.

kích thước khung hình Chỉ định số byte trên mỗi khung hình, theo mặc định, nó được đặt thành 1024.

phân mảnh Chỉ định đoạn đệm tối thiểu trong PulseAudio, nó sẽ ảnh hưởng đến âm thanh độ trễ. Theo mặc định, nó không được đặt.

Đồng hồ treo tường Đặt PTS ban đầu bằng thời gian hiện tại. Mặc định là 1.

Các ví dụ

Ghi một luồng từ thiết bị mặc định:

ffmpeg -f xung -i mặc định /tmp/pulse.wav

qtkit Thiết bị đầu vào QTKit.

Tên tệp được chuyển làm đầu vào được phân tích cú pháp để chứa tên thiết bị hoặc chỉ mục. Các chỉ mục thiết bị cũng có thể được cung cấp bằng cách sử dụng -video_device_index. Một chỉ mục thiết bị nhất định sẽ ghi đè bất kỳ tên thiết bị nhất định nào. Nếu thiết bị mong muốn chỉ bao gồm các số, hãy sử dụng -video_device_index để xác định nó. Thiết bị mặc định sẽ được chọn nếu một chuỗi trống hoặc tên thiết bị "mặc định" được đưa ra. Các thiết bị hiện có có thể được liệt kê bằng cách sử dụng -list_thiết bị.

ffmpeg -f qtkit -i "0" out.mpg

ffmpeg -f qtkit -video_device_index 0 -i "" out.mpg

ffmpeg -f qtkit -i "default" out.mpg

ffmpeg -f qtkit -list_devices true -i ""

Các lựa chọn

tỷ lệ khung hình Đặt tỷ lệ khung. Mặc định là 30.

danh sách_thiết bị Nếu được đặt thành "true", hãy in danh sách thiết bị và thoát. Mặc định là "false".

video_device_index Chọn thiết bị video theo chỉ mục cho các thiết bị có cùng tên (bắt đầu từ 0).

sndio thiết bị đầu vào sndio.

Để bật thiết bị đầu vào này trong khi cấu hình, bạn cần cài đặt libsndio trên hệ thống.

Tên tệp cần cung cấp cho thiết bị đầu vào là nút thiết bị đại diện cho sndio thiết bị đầu vào và thường được đặt thành

/ dev / audio0

.

Ví dụ để lấy từ

/ dev / audio0

sử dụng ffmpeg sử dụng lệnh:

ffmpeg -f sndio -i / dev / audio0 /tmp/oss.wav

Các lựa chọn

tỷ lệ mẫu Đặt tốc độ lấy mẫu tính bằng Hz. Mặc định là 48000.

kênh Đặt số lượng kênh. Mặc định là 2.

video4linux2, v4l2 Thiết bị video đầu vào Video4Linux2.

"v4l2" có thể được sử dụng làm bí danh cho "video4linux2".

Nếu FFmpeg được xây dựng với hỗ trợ v4l-utils (bằng cách sử dụng cấu hình "--enable-libv4l2" tùy chọn), có thể sử dụng nó với tùy chọn thiết bị đầu vào "-use_libv4l2".

Tên của thiết bị cần lấy là một nút thiết bị tệp, thông thường các hệ thống Linux có xu hướng tự động tạo các nút như vậy khi thiết bị (ví dụ: webcam USB) được cắm vào hệ thống và có tên thuộc loại

/ dev / videoN

, Nơi

N

là một số liên quan đến thiết bị.

Thiết bị Video4Linux2 thường hỗ trợ một số

chiều rộng

x

cao

kích thước và tốc độ khung hình. Bạn có thể kiểm tra cái nào được hỗ trợ bằng cách sử dụng -list_formats tất cả các cho các thiết bị Video4Linux2. Một vài các thiết bị, chẳng hạn như thẻ TV, hỗ trợ một hoặc nhiều tiêu chuẩn. Có thể liệt kê tất cả các các tiêu chuẩn được hỗ trợ sử dụng -list_tiêu chuẩn tất cả các.

Cơ sở thời gian cho các dấu thời gian là 1 micro giây. Tùy thuộc vào phiên bản hạt nhân và cấu hình, các dấu thời gian có thể bắt nguồn từ đồng hồ thời gian thực (nguồn gốc tại Unix Epoch) hoặc đồng hồ monotonic (nguồn gốc thường ở thời điểm khởi động, không bị ảnh hưởng bởi NTP hoặc thủ công thay đổi đối với đồng hồ). Các -dấu thời gian abs or -t abs tùy chọn có thể được sử dụng để buộc chuyển đổi thành đồng hồ thời gian thực.

Một số ví dụ sử dụng của thiết bị video4linux2 với ffmpeg và ffplay:

· Liệt kê các định dạng được hỗ trợ cho thiết bị video4linux2:

ffplay -f video4linux2 -list_formats all / dev / video0

· Lấy và hiển thị đầu vào của thiết bị video4linux2:

ffplay -f video4linux2 -framerate 30 -video_size hd720 / dev / video0

· Lấy và ghi lại đầu vào của thiết bị video4linux2, giữ nguyên tốc độ khung hình và kích thước trước đó đã đặt:

ffmpeg -f video4linux2 -input_format mjpeg -i / dev / video0 out.mpeg

Để biết thêm thông tin về Video4Linux, hãy kiểm tra//linuxtv.org/>.

Các lựa chọn

Tiêu chuẩn Thiết lập tiêu chuẩn. Phải là tên của tiêu chuẩn được hỗ trợ. Để có được một danh sách các tiêu chuẩn được hỗ trợ, sử dụng danh sách_tiêu chuẩn tùy chọn.

kênh Đặt số kênh đầu vào. Mặc định thành -1, có nghĩa là sử dụng kênh.

kích thước video Đặt kích thước khung hình video. Đối số phải là một chuỗi trong biểu mẫu

Chiều rộng

x

Chiều cao

hoặc một chữ viết tắt kích thước hợp lệ.

pixel_format Chọn định dạng pixel (chỉ hợp lệ cho đầu vào video thô).

định dạng đầu vào Đặt định dạng pixel ưa thích (cho video thô) hoặc tên codec. Tùy chọn này cho phép một để chọn định dạng đầu vào, khi có một số định dạng.

Framerate Đặt tốc độ khung hình video ưa thích.

danh sách_formats Liệt kê các định dạng có sẵn (định dạng pixel được hỗ trợ, codec và kích thước khung hình) và thoát.

Các giá trị có sẵn là:

tất cả các Hiển thị tất cả các định dạng có sẵn (nén và không nén).

nguyên Chỉ hiển thị các định dạng video thô (không nén).

nén Chỉ hiển thị các định dạng nén.

danh sách_tiêu chuẩn Liệt kê các tiêu chuẩn được hỗ trợ và thoát.

Các giá trị có sẵn là:

tất cả các Hiển thị tất cả các tiêu chuẩn được hỗ trợ.

dấu thời gian, ts Đặt loại dấu thời gian cho các khung được chụp.

Các giá trị có sẵn là:

mặc định Sử dụng dấu thời gian từ hạt nhân.

abs Sử dụng dấu thời gian tuyệt đối (đồng hồ treo tường).

mono2abs Buộc chuyển đổi từ đơn âm sang dấu thời gian tuyệt đối.

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

sử dụng_libv4l2 Sử dụng các hàm chuyển đổi libv4l2 (v4l-utils). Mặc định là 0.

vfwcap Thiết bị đầu vào chụp VfW (Video dành cho Windows).

Tên tệp được chuyển làm đầu vào là số trình điều khiển chụp, nằm trong khoảng từ 0 đến 9. Bạn có thể sử dụng "danh sách" làm tên tệp để in danh sách trình điều khiển. Mọi tên tệp khác sẽ được giải thích như số thiết bị 0.

Các lựa chọn

kích thước video Đặt kích thước khung hình video.

Framerate Đặt tốc độ khung hình thu hút. Giá trị mặc định là "ntsc", tương ứng với tốc độ khung hình là "30000/1001".

x11lấy Thiết bị đầu vào video X11.

Để bật thiết bị đầu vào này trong khi cấu hình, bạn cần cài đặt libxcb trên hệ thống của mình. Nó sẽ tự động được phát hiện trong quá trình cấu hình.

Ngoài ra, tùy chọn cấu hình --enable-x11grab tồn tại cho người dùng Xlib cũ.

Thiết bị này cho phép người ta chụp một vùng của màn hình X11.

Tên tệp được chuyển làm đầu vào có cú pháp:

[ ]: . [+ , ]

hostname

:

số_màn hình

.

số_màn hình

chỉ định tên hiển thị X11 của màn hình để lấy từ.

hostname

có thể được bỏ qua và mặc định là "localhost". Biến môi trường DISPLAY chứa tên hiển thị mặc định.

x_offset

y_offset

chỉ định các khoảng lệch của khu vực được nắm lấy đối với phía trên bên trái viền màn hình X11. Họ mặc định là 0.

Kiểm tra tài liệu X11 (ví dụ: người đàn ông X) để biết thêm thông tin chi tiết.

Sử dụng xdpyinfo chương trình để nhận thông tin cơ bản về các thuộc tính của X11 của bạn hiển thị (ví dụ: grep cho "tên" hoặc "kích thước").

Ví dụ để lấy từ

: 0.0

sử dụng ffmpeg:

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

Lấy ở vị trí "10,20":

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

Các lựa chọn

vẽ_mouse Chỉ định xem có vẽ con trỏ chuột hay không. Giá trị 0 chỉ định không vẽ con trỏ. Giá trị mặc định là 1.

theo_chuột Làm cho khu vực bị tóm theo con chuột. Đối số có thể được "căn giữa" hoặc một số pixels

PIXELS

.

Khi nó được chỉ định bằng "center", vùng lấy theo con trỏ chuột và giữ con trỏ ở tâm vùng; nếu không, khu vực chỉ theo sau khi con trỏ chuột chạm vào bên trong

PIXELS

(lớn hơn XNUMX) đến rìa của vùng.

Ví dụ:

ffmpeg -f x11grab -follow_mouse center -framerate 25 -video_size cif -i: 0.0 out.mpg

Để chỉ theo dõi khi con trỏ chuột đạt đến cạnh trong vòng 100 pixel:

ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i: 0.0 out.mpg

Framerate Đặt tốc độ khung hình thu hút. Giá trị mặc định là "ntsc", tương ứng với tốc độ khung hình là "30000/1001".

show_khu vực Hiển thị vùng bị chộp trên màn hình.

If

show_khu vực

được chỉ định bằng 1, khi đó vùng lấy sẽ được chỉ định trên màn. Với tùy chọn này, thật dễ dàng để biết những gì đang được lấy nếu chỉ một phần của màn hình được nắm lấy.

vùng_biên giới Đặt độ dày đường viền vùng nếu -show_khu vực 1 Được sử dụng. Phạm vi là 1 đến 128 và mặc định là 3 (chỉ x11grab dựa trên XCB).

Ví dụ:

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

Với

theo_chuột

:

ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i: 0.0 out.mpg

kích thước video Đặt kích thước khung hình video. Giá trị mặc định là "vga".

sử dụng_shm Sử dụng phần mở rộng MIT-SHM cho bộ nhớ dùng chung. Giá trị mặc định là 1. Nó có thể cần thiết để tắt nó cho các màn hình từ xa (chỉ dành cho x11grab cũ).

lấy_x lấy_y AVTùy chọn

Cú pháp là:

-grab_x -grab_y

Đặt tọa độ vùng lấy. Chúng được thể hiện dưới dạng độ lệch từ góc trên cùng bên trái của cửa sổ X11. Giá trị mặc định là 0.

OUTPUT THIẾT BỊ

Thiết bị đầu ra là các phần tử được định cấu hình trong FFmpeg có thể ghi dữ liệu đa phương tiện vào một thiết bị đầu ra được gắn vào hệ thống của bạn.

Khi bạn định cấu hình bản dựng FFmpeg của mình, tất cả các thiết bị đầu ra được hỗ trợ sẽ được bật bởi vỡ nợ. 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-outdevs".

Bạn có thể tắt tất cả các thiết bị đầu ra bằng cách sử dụng tùy chọn cấu hình "--disable-outdevs" và bật một cách chọn lọc thiết bị đầu ra bằng cách sử dụng tùy chọn "--enable-outdev =

NGOÀI

", hoặc bạn có thể vô hiệu hóa một thiết bị đầu vào cụ thể bằng cách sử dụng tùy chọn "--disable-outdev =

NGOÀI

".

Tùy chọn "-devices" của các công cụ ff * sẽ hiển thị danh sách các thiết bị đầu ra được kích hoạt.

Dưới đây là mô tả về các thiết bị đầu ra hiện có sẵn.

trỗi dậy Thiết bị đầu ra ALSA (Advanced Linux Sound Architecture).

Các ví dụ

· Phát tệp trên thiết bị ALSA mặc định:

ffmpeg -i INPUT -f alsa mặc định

· Phát một tập tin trên soundcard 1, thiết bị âm thanh 7:

ffmpeg -i INPUT -f alsa hw: 1,7

caca Thiết bị đầu ra CACA.

Thiết bị đầu ra này cho phép một thiết bị hiển thị một luồng video trong cửa sổ CACA. Chỉ một cửa sổ CACA được phép cho mỗi ứng dụng, vì vậy bạn chỉ có thể có một phiên bản của thiết bị đầu ra này trong một ứng dụng.

Để kích hoạt thiết bị đầu ra này, bạn cần cấu hình FFmpeg bằng "--enable-libcaca". libcaca là một thư viện đồ họa xuất văn bản thay vì pixel.

Để biết thêm thông tin về libcaca, hãy kiểm tra://caca.zoy.org/wiki/libcaca>

Các lựa chọn

tiêu đề cửa sổ Đặt tiêu đề cửa sổ CACA, nếu không được chỉ định, mặc định cho tên tệp được chỉ định cho thiết bị đầu ra.

kích thước cửa sổ Đặt kích thước cửa sổ CACA, có thể là một chuỗi của biểu mẫu

chiều rộng

x

cao

hoặc kích thước video chữ viết tắt. Nếu không được chỉ định, nó sẽ mặc định là kích thước của video đầu vào.

trình điều khiển Đặt trình điều khiển hiển thị.

thuật toán Đặt thuật toán phối màu. Phối màu là cần thiết vì hình ảnh được kết xuất có thường nhiều màu hơn bảng màu có sẵn. Các giá trị được chấp nhận được liệt kê với các thuật toán "-list_dither".

khử bí danh Đặt phương pháp antialias. Khử răng cưa làm mịn hình ảnh hiển thị và tránh hiệu ứng cầu thang thường thấy. Các giá trị được chấp nhận được liệt kê với "-list_dither antialiases ”.

bảng chữ cái Đặt các ký tự sẽ được sử dụng khi kết xuất văn bản. Các giá trị được chấp nhận được liệt kê bằng "-list_dither charsets".

màu sắc Đặt màu sẽ được sử dụng khi kết xuất văn bản. Các giá trị được chấp nhận được liệt kê với "-list_dither color".

list_drivers Nếu được đặt thành đúng, in danh sách các trình điều khiển có sẵn và thoát.

list_dither Liệt kê các tùy chọn hòa sắc có sẵn liên quan đến đối số. Đối số phải là một trong những "thuật toán", "antialiases", "charsets", "color".

Các ví dụ

· Lệnh sau cho thấy ffmpeg đầu ra là một cửa sổ CACA, buộc kích thước của nó phải 80x25:

ffmpeg -i INPUT -vcodec rawvideo -pix_fmt rgb24 -window_size 80x25 -f caca -

· Hiển thị danh sách các trình điều khiển có sẵn và thoát:

ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_drivers true -

· Hiển thị danh sách các màu hòa sắc có sẵn và thoát:

ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_dither Colors -

decklink Thiết bị đầu ra decklink cung cấp khả năng phát lại cho các thiết bị Blackmagic DeckLink.

Để kích hoạt thiết bị đầu ra này, bạn cần có SDK Blackmagic DeckLink và bạn cần định cấu hình bằng "--extra-cflags" và "--extra-ldflags" thích hợp. Trên Windows, bạn cần chạy các tệp IDL thông qua mở rộng.

DeckLink rất kén chọn các định dạng mà nó hỗ trợ. Định dạng pixel luôn là uyvy422, tốc độ khung hình và kích thước video phải được xác định cho thiết bị của bạn với -list_formats 1. Âm thanh tỷ lệ mẫu luôn là 48 kHz.

Các lựa chọn

danh sách_thiết bị Nếu được đặt thành đúng, in danh sách các thiết bị và thoát. Mặc định là sai.

danh sách_formats Nếu được đặt thành đúng, in danh sách các định dạng được hỗ trợ và thoát. Mặc định là sai.

đăng trước Khoảng thời gian để xem trước video tính bằng giây. Mặc định là 0.5.

Các ví dụ

· Liệt kê các thiết bị đầu ra:

ffmpeg -i test.avi -f liên kết boong -list_devices 1 hình nộm

· Liệt kê các định dạng được hỗ trợ:

ffmpeg -i test.avi -f decklink -list_formats 1 'DeckLink Mini Monitor'

· Phát video clip:

ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 'DeckLink Mini Monitor'

· Phát video clip với tốc độ khung hình hoặc kích thước video không chuẩn:

ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 -s 720x486 -r 24000/1001 'DeckLink Mini Monitor'

fbdev Thiết bị xuất bộ đệm khung Linux.

Bộ đệm khung Linux là một lớp trừu tượng độc lập với phần cứng đồ họa để hiển thị đồ họa trên màn hình máy tính, thường là trên bảng điều khiển. Nó được truy cập thông qua một thiết bị tệp nút, thường là

/ dev / fb0

.

Để biết thêm thông tin chi tiết, hãy đọc tệp

Tài liệu / fb / framebuffer.txt

trong cây nguồn Linux.

Các lựa chọn

xoffset yoffset Đặt tọa độ x / y của góc trên cùng bên trái. Mặc định là 0.

Các ví dụ

Phát tệp trên thiết bị bộ đệm khung

/ dev / fb0

. Định dạng pixel bắt buộc phụ thuộc vào hiện tại cài đặt bộ đệm khung.

ffmpeg -re -i INPUT -vcodec rawvideo -pix_fmt bgra -f fbdev / dev / fb0

Xem thêm//linux-fbdev.sourceforge.net/>, và

fbset

(1).

OpenGL Thiết bị đầu ra OpenGL.

Để kích hoạt thiết bị đầu ra này, bạn cần cấu hình FFmpeg bằng "--enable-opengl".

Thiết bị đầu ra này cho phép một thiết bị kết xuất ngữ cảnh OpenGL. Bối cảnh có thể được cung cấp bởi ứng dụng hoặc cửa sổ SDL mặc định được tạo.

Khi thiết bị kết xuất với ngữ cảnh bên ngoài, ứng dụng phải triển khai các trình xử lý để theo dõi thông báo: "AV_DEV_TO_APP_CREATE_WINDOW_BUFFER" - tạo ngữ cảnh OpenGL trên chuỗi hiện tại. "AV_DEV_TO_APP_PREPARE_WINDOW_BUFFER" - làm cho ngữ cảnh OpenGL hiện tại. "AV_DEV_TO_APP_DISPLAY_WINDOW_BUFFER" - hoán đổi bộ đệm. "AV_DEV_TO_APP_DESTROY_WINDOW_BUFFER" - hủy ngữ cảnh OpenGL. Ứng dụng cũng là cần thiết để thông báo cho thiết bị về độ phân giải hiện tại bằng cách gửi Thông báo "AV_APP_TO_DEV_WINDOW_SIZE".

Các lựa chọn

lý lịch Đặt màu nền. Màu đen là một mặc định.

không có cửa sổ Tắt cửa sổ SDL mặc định khi được đặt thành giá trị khác XNUMX. Ứng dụng phải cung cấp Ngữ cảnh OpenGL và cả "window_size_cb" và "window_swap_buffers_cb" đều gọi lại khi thiết lập.

tiêu đề cửa sổ Đặt tiêu đề cửa sổ SDL, nếu không được chỉ định mặc định cho tên tệp được chỉ định cho thiết bị đầu ra. Bỏ qua khi không có cửa sổ được thiết lập.

kích thước cửa sổ Đặt kích thước cửa sổ ưa thích, có thể là một chuỗi có dạng chiều rộng x chiều cao hoặc kích thước video chữ viết tắt. Nếu không được chỉ định, nó sẽ mặc định là kích thước của video đầu vào, được giảm tỷ lệ theo tỷ lệ khung hình. Chủ yếu có thể sử dụng khi không có cửa sổ không được thiết lập.

Các ví dụ

Phát tệp trên cửa sổ SDL bằng cách sử dụng kết xuất OpenGL:

ffmpeg -i INPUT -f opengl "tiêu đề cửa sổ"

Trung tâm Thiết bị đầu ra OSS (Hệ thống âm thanh mở).

xung Thiết bị đầu ra PulseAudio.

Để kích hoạt thiết bị đầu ra này, bạn cần cấu hình FFmpeg bằng "--enable-libpulse".

Thông tin thêm về PulseAudio có thể được tìm thấy trên//www.pulseaudio.org>

Các lựa chọn

máy chủ Kết nối với một máy chủ PulseAudio cụ thể, được chỉ định bởi một địa chỉ IP. Máy chủ mặc định được sử dụng khi không được cung cấp.

tên Chỉ định tên ứng dụng mà PulseAudio sẽ sử dụng khi hiển thị các ứng dụng khách đang hoạt động, bằng cách mặc định nó là chuỗi "LIBAVFORMAT_IDENT".

tên_luồng Chỉ định tên luồng mà PulseAudio sẽ sử dụng khi hiển thị các luồng đang hoạt động, theo mặc định được đặt thành tên đầu ra được chỉ định.

thiết bị Chỉ định thiết bị để sử dụng. Thiết bị mặc định được sử dụng khi không được cung cấp. Danh sách đầu ra thiết bị có thể được lấy bằng lệnh hiệp ước bồn rửa.

đệm_size đệm_duration Kiểm soát kích thước và thời lượng của bộ đệm PulseAudio. Một bộ đệm nhỏ mang lại nhiều hơn kiểm soát, nhưng yêu cầu cập nhật thường xuyên hơn.

đệm_size chỉ định kích thước tính bằng byte trong khi đệm_duration chỉ định thời lượng trong mili giây.

Khi cả hai tùy chọn được cung cấp thì giá trị cao nhất sẽ được sử dụng (thời lượng là được tính toán lại thành byte bằng cách sử dụng tham số luồng). Nếu chúng được đặt thành 0 (đó là mặc định), thiết bị sẽ sử dụng giá trị thời lượng PulseAudio mặc định. Theo mặc định PulseAudio đặt thời lượng bộ đệm khoảng 2 giây.

tiền đề Chỉ định kích thước đệm trước theo byte. Máy chủ không bắt đầu phát lại trước lúc ít nhất tiền đề byte có sẵn trong bộ đệm. Theo mặc định, tùy chọn này được khởi tạo đến cùng một giá trị với đệm_size or đệm_duration (cái nào lớn hơn).

tối thiểu Chỉ định kích thước yêu cầu tối thiểu tính bằng byte. Máy chủ không yêu cầu ít hơn tối thiểu byte từ máy khách, thay vào đó đợi cho đến khi bộ đệm đủ trống để yêu cầu thêm byte cùng một lúc. Bạn không nên đặt tùy chọn này, tùy chọn này sẽ khởi tạo tùy chọn này thành một giá trị được máy chủ coi là hợp lý.

Các ví dụ

Phát tệp trên thiết bị mặc định trên máy chủ mặc định:

ffmpeg -i INPUT -f xung "tên luồng"

sđl Thiết bị đầu ra SDL (Simple DirectMedia Layer).

Thiết bị đầu ra này cho phép một thiết bị hiển thị luồng video trong cửa sổ SDL. Chỉ một cửa sổ SDL được phép cho mỗi ứng dụng, vì vậy bạn chỉ có thể có một phiên bản của thiết bị đầu ra này trong một ứng dụng.

Để kích hoạt thiết bị đầu ra này, bạn cần cài đặt libsdl trên hệ thống của mình khi định cấu hình bản dựng của bạn.

Để biết thêm thông tin về SDL, hãy kiểm tra://www.libsdl.org/>

Các lựa chọn

tiêu đề cửa sổ Đặt tiêu đề cửa sổ SDL, nếu không được chỉ định mặc định cho tên tệp được chỉ định cho thiết bị đầu ra.

biểu tượng_tiêu đề Đặt tên của cửa sổ SDL được biểu tượng hóa, nếu không được chỉ định, nó sẽ được đặt thành cùng một giá trị of

tiêu đề cửa sổ

.

kích thước cửa sổ Đặt kích thước cửa sổ SDL, có thể là một chuỗi của biểu mẫu

chiều rộng

x

cao

hoặc kích thước video chữ viết tắt. Nếu không được chỉ định, nó sẽ mặc định là kích thước của video đầu vào, được giảm tỷ lệ theo tỷ lệ khung hình.

window_fullscreen Đặt chế độ toàn màn hình khi giá trị khác XNUMX được cung cấp. Giá trị mặc định là không.

Interactive lệnh

Cửa sổ do thiết bị tạo ra có thể được điều khiển thông qua tương tác sau lệnh.

q, ESC Thoát khỏi thiết bị ngay lập tức.

Các ví dụ

Lệnh sau cho thấy ffmpeg đầu ra là một cửa sổ SDL, buộc kích thước của nó bằng định dạng qcif:

ffmpeg -i INPUT -vcodec rawvideo -pix_fmt yuv420p -window_size qcif -f sdl "Đầu ra SDL"

sndio thiết bị đầu ra âm thanh sndio.

xv Thiết bị xuất XV (XVideo).

Thiết bị đầu ra này cho phép một thiết bị hiển thị luồng video trong cửa sổ Hệ thống cửa sổ X.

Các lựa chọn

display_name Chỉ định tên hiển thị phần cứng, xác định hiển thị và giao tiếp miền được sử dụng.

Tên hiển thị hoặc biến môi trường DISPLAY có thể là một chuỗi ở định dạng

hostname

[:

con số

[.

số_màn hình

]].

hostname

chỉ định tên của máy chủ mà màn hình là vật lý đính kèm.

con số

chỉ định số lượng của máy chủ hiển thị trên máy chủ đó.

số_màn hình

chỉ định màn hình sẽ được sử dụng trên máy chủ đó.

Nếu không được chỉ định, nó sẽ mặc định là giá trị của biến môi trường DISPLAY.

Ví dụ: "hai đầu: 0.1" sẽ chỉ định màn hình 1 của màn hình 0 trên máy có tên là `` lưỡng đầu ''.

Kiểm tra thông số kỹ thuật X11 để biết thêm thông tin chi tiết về tên hiển thị định dạng.

window_id Khi được đặt thành giá trị khác XNUMX, thiết bị sẽ không tạo cửa sổ mới mà sử dụng một với cung cấp

window_id

. Theo mặc định, tùy chọn này được đặt thành XNUMX và thiết bị sẽ tạo cửa sổ riêng của nó.

kích thước cửa sổ Đặt kích thước cửa sổ đã tạo, có thể là một chuỗi của biểu mẫu

chiều rộng

x

cao

hoặc kích thước video chữ viết tắt. Nếu không được chỉ định, nó sẽ mặc định là kích thước của video đầu vào. Làm ngơ khi nào

window_id

được thiết lập.

cửa sổ_x cửa sổ_y Đặt hiệu số cửa sổ X và Y cho cửa sổ đã tạo. Cả hai đều được đặt thành 0 bởi vỡ nợ. Trình quản lý cửa sổ có thể bỏ qua các giá trị. Bỏ qua khi

window_id

is thiết lập.

tiêu đề cửa sổ Đặt tiêu đề cửa sổ, nếu không được chỉ định, mặc định thành tên tệp được chỉ định cho thiết bị đầu ra. Bỏ qua khi

window_id

được thiết lập.

Để biết thêm thông tin về XVideo xem//www.x.org/>.

Các ví dụ

· Giải mã, hiển thị và mã hóa đầu vào video với ffmpeg đồng thời:

ffmpeg -i INPUT OUTPUT -f xv hiển thị

· Giải mã và hiển thị video đầu vào cho nhiều cửa sổ X11:

ffmpeg -i INPUT -f xv bình thường -vf phủ định -f xv bị phủ định

CÂU TRẢ LỜI LỰA CHỌN

Trình lấy mẫu lại âm thanh hỗ trợ các tùy chọn được đặt tên sau.

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,

tùy chọn

\=

giá trị

cho bộ lọc aresample, bằng cách đặt giá trị một cách rõ ràng trong các tùy chọn "SwrContext" hoặc sử dụng

libavutil / opt.h

API để sử dụng có lập trình.

tôi, in_channel_count Đặt số lượng kênh đầu vào. Giá trị mặc định là 0. Đặt giá trị này không bắt buộc nếu bố cục kênh tương ứng in_channel_layout được thiết lập.

ồ, out_channel_count Đặt số lượng kênh đầu ra. Giá trị mặc định là 0. Đặt giá trị này không bắt buộc nếu bố cục kênh tương ứng out_channel_layout được thiết lập.

ừm, đã sử dụng_channel_count Đặt số lượng kênh đầu vào đã sử dụng. Giá trị mặc định là 0. Tùy chọn này chỉ được sử dụng để ánh xạ lại đặc biệt.

là, in_sample_rate Đặt tỷ lệ mẫu đầu vào. Giá trị mặc định là 0.

osr, out_sample_rate Đặt tỷ lệ mẫu đầu ra. Giá trị mặc định là 0.

là, in_sample_fmt Chỉ định định dạng mẫu đầu vào. Nó được đặt theo mặc định là "không có".

osf, out_sample_fmt Chỉ định định dạng mẫu đầu ra. Nó được đặt theo mặc định là "không có".

tsf, nội_mẫu_fmt Đặt định dạng mẫu nội bộ. Giá trị mặc định là "không". Điều này sẽ tự động được chọn khi nó không được đặt rõ ràng.

icl, in_channel_layout ocl, out_channel_layout Đặt bố cục kênh đầu vào / đầu ra.

Xem các Kênh Bố trí phần in các

ffmpeg-utils

(1) nhãn hiệu cho cú pháp bắt buộc.

khe hở, center_mix_level Đặt mức trộn trung tâm. Nó là một giá trị được biểu thị bằng deciBel và phải nằm trong khoảng [-32,32].

quay lén, bao quanh_mix_level Đặt mức trộn âm thanh vòm. Nó là một giá trị được biểu thị bằng deciBel và phải nằm trong khoảng [-32,32].

lfe_mix_level Đặt hỗn hợp LFE thành mức không LFE. Nó được sử dụng khi có đầu vào LFE nhưng không có LFE đầu ra. Nó là một giá trị được biểu thị bằng deciBel và phải nằm trong khoảng [-32,32].

rmvol, rematrix_volume Đặt âm lượng rematrix. Giá trị mặc định là 1.0.

rematrix_maxval Đặt giá trị đầu ra tối đa cho kết nối lại. Điều này có thể được sử dụng để ngăn chặn việc cắt xén vs. ngăn chặn giảm âm lượng Giá trị 1.0 ngăn cản việc cắt xén.

cờ, swr_flags Đặt cờ được sử dụng bởi bộ chuyển đổi. Giá trị mặc định là 0.

Nó hỗ trợ các cờ riêng lẻ sau:

res buộc lấy lại mẫu, cờ này buộc sử dụng lấy lại mẫu ngay cả khi đầu vào và tỷ lệ mẫu đầu ra phù hợp.

hoà sắc_scale Đặt thang độ hòa sắc. Giá trị mặc định là 1.

hoà sắc_phương thức Đặt phương pháp hòa sắc. Giá trị mặc định là 0.

Các giá trị được hỗ trợ:

hình chữ nhật chọn hòa sắc hình chữ nhật

hình tam giác chọn hòa sắc tam giác

Tam_hp chọn hòa sắc tam giác với đường chuyền cao

hát nhép chọn hòa sắc tạo hình tiếng ồn lipshitz

shibata chọn hòa sắc tạo hình tiếng ồn shibata

low_shibata chọn hòa sắc tạo hình tiếng ồn shibata thấp

cao_shibata chọn hòa sắc tạo hình tiếng ồn shibata cao

f_weighted chọn hòa sắc định hình nhiễu có trọng số f

mod_e_weighted chọn hòa sắc định hình nhiễu có trọng số điện tử đã sửa đổi

cải thiện_e_weighted chọn hòa sắc định hình tiếng ồn có trọng số điện tử được cải thiện

người lấy mẫu lại Đặt công cụ lấy mẫu lại. Giá trị mặc định là swr.

Các giá trị được hỗ trợ:

swr chọn Trình lấy mẫu lại SW gốc; tùy chọn bộ lọc độ chính xác và cheby không áp dụng trong trường hợp này.

soxr chọn SoX Resampler (nếu có); các tùy chọn bồi thường và bộ lọc filter_size, phase_shift, filter_type & kaiser_beta, không áp dụng trong này trường hợp.

kích thước bộ lọc Chỉ đối với swr, hãy đặt kích thước bộ lọc lấy mẫu lại, giá trị mặc định là 32.

pha_shift Chỉ đối với swr, hãy đặt dịch chuyển pha lấy mẫu lại, giá trị mặc định là 10 và phải nằm trong khoảng [0,30].

tuyến tính Sử dụng Nội suy tuyến tính nếu được đặt thành 1, giá trị mặc định là 0.

xẻ ra Đặt tần số cắt (điểm swr: 6dB; điểm soxr: 0dB); phải là một giá trị thực giữa 0 và 1. Giá trị mặc định là 0.97 với swr và 0.91 với soxr (với tỷ lệ mẫu là 44100, bảo toàn toàn bộ dải âm thanh đến 20kHz).

chính xác Chỉ đối với soxr, độ chính xác theo từng bit mà tín hiệu được lấy mẫu lại sẽ được tính toán. Giá trị mặc định là 20 (với cách phối màu phù hợp, thích hợp cho một độ sâu bit đích là 16) mang lại 'Chất lượng cao' của SoX; giá trị 28 mang lại cho SoX's 'Chất lượng rất cao'.

cheby Chỉ đối với soxr, chọn không có cuộn băng thông (Chebyshev) và độ chính xác cao hơn xấp xỉ cho các tỷ lệ 'không hợp lý'. Giá trị mặc định là 0.

không đồng bộ Chỉ dành cho swr, đồng bộ hóa âm thanh 1 tham số đơn giản với dấu thời gian bằng cách sử dụng kéo, bóp, điền và cắt tỉa. Đặt giá trị này thành 1 sẽ cho phép điền và cắt, lớn hơn các giá trị đại diện cho số lượng tối đa trong các mẫu mà dữ liệu có thể được kéo dài hoặc vắt trong mỗi giây. Giá trị mặc định là 0, do đó không có khoản bồi thường nào được áp dụng để thực hiện các mẫu phù hợp với dấu thời gian âm thanh.

điểm đầu tiên Chỉ đối với swr, giả sử pts đầu tiên phải là giá trị này. Đơn vị thời gian là 1 / mẫu tỷ lệ. Điều này cho phép đệm / cắt khi bắt đầu luồng. Theo mặc định, không giả định được thực hiện về pts dự kiến ​​của khung hình đầu tiên, do đó, không có phần đệm hoặc cắt xén xong. Ví dụ: giá trị này có thể được đặt thành 0 để mở đầu bằng dấu lặng nếu luồng âm thanh bắt đầu sau luồng video hoặc để cắt bất kỳ mẫu nào có điểm pts âm do sự chậm trễ của bộ mã hóa.

min_comp Chỉ đối với swr, hãy đặt chênh lệch tối thiểu giữa dấu thời gian và dữ liệu âm thanh (trong giây) để kích hoạt kéo dài / ép / lấp đầy hoặc cắt bớt dữ liệu để tạo ra khớp với các dấu thời gian. Mặc định là kéo dài / ép / làm đầy và cắt tỉa là Vô hiệu hóa (min_comp = "FLT_MAX").

min_hard_comp Chỉ đối với swr, hãy đặt chênh lệch tối thiểu giữa dấu thời gian và dữ liệu âm thanh (trong giây) để kích hoạt thêm / bớt mẫu để làm cho nó khớp với dấu thời gian. Cái này tùy chọn hiệu quả là một ngưỡng để chọn giữa cứng (cắt / lấp đầy) và mềm (ép / căng) bù. Lưu ý rằng tất cả bồi thường bị vô hiệu hóa theo mặc định thông qua min_comp. Giá trị mặc định là 0.1.

thời gian tính toán Chỉ đối với swr, hãy đặt thời lượng (tính bằng giây) mà dữ liệu được kéo dài / ép chặt để thực hiện nó khớp với dấu thời gian. Phải là giá trị float kép không âm, giá trị mặc định là 1.0.

max_soft_comp Chỉ đối với swr, hãy đặt hệ số tối đa theo đó dữ liệu được kéo giãn / ép chặt để làm cho dữ liệu khớp dấu thời gian. Phải là giá trị float kép không âm, giá trị mặc định là 0.

ma trận_encoding Chọn mã hóa âm thanh nổi có ma trận.

Nó chấp nhận các giá trị sau:

không ai không chọn

Dolby chọn Dolby

dplii chọn Dolby Pro Logic II

Giá trị mặc định là "không".

tuýt lọc Chỉ đối với swr, hãy chọn loại bộ lọc lấy mẫu lại. Điều này chỉ ảnh hưởng đến hoạt động lấy mẫu lại.

Nó chấp nhận các giá trị sau:

khối chọn khối

người da đen_nuttall chọn Blackman Nuttall Windowed Sinc

kaiser chọn Kaiser Windowed Sinc

kaiser_beta Chỉ dành cho swr, hãy đặt giá trị Kaiser Window Beta. Phải là một số nguyên trong khoảng [2,16], giá trị mặc định là 9.

đầu ra_sample_bits Chỉ đối với swr, đặt số lượng bit mẫu đầu ra được sử dụng để phối màu. Phải là số nguyên trong khoảng [0,64], giá trị mặc định là 0, có nghĩa là nó không được sử dụng.

NGƯỜI LỪA ĐẢO LỰA CHỌN

Trình điều chỉnh tỷ lệ video hỗ trợ các tùy chọn được đặt tên sau.

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. Để sử dụng có lập trình, chúng có thể được đặt rõ ràng trong các tùy chọn "SwsContext" hoặc thông qua

libavutil / opt.h

API.

sws_flags Đặt cờ tỷ lệ. Điều này cũng được sử dụng để thiết lập thuật toán chia tỷ lệ. Chỉ một chiếc duy nhất thuật toán nên được chọn.

Nó chấp nhận các giá trị sau:

fast_song tuyến tính Chọn thuật toán tỷ lệ song tuyến tính nhanh.

song tuyến tính Chọn thuật toán tỷ lệ song tuyến tính.

lưỡng tính Chọn thuật toán chia tỷ lệ bicubic.

thử nghiệm Lựa chọn thuật toán chia tỷ lệ thử nghiệm.

hàng xóm Chọn thuật toán thay đổi tỷ lệ láng giềng gần nhất.

khu vực Chọn thuật toán thay đổi tỷ lệ khu vực tính trung bình.

nhị phân Chọn thuật toán chia tỷ lệ lưỡng cực cho thành phần luma, song tuyến tính cho sắc độ các thành phần.

gauss Chọn thuật toán thay đổi tỷ lệ Gaussian.

chân thành Chọn thuật toán thay đổi tỷ lệ sinc.

lanczos Chọn thuật toán thay đổi tỷ lệ lanczos.

lươi gà Chọn thuật toán thay đổi tỷ lệ đường trục bicubic tự nhiên.

print_info Bật tính năng in / ghi nhật ký gỡ lỗi.

chính xác Cho phép làm tròn chính xác.

đầy đủ sắc_int Bật nội suy sắc độ đầy đủ.

đầy đủ sắc_inp Chọn đầu vào sắc độ đầy đủ.

cắnxact Bật đầu ra cắnxact.

srcw Đặt chiều rộng nguồn.

xéo Đặt chiều cao nguồn.

dstw Đặt chiều rộng đích.

dsth Đặt độ cao đích.

src_format Đặt định dạng pixel nguồn (phải được biểu thị dưới dạng số nguyên).

dst_format Đặt định dạng pixel đích (phải được biểu thị dưới dạng số nguyên).

src_range Chọn dải nguồn.

dst_range Chọn phạm vi đích.

thông số0, param1 Đặt thông số thuật toán chia tỷ lệ. Các giá trị được chỉ định là cụ thể của một số tỷ lệ thuật toán và bị người khác bỏ qua. Các giá trị được chỉ định là số dấu phẩy động các giá trị.

sws_dither Đặt thuật toán phối màu. Chấp nhận một trong các giá trị sau. Giá trị mặc định là tự động.

tự động sự lựa chọn tự động

không ai không hòa sắc

bayer hòa sắc bayer

ed hòa sắc khuếch tán lỗi

a_điên hòa sắc số học, dựa trên việc sử dụng phép cộng

x_điên hòa sắc số học, dựa trên sử dụng xor (mẫu ngẫu nhiên hơn / ít rõ ràng hơn a_điên).

bảng chữ cái Đặt kết hợp alpha để sử dụng khi đầu vào có alpha nhưng đầu ra thì không. Giá trị mặc định là không ai.

màu_màu đồng phục Trộn thành một màu nền đồng nhất

bàn cờ Trộn lên bàn cờ

không ai Không pha trộn

LỌC GIỚI THIỆU

Lọc trong FFmpeg được kích hoạt thông qua thư viện libavfilter.

Trong libavfilter, một bộ lọc có thể có nhiều đầu vào và nhiều đầu ra. Để minh họa chúng tôi xem xét sơ đồ lọc sau.

[chủ yếu] đầu vào -> tách -----> lớp phủ -> đầu ra | ^

[tmp] [lật]
+ -----> cắt -> vflip ------- +

Sơ đồ bộ lọc này chia luồng đầu vào thành hai luồng, sau đó gửi một luồng qua bộ lọc cắt xén và bộ lọc vflip, trước khi hợp nhất lại với luồng khác bằng cách phủ nó lên trên. Bạn có thể sử dụng lệnh sau để đạt được điều này:

ffmpeg -i INPUT -vf "split [main] [tmp]; [tmp] crop = iw: ih / 2: 0: 0, vflip [flip]; [main] [flip] overlay = 0: H / 2" OUTPUT

Kết quả sẽ là nửa trên của video được phản chiếu với nửa dưới của đầu ra video.

Các bộ lọc trong cùng một chuỗi tuyến tính được phân tách bằng dấu phẩy và các chuỗi tuyến tính riêng biệt của các bộ lọc được phân tách bằng dấu chấm phẩy. Trong ví dụ của chúng tôi,

crop, vflip

nằm trong một chuỗi tuyến tính,

chia

phủ

là riêng biệt trong khác. Các điểm mà các chuỗi tuyến tính tham gia là được gắn nhãn bằng tên được đặt trong dấu ngoặc vuông. Trong ví dụ, bộ lọc tách tạo ra hai đầu ra được liên kết với các nhãn

[chủ yếu]

[tmp]

.

Luồng được gửi đến đầu ra thứ hai của

chia

, được gắn nhãn là

[tmp]

, được xử lý thông qua

cây trồng

bộ lọc, cắt bỏ phần nửa dưới của video, sau đó cắt theo chiều dọc bị lật. Các

phủ

bộ lọc nhận đầu vào là đầu ra không thay đổi đầu tiên của bộ lọc tách (được gắn nhãn là

[chủ yếu]

), và phủ lên nửa dưới của nó so với đầu ra được tạo ra bởi

crop, vflip

chuỗi bộ lọc.

Một số bộ lọc nhận đầu vào một danh sách các tham số: chúng được chỉ định sau tên bộ lọc và một dấu bằng, và được phân tách với nhau bằng dấu hai chấm.

Có tồn tại cái gọi là

nguồn bộ lọc

không có đầu vào âm thanh / video và

bồn rửa bộ lọc

sẽ không có đầu ra âm thanh / video.

HÌNH ẢNH

Sản phẩm

đồ thị2dot

chương trình bao gồm trong FFmpeg

công cụ

thư mục có thể được sử dụng để phân tích cú pháp mô tả đồ thị bộ lọc và đưa ra một biểu diễn văn bản tương ứng trong dấu chấm ngôn ngữ.

Gọi lệnh:

đồ thị2dot -h

để xem cách sử dụng

đồ thị2dot

.

Sau đó, bạn có thể chuyển mô tả dấu chấm cho

dot

chương trình (từ bộ graphviz của chương trình) và có được một biểu diễn đồ họa của đồ thị bộ lọc.

Ví dụ chuỗi lệnh:

tiếng vang | \ tools / graph2dot -o graph.tmp && \ dot -Tpng graph.tmp -o graph.png && \ hiển thị graph.png

có thể được sử dụng để tạo và hiển thị hình ảnh đại diện cho biểu đồ được mô tả bởi

GRAPH_DESCRIPTION

dây. Lưu ý rằng chuỗi này phải là một biểu đồ hoàn chỉnh, với các đầu vào và đầu ra của nó được xác định rõ ràng. Ví dụ: nếu dòng lệnh của bạn là hình thức:

ffmpeg -i infile -vf scale = 640: 360 outfile

qua một vài thao tác đơn giản về

GRAPH_DESCRIPTION

chuỗi sẽ cần có dạng:

nullsrc, scale = 640: 360, nullsink

bạn cũng có thể cần đặt

nullsrc

các tham số và thêm một

định dạng

lọc để mô phỏng một tệp đầu vào cụ thể.

LỌC ĐỊA LÝ MÔ TẢ

Đồ thị bộ lọc là một đồ thị có hướng gồm các bộ lọc được kết nối. Nó có thể chứa các chu kỳ, và ở đó có thể là nhiều liên kết giữa một cặp bộ lọc. Mỗi liên kết có một bàn phím nhập ở một bên kết nối nó với một bộ lọc mà từ đó nó lấy đầu vào và một bàn phím đầu ra ở bên kia bên kết nối nó với một bộ lọc chấp nhận đầu ra của nó.

Mỗi bộ lọc trong một đồ thị bộ lọc là một phiên bản của một lớp bộ lọc được đăng ký trong ứng dụng, xác định các tính năng và số lượng đầu vào và đầu ra của lọc.

Bộ lọc không có miếng đệm đầu vào được gọi là "nguồn" và bộ lọc không có miếng đệm đầu ra là được gọi là "bồn rửa".

Bộ lọc cú pháp Một đồ thị bộ lọc có biểu diễn dạng văn bản, được công nhận bởi -bộ lọc/-vf/-af và -filter_complex tùy chọn trong ffmpeg và -vf/-af in ffplayvà bởi Hàm "avfilter_graph_parse_ptr ()" được xác định trong

libavfilter / avfilter.h

.

Chuỗi bộ lọc bao gồm một chuỗi các bộ lọc được kết nối, mỗi bộ lọc được kết nối với trước đó trong trình tự. Chuỗi bộ lọc được biểu thị bằng danh sách "," - được phân tách lọc mô tả.

Một đồ thị bộ lọc bao gồm một chuỗi các dãy bộ lọc. Một chuỗi các bộ lọc là được đại diện bởi danh sách ";" - mô tả chuỗi bộ lọc được phân tách.

Bộ lọc được biểu thị bằng một chuỗi có dạng: [

trong_link_1

] ... [

trong_link_N

]

tên bộ lọc

\=

đối số

[

out_link_1

] ... [

out_link_M

]

tên bộ lọc

là tên của lớp bộ lọc mà bộ lọc được mô tả là một thể hiện của, và phải là tên của một trong các lớp bộ lọc được đăng ký trong chương trình. Các tên của lớp bộ lọc được theo sau bởi một chuỗi "=

đối số

".

đối số

là một chuỗi chứa các tham số được sử dụng để khởi tạo bộ lọc ví dụ. Nó có thể có một trong hai dạng:

· A ':' - danh sách được phân tách của

key = giá trị

cặp.

· A ':' - danh sách được phân tách của

giá trị

. Trong trường hợp này, các phím được giả định là tùy chọn tên theo thứ tự chúng được khai báo. Ví dụ: bộ lọc "mờ dần" khai báo ba tùy chọn trong thứ tự này -- kiểu, khung bắt đầu và nb_frames. Sau đó, danh sách tham số

trong: 0: 30

có nghĩa đó là giá trị

in

được chỉ định cho tùy chọn kiểu,

0

đến khung bắt đầu và

30

đến nb_frames.

· A ':' - danh sách tách biệt của trực tiếp hỗn hợp

giá trị

và dài

key = giá trị

cặp. Trực tiếp

giá trị

phải đứng trước

key = giá trị

các cặp và tuân theo cùng một thứ tự ràng buộc của điểm trước đó. Sau

key = giá trị

các cặp có thể được đặt theo bất kỳ thứ tự ưu tiên nào.

Nếu bản thân giá trị tùy chọn là một danh sách các mục (ví dụ: bộ lọc "định dạng" lấy một danh sách định dạng pixel), các mục trong danh sách thường được phân tách bằng |.

Danh sách các đối số có thể được trích dẫn bằng ký tự ' làm dấu đầu và dấu kết thúc, và nhân vật \ để thoát các ký tự trong văn bản được trích dẫn; nếu không thì đối số chuỗi được coi là kết thúc khi ký tự đặc biệt tiếp theo (thuộc tập [] = ;,) gặp phải.

Tên và các đối số của bộ lọc được đặt trước và theo sau bởi danh sách liên kết các nhãn. Nhãn liên kết cho phép người ta đặt tên cho một liên kết và liên kết nó với đầu ra của bộ lọc hoặc bảng nhập liệu. Các nhãn trước

trong_link_1

hữu ích. Cảm ơn !

trong_link_N

, được liên kết với bộ lọc miếng đệm đầu vào, các nhãn sau

out_link_1

hữu ích. Cảm ơn !

out_link_M

, được liên kết với đầu ra miếng đệm lót.

Khi hai nhãn liên kết có cùng tên được tìm thấy trong biểu đồ lọc, một liên kết giữa bảng đầu vào và đầu ra tương ứng được tạo.

Nếu một bảng đầu ra không được gắn nhãn, nó được liên kết theo mặc định với đầu vào không có nhãn đầu tiên pad của bộ lọc tiếp theo trong chuỗi bộ lọc. Ví dụ trong chuỗi bộ lọc

nullsrc, phân tách [L1], lớp phủ [L2], nullsink

phiên bản bộ lọc tách có hai miếng đệm đầu ra và phiên bản bộ lọc lớp phủ có hai đầu vào miếng đệm lót. Vùng đầu ra đầu tiên của phần tách được gắn nhãn "L1", vùng đầu vào đầu tiên của lớp phủ là được gắn nhãn "L2" và vùng phân tách đầu ra thứ hai được liên kết với vùng đầu vào thứ hai của lớp phủ, cả hai đều không có nhãn.

Trong mô tả bộ lọc, nếu nhãn đầu vào của bộ lọc đầu tiên không được chỉ định, thì "in" là giả định; nếu nhãn đầu ra của bộ lọc cuối cùng không được chỉ định, "out" được giả định.

Trong một chuỗi bộ lọc hoàn chỉnh, tất cả các miếng đệm đầu vào và đầu ra của bộ lọc không được dán nhãn phải được kết nối. Đồ thị bộ lọc được coi là hợp lệ nếu tất cả các đầu vào và đầu ra của bộ lọc tất cả các bộ lọc được kết nối.

Libavfilter sẽ tự động chèn tỉ lệ bộ lọc mà chuyển đổi định dạng là bắt buộc. Có thể chỉ định cờ swscale cho những tỷ lệ được chèn tự động bằng cách thêm trước "sws_flags =

cờ; "

vào mô tả đồ thị bộ lọc.

Đây là mô tả BNF về cú pháp đồ thị bộ lọc:

:: = chuỗi ký tự chữ và số và '_' :: = "[" "]" :: = [ ] :: = chuỗi ký tự (có thể được trích dẫn) :: = [ ] ["=" ] [ ] :: = [, ] :: = [sws_flags = ;] [; ]

Chú ý on bộ lọc thoát Thành phần mô tả biểu đồ lọc đòi hỏi một số cấp độ thoát. Nhìn thấy các "Trích dẫn và trốn thoát " phần in các

ffmpeg-utils

(1) nhãn hiệu để biết thêm thông tin về thủ tục thoát được sử dụng.

Thoát cấp đầu tiên ảnh hưởng đến nội dung của từng giá trị tùy chọn bộ lọc, có thể chứa ký tự đặc biệt ":" được sử dụng để phân tách các giá trị hoặc một trong các ký tự thoát "\ '".

Thoát cấp thứ hai ảnh hưởng đến toàn bộ mô tả bộ lọc, có thể chứa ký tự thoát "\ '" hoặc ký tự đặc biệt "[],;" được sử dụng bởi bộ lọc sự miêu tả.

Cuối cùng, khi bạn chỉ định một biểu đồ lọc trên dòng lệnh shell, bạn cần thực hiện cấp độ thứ ba thoát cho các ký tự đặc biệt của trình bao chứa trong nó.

Ví dụ: hãy coi chuỗi sau được nhúng vào bản vẽ lọc Mô tả văn bản giá trị:

đây là một 'chuỗi': có thể chứa một hoặc nhiều ký tự đặc biệt

Chuỗi này chứa ký tự thoát đặc biệt "'" và ký tự đặc biệt ":", vì vậy nó cần được thoát theo cách này:

text = đây là một \ 'string \' \: có thể chứa một hoặc nhiều ký tự đặc biệt

Cấp thoát thứ hai là bắt buộc khi nhúng mô tả bộ lọc trong mô tả đồ thị bộ lọc, để thoát khỏi tất cả các ký tự đặc biệt của đồ thị bộ lọc. Như vậy ví dụ trên trở thành:

drawtext = text = this is a \\\ 'string \\\' \\: có thể chứa một \, hoặc nhiều \, ký tự đặc biệt

(lưu ý rằng ngoài các ký tự đặc biệt thoát "\ '", còn có "," cần phải trốn thoát).

Cuối cùng, cần thêm một mức thoát khi viết mô tả sơ đồ lọc trong một lệnh shell, tùy thuộc vào các quy tắc thoát của shell được thông qua. Ví dụ, giả sử rằng "\" là đặc biệt và cần được thoát bằng một "\" khác, chuỗi trước đó cuối cùng sẽ dẫn đến:

-vf "drawtext = text = this is a \\\\\\ 'string \\\\\\\' \\\\: có thể chứa một \\ hoặc nhiều \\, các ký tự đặc biệt"

THỜI HẠN Chỉnh sửa

Một số bộ lọc hỗ trợ chung cho phép Lựa chọn. Đối với các bộ lọc hỗ trợ chỉnh sửa dòng thời gian, tùy chọn này có thể được đặt thành một biểu thức được đánh giá trước khi gửi một khung đến lọc. Nếu đánh giá khác XNUMX, bộ lọc sẽ được bật, nếu không thì khung sẽ được gửi không thay đổi đến bộ lọc tiếp theo trong biểu đồ lọc.

Biểu thức chấp nhận các giá trị sau:

t dấu thời gian được biểu thị bằng giây, NAN nếu dấu thời gian đầu vào không xác định

n số thứ tự của khung đầu vào, bắt đầu từ 0

gửi vị trí trong tệp của khung đầu vào, NAN nếu không xác định

w h chiều rộng và chiều cao của khung đầu vào nếu video

Ngoài ra, các bộ lọc này hỗ trợ một cho phép lệnh có thể được sử dụng để xác định lại biểu hiện.

Giống như bất kỳ tùy chọn lọc nào khác, cho phép tùy chọn tuân theo các quy tắc tương tự.

Ví dụ: để bật bộ lọc mờ (người thông minh) từ 10 giây đến 3 phút, và a đường cong bộ lọc bắt đầu từ 3 giây:

smartblur = enable = 'between (t, 10,3 * 60)', Curve = enable = 'gte (t, 3)': preset = cross_process

AUDIO LỌC

Khi bạn định cấu hình bản dựng FFmpeg của mình, bạn có thể tắt bất kỳ bộ lọc hiện có nào bằng cách sử dụng "--disable-filter". Đầu ra cấu hình sẽ hiển thị các bộ lọc âm thanh có trong xây dựng.

Dưới đây là mô tả về các bộ lọc âm thanh hiện có sẵn.

vượt qua Áp dụng giảm âm chéo từ một luồng âm thanh đầu vào cho một luồng âm thanh đầu vào khác. Cây thánh giá mờ dần được áp dụng trong khoảng thời gian cụ thể gần cuối luồng đầu tiên.

Bộ lọc chấp nhận các tùy chọn sau:

nb_samples, ns Chỉ định số lượng mẫu mà hiệu ứng mờ dần phải kéo dài. Cuối cùng của hiệu ứng mờ dần âm thanh đầu vào đầu tiên sẽ hoàn toàn im lặng. Mặc định là 44100.

thời hạn, d Chỉ định thời lượng của hiệu ứng mờ dần. Nhìn thấy các Thời gian thời gian phần in các

ffmpeg-utils

(1) nhãn hiệu cho cú pháp được chấp nhận. Theo mặc định, thời lượng được xác định by

nb_samples

. Nếu được đặt, tùy chọn này được sử dụng thay vì

nb_samples

.

chồng chéo lên nhau, o Có nên kết thúc luồng đầu tiên trùng lặp với bắt đầu luồng thứ hai. Mặc định được bật.

đường cong1 Đặt đường cong cho quá trình chuyển đổi mờ dần cho luồng đầu tiên.

đường cong2 Đặt đường cong cho quá trình chuyển đổi mờ dần cho luồng thứ hai.

Để biết mô tả về các loại đường cong có sẵn, hãy xem đi xa mô tả bộ lọc.

Các ví dụ

· Làm mờ chéo từ đầu vào này sang đầu vào khác:

ffmpeg -i first.flac -i second.flac -filter_complex crossfade = d = 10: c1 = exp: c2 = exp output.flac

· Làm mờ chéo từ đầu vào này sang đầu vào khác nhưng không chồng chéo:

ffmpeg -i first.flac -i second.flac -filter_complex crossfade = d = 10: o = 0: c1 = exp: c2 = exp output.flac

một sự trì hoãn Trì hoãn một hoặc nhiều kênh âm thanh.

Các mẫu trong kênh bị trễ được lấp đầy bởi sự im lặng.

Bộ lọc chấp nhận tùy chọn sau:

sự chậm trễ Đặt danh sách độ trễ tính bằng mili giây cho mỗi kênh được phân tách bằng dấu '|'. Ít nhất một độ trễ lớn hơn 0 nên được cung cấp. Sự chậm trễ không được sử dụng sẽ được bỏ qua một cách im lặng. Nếu như số lần trễ nhất định nhỏ hơn số kênh mà tất cả các kênh còn lại sẽ không bị trì hoãn.

Các ví dụ

· Trì hoãn kênh đầu tiên 1.5 giây, kênh thứ ba 0.5 giây và rời khỏi kênh thứ hai (và bất kỳ kênh nào khác có thể có mặt) không thay đổi.

adelay = 1500 | 0 | 500

tiếng vang Áp dụng tiếng vọng cho âm thanh đầu vào.

Tiếng vang là âm thanh phản xạ và có thể xảy ra tự nhiên giữa các ngọn núi (và đôi khi lớn các tòa nhà) khi nói chuyện hoặc la hét; hiệu ứng tiếng vang kỹ thuật số mô phỏng hành vi này và thường được sử dụng để giúp điền vào âm thanh của một nhạc cụ hoặc giọng hát. Sự khác biệt thời gian giữa tín hiệu ban đầu và phản xạ là "độ trễ" và độ lớn của tín hiệu phản xạ là "phân rã". Nhiều tiếng vang có thể có độ trễ và độ trễ khác nhau.

Sau đây là mô tả về các tham số được chấp nhận.

in_gain Đặt độ lợi đầu vào của tín hiệu phản xạ. Mặc định là 0.6.

out_gain Đặt độ lợi đầu ra của tín hiệu phản xạ. Mặc định là 0.3.

sự chậm trễ Đặt danh sách các khoảng thời gian tính bằng mili giây giữa tín hiệu gốc và phản xạ cách nhau bởi '|'. Phạm vi được phép cho mỗi "độ trễ" là "(0 - 90000.0]". Mặc định là 1000.

sự thối rữa Đặt danh sách độ lớn của tín hiệu phản xạ được phân tách bằng dấu '|'. Phạm vi được phép cho mỗi "phân rã" là "(0 - 1.0]". Mặc định là 0.5.

Các ví dụ

· Làm cho âm thanh như thể có gấp đôi số nhạc cụ đang chơi thực sự:

aecho = 0.8: 0.88: 60: 0.4

· Nếu độ trễ rất ngắn, thì nó giống như một robot (kim loại) đang phát nhạc:

aecho = 0.8: 0.88: 6: 0.4

· Thời gian trễ lâu hơn sẽ giống như một buổi hòa nhạc ngoài trời trên núi:

aecho = 0.8: 0.9: 1000: 0.3

· Tương tự như trên nhưng có thêm một ngọn núi:

aecho=0.8:0.9:1000|1800:0.3|0.25

đánh giá Sửa đổi tín hiệu âm thanh theo các biểu thức được chỉ định.

Bộ lọc này chấp nhận một hoặc nhiều biểu thức (một biểu thức cho mỗi kênh), được đánh giá và được sử dụng để sửa đổi tín hiệu âm thanh tương ứng.

Nó chấp nhận các tham số sau:

exp Đặt danh sách biểu thức phân tách '|' cho từng kênh riêng biệt. Nếu số lượng các kênh đầu vào lớn hơn số lượng biểu thức, được chỉ định cuối cùng biểu thức được sử dụng cho các kênh đầu ra còn lại.

kênh_layout, c Đặt bố cục kênh đầu ra. Nếu không được chỉ định, bố cục kênh được chỉ định bởi số biểu thức. Nếu được đặt thành tương tự, theo mặc định, nó sẽ sử dụng cùng một kênh đầu vào bố trí.

Mỗi biểu thức trong

exp

có thể chứa các hằng số và hàm sau:

ch số kênh của biểu thức hiện tại

n số lượng mẫu được đánh giá, bắt đầu từ 0

s tỷ lệ mẫu

t thời gian của mẫu được đánh giá tính bằng giây

nb_in_channels nb_out_channels đầu vào và đầu ra số kênh

val (CH) giá trị của kênh đầu vào với số

CH

Lưu ý: bộ lọc này chậm. Để xử lý nhanh hơn, bạn nên sử dụng bộ lọc chuyên dụng.

Các ví dụ

· Một nửa âm lượng:

aeval = val (ch) / 2: c = giống nhau

· Giai đoạn đảo ngược của kênh thứ hai:

aeval =val(0) | -val(1)

đi xa Áp dụng hiệu ứng mờ dần vào / ra cho âm thanh đầu vào.

Sau đây là mô tả về các tham số được chấp nhận.

kiểu, t Chỉ định loại hiệu ứng, có thể là "vào" để làm mờ dần hoặc "ra" để làm mờ dần tác dụng. Mặc định là "trong".

mẫu_bắt đầu, ss Chỉ định số lượng mẫu bắt đầu để bắt đầu áp dụng hiệu ứng mờ dần. Vỡ nợ là 0.

nb_samples, ns Chỉ định số lượng mẫu mà hiệu ứng mờ dần phải kéo dài. Vào cuối hiệu ứng mờ dần âm thanh đầu ra sẽ có cùng âm lượng với âm thanh đầu vào, tại kết thúc quá trình chuyển đổi mờ dần, âm thanh đầu ra sẽ im lặng. Mặc định là 44100.

thời gian bắt đầu, st Chỉ định thời gian bắt đầu của hiệu ứng mờ dần. Mặc định là 0. Giá trị phải được chỉ định như một khoảng thời gian; Thấy chưa các Thời gian thời gian phần in các

ffmpeg-utils

(1) nhãn hiệu cho cú pháp được chấp nhận. Nếu được đặt, tùy chọn này được sử dụng thay vì

mẫu_bắt đầu

.

thời hạn, d Chỉ định khoảng thời gian của hiệu ứng mờ dần. Nhìn thấy các Thời gian thời gian phần in các

ffmpeg-utils

(1) nhãn hiệu cho cú pháp được chấp nhận. Vào cuối hiệu ứng mờ dần, âm thanh đầu ra sẽ có cùng âm lượng với âm thanh đầu vào, ở cuối âm thanh mờ dần chuyển đổi âm thanh đầu ra sẽ im lặng. Theo mặc định, thời lượng được xác định bởi

nb_samples

. Nếu được đặt, tùy chọn này được sử dụng thay vì

nb_samples

.

đường cong Đặt đường cong cho quá trình chuyển đổi mờ dần.

Nó chấp nhận các giá trị sau:

tri chọn hình tam giác, độ dốc tuyến tính (mặc định)

qsin chọn một phần tư sóng sin

hsin chọn một nửa của sóng sin

cảm hứng chọn sóng sin theo cấp số nhân

đăng nhập chọn lôgarit

ipar chọn parabol ngược

đây chọn bậc hai

hình lập phương chọn khối

đội chọn căn bậc hai

cbr chọn căn bậc ba

mệnh chọn parabol

exp chọn hàm mũ

iqsin chọn một phần tư sóng sin đảo ngược

ihsin chọn một nửa ngược của sóng sin

muốn chọn chỗ ngồi gấp đôi theo cấp số nhân

Desi chọn sigmoid kép theo cấp số nhân

Các ví dụ

· Làm mờ dần âm thanh trong 15 giây đầu tiên:

afade = t = in: ss = 0: d = 15

· Làm mờ dần 25 giây cuối cùng của âm thanh 900 giây:

afade = t = out: st = 875: d = 25

định dạng Đặt các ràng buộc định dạng đầu ra cho âm thanh đầu vào. Khuôn khổ sẽ thương lượng nhiều nhất định dạng thích hợp để giảm thiểu chuyển đổi.

Nó chấp nhận các tham số sau:

sample_fmts Danh sách định dạng mẫu được yêu cầu được phân tách bằng dấu '|'.

tỷ lệ mẫu Danh sách tỷ lệ mẫu được yêu cầu được phân tách bằng dấu '|'.

kênh_layouts Danh sách bố cục kênh được yêu cầu được phân tách bằng dấu '|'.

Xem các Kênh Bố trí phần in các

ffmpeg-utils

(1) nhãn hiệu cho cú pháp bắt buộc.

Nếu một tham số bị bỏ qua, tất cả các giá trị đều được phép.

Buộc đầu ra thành âm thanh nổi 8-bit hoặc 16-bit không dấu có dấu

aformat = sample_fmts = u8 | s16: channel_layouts = stereo

vượt qua Áp dụng bộ lọc tất cả hai cực với tần số trung tâm (tính bằng Hz)

tần số

và bộ lọc- chiều rộng

chiều rộng

. Bộ lọc tất cả thay đổi tần số của âm thanh thành mối quan hệ pha mà không thay đổi tần số của nó thành mối quan hệ biên độ.

Bộ lọc chấp nhận các tùy chọn sau:

tần số, f Đặt tần số tính bằng Hz.

chiều rộng_type Đặt phương thức để chỉ định độ rộng băng tần của bộ lọc.

h Hz

q Hệ số Q

o bát cú

s độ dốc

chiều rộng, w Chỉ định độ rộng băng tần của bộ lọc theo đơn vị width_type.

kết hợp Hợp nhất hai hoặc nhiều luồng âm thanh thành một luồng đa kênh.

Bộ lọc chấp nhận các tùy chọn sau:

đầu vào Đặt số lượng đầu vào. Mặc định là 2.

Nếu bố cục kênh của các đầu vào là rời rạc và do đó tương thích, thì kênh bố cục của đầu ra sẽ được đặt cho phù hợp và các kênh sẽ được sắp xếp lại như cần thiết. Nếu bố cục kênh của các đầu vào không rời rạc, thì đầu ra sẽ có tất cả các kênh của đầu vào đầu tiên rồi đến tất cả các kênh của đầu vào thứ hai, theo thứ tự đó, và bố cục kênh của đầu ra sẽ là giá trị mặc định tương ứng với tổng số kênh.

Ví dụ: nếu đầu vào đầu tiên là 2.1 (FL + FR + LF) và đầu vào thứ hai là FC + BL + BR, thì đầu ra sẽ ở dạng 5.1, với các kênh theo thứ tự sau: a1, a2, b1, a3, b2, b3 (a1 là kênh đầu tiên của đầu vào đầu tiên, b1 là kênh đầu tiên của đầu vào thứ hai đầu vào).

Mặt khác, nếu cả hai đầu vào đều ở dạng âm thanh nổi, các kênh đầu ra sẽ ở chế độ mặc định thứ tự: a1, a2, b1, b2 và bố cục kênh sẽ được đặt tùy ý thành 4.0, có thể hoặc có thể không phải là giá trị mong đợi.

Tất cả các đầu vào phải có cùng tỷ lệ mẫu và định dạng.

Nếu đầu vào không có cùng thời lượng, đầu ra sẽ dừng với thời lượng ngắn nhất.

Các ví dụ

· Hợp nhất hai tệp đơn âm thành một luồng âm thanh nổi:

amovie = left.wav [l]; amovie = right.mp3 [r]; [l] [r] tình yêu

· Nhiều hợp nhất giả sử 1 luồng video và 6 luồng âm thanh trong

đầu vào.mkv

:

ffmpeg -i input.mkv -filter_complex "[0: 1] [0: 2] [0: 3] [0: 4] [0: 5] [0: 6] amerge = input = 6" -c: a pcm_s16le output.mkv

trộn Trộn nhiều đầu vào âm thanh thành một đầu ra duy nhất.

Lưu ý rằng bộ lọc này chỉ hỗ trợ các mẫu float (

kết hợp

pan

bộ lọc âm thanh hỗ trợ nhiều định dạng). Nếu

trộn

đầu vào có các mẫu số nguyên sau đó là mẫu sẽ được tự động được chèn để thực hiện chuyển đổi sang các mẫu nổi.

Ví dụ

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix = đầu vào = 3: thời lượng = đầu tiên: bỏ_transition = 3 ĐẦU RA

sẽ trộn 3 luồng âm thanh đầu vào thành một đầu ra duy nhất với cùng thời lượng như luồng đầu tiên đầu vào và thời gian chuyển tiếp bỏ học là 3 giây.

Nó chấp nhận các tham số sau:

đầu vào Số lượng đầu vào. Nếu không được chỉ định, nó mặc định là 2.

thời gian Cách xác định cuối luồng.

dài nhất Thời lượng của đầu vào dài nhất. (vỡ nợ)

ngắn nhất Thời lượng của đầu vào ngắn nhất.

Thành phố điện khí hóa phía tây dãy núi Rocky đầu tiên Khoảng thời gian của đầu vào đầu tiên.

dropout_transition Thời gian chuyển đổi, tính bằng giây, để tái chuẩn hóa âm lượng khi luồng đầu vào kết thúc. Giá trị mặc định là 2 giây.

tàn lụi Chuyển nguồn âm thanh không thay đổi đến đầu ra.

cái áo khoác Tạo khoảng lặng ở cuối luồng âm thanh.

Điều này có thể được sử dụng cùng với ffmpeg -mới nhất để mở rộng luồng âm thanh đến cùng độ dài dưới dạng luồng video.

Sau đây là mô tả về các tùy chọn được chấp nhận.

pack_size Đặt kích thước gói im lặng. Giá trị mặc định là 4096.

pad_len Đặt số lượng mẫu khoảng lặng để thêm vào cuối. Sau khi đạt đến giá trị, luồng bị kết thúc. Tùy chọn này loại trừ lẫn nhau với toàn_len.

toàn_len Đặt tổng số mẫu tối thiểu trong luồng âm thanh đầu ra. Nếu giá trị là dài hơn thời lượng âm thanh đầu vào, khoảng lặng được thêm vào cuối, cho đến khi giá trị là đạt. Tùy chọn này loại trừ lẫn nhau với pad_len.

Nếu không pad_len cũng không phải toàn_len được đặt, bộ lọc sẽ thêm dấu lặng cho cuối luồng đầu vào vô thời hạn.

Các ví dụ

· Thêm 1024 mẫu khoảng lặng vào cuối đầu vào:

apad = pad_len = 1024

· Đảm bảo rằng đầu ra âm thanh sẽ chứa ít nhất 10000 mẫu, đệm đầu vào bằng im lặng nếu được yêu cầu:

apad = whole_len = 10000

· Sử dụng ffmpeg để tạo khoảng lặng cho đầu vào âm thanh, để luồng video luôn kết quả ngắn nhất và sẽ được chuyển đổi cho đến cuối trong tệp đầu ra khi sử dụng các ngắn nhất tùy chọn:

ffmpeg -i VIDEO -i AUDIO -filter_complex "[1: 0] apad" -shortest OUTPUT

người nói chuyện Thêm hiệu ứng phân kỳ cho âm thanh đầu vào.

Một bộ lọc phaser tạo ra một loạt các đỉnh và đáy trong phổ tần số. Các vị trí của các đỉnh và đáy được điều chỉnh để chúng thay đổi theo thời gian, tạo ra hiệu ứng quét.

Sau đây là mô tả về các tham số được chấp nhận.

in_gain Đặt mức tăng đầu vào. Mặc định là 0.4.

out_gain Đặt mức tăng đầu ra. Mặc định là 0.74

chậm trễ Đặt độ trễ tính bằng mili giây. Mặc định là 3.0.

sâu Đặt phân rã. Mặc định là 0.4.

tốc độ Đặt tốc độ điều chế tính bằng Hz. Mặc định là 0.5.

kiểu Đặt kiểu điều chế. Mặc định là hình tam giác.

Nó chấp nhận các giá trị sau:

hình tam giác, t hình sin, s

là mẫu Lấy mẫu lại âm thanh đầu vào theo các thông số được chỉ định, sử dụng thư viện libswresample. Nếu như không có gì được chỉ định thì bộ lọc sẽ tự động chuyển đổi giữa đầu vào của nó và đầu ra.

Bộ lọc này cũng có thể kéo dài / ép dữ liệu âm thanh để làm cho dữ liệu âm thanh khớp với dấu thời gian hoặc để chèn im lặng / cắt bỏ âm thanh để làm cho âm thanh khớp với dấu thời gian, hãy thực hiện kết hợp cả hai hoặc không.

Bộ lọc chấp nhận cú pháp [

tỷ lệ mẫu

:]

bộ lấy mẫu lại_options

, Nơi

tỷ lệ mẫu

bày tỏ một tỷ lệ mẫu và

bộ lấy mẫu lại_options

là một danh sách

chính

\=

giá trị

các cặp, được phân tách bằng ":". Nhìn thấy hướng dẫn ffmpeg-resampler cho danh sách đầy đủ các tùy chọn được hỗ trợ.

Các ví dụ

· Lấy mẫu lại âm thanh đầu vào thành 44100Hz:

aresample = 44100

· Kéo dài / ép mẫu đến các dấu thời gian nhất định, với tối đa 1000 mẫu mỗi bồi thường thứ hai:

aresample = async = 1000

asetsamples Đặt số lượng mẫu cho mỗi khung âm thanh đầu ra.

Gói đầu ra cuối cùng có thể chứa một số lượng mẫu khác nhau, vì bộ lọc sẽ tuôn ra tất cả các mẫu còn lại khi âm thanh đầu vào báo hiệu kết thúc.

Bộ lọc chấp nhận các tùy chọn sau:

nb_out_samples, n Đặt số lượng khung hình cho mỗi khung âm thanh đầu ra. Con số được dự định là số lượng mẫu

mỗi mỗi kênh

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

tập giấy, p Nếu được đặt thành 1, bộ lọc sẽ đệm khung âm thanh cuối cùng bằng các số XNUMX, sao cho khung âm thanh cuối cùng khung sẽ chứa cùng một số lượng mẫu như những cái trước đó. Giá trị mặc định là 1.

Ví dụ: để đặt số lượng mẫu trên mỗi khung hình thành 1234 và tắt đệm cho khung cuối cùng, sử dụng:

asetnsamples = n = 1234: p = 0

làm vững chắc Đặt tốc độ lấy mẫu mà không làm thay đổi dữ liệu PCM. Điều này sẽ dẫn đến thay đổi tốc độ và cao độ.

Bộ lọc chấp nhận các tùy chọn sau:

tỷ lệ mẫu, r Đặt tỷ lệ mẫu đầu ra. Mặc định là 44100 Hz.

ashowinfo Hiển thị một dòng chứa nhiều thông tin khác nhau cho mỗi khung âm thanh đầu vào. Âm thanh đầu vào là không sửa đổi.

Dòng hiển thị chứa một chuỗi các cặp khóa / giá trị của biểu mẫu

chính

:

giá trị

.

Các giá trị sau được hiển thị trong đầu ra:

n Số (tuần tự) của khung đầu vào, bắt đầu từ 0.

Điểm Dấu thời gian trình bày của khung đầu vào, theo đơn vị cơ sở thời gian; cơ sở thời gian phụ thuộc vào đệm đầu vào của bộ lọc và thường là 1 /

tỷ lệ mẫu

.

pts_time Dấu thời gian trình bày của khung đầu vào tính bằng giây.

gửi vị trí của khung trong luồng đầu vào, -1 nếu thông tin này không có sẵn và / hoặc vô nghĩa (ví dụ: trong trường hợp âm thanh tổng hợp)

fmt Định dạng mẫu.

lớp lót Bố cục kênh.

tỷ lệ Tỷ lệ mẫu cho khung âm thanh.

nb_samples Số lượng mẫu (mỗi kênh) trong khung.

checksum Tổng kiểm tra Adler-32 (được in dưới dạng thập lục phân) của dữ liệu âm thanh. Đối với âm thanh phẳng, dữ liệu được xử lý như thể tất cả các mặt phẳng đã được nối với nhau.

mặt phẳng_checksums Danh sách các tổng kiểm tra Adler-32 cho mỗi mặt phẳng dữ liệu.

số liệu thống kê Hiển thị thông tin thống kê miền thời gian về các kênh âm thanh. Thống kê là được tính toán và hiển thị cho từng kênh âm thanh và, nếu có, một con số tổng thể cũng được đưa ra.

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

chiều dài Độ dài cửa sổ ngắn tính bằng giây, được sử dụng để đo RMS đỉnh và đáy. Mặc định là 0.05 (50 mili giây). Phạm vi được phép là "[0.1 - 10]".

siêu dữ liệu Đặt chèn siêu dữ liệu. Tất cả các khóa siêu dữ liệu đều có tiền tố là "lavfi.astats.X", trong đó "X" là số kênh bắt đầu từ 1 hoặc chuỗi "Tổng thể". Mặc định bị tắt.

Các khóa khả dụng cho mỗi kênh là: DC_offset Min_level Max_level Min_difference Max_difference Trung bình_difference Peak_level RMS_peak RMS_trough Crest_factor Flat_factor Đỉnh_đếm Bit_độ sâu

và cho Tổng thể: DC_offset Min_level Max_level Min_difference Max_difference Trung bình_chênh lệch Đỉnh_cấp RMS_cấp RMS_đỉnh RMS_trough Flat_factor Peak_count Số lượng_độ sâu bit_mẫu

Ví dụ: khóa đầy đủ trông giống như thế này "lavfi.astats.1.DC_offset" hoặc thế này "lavfi.astats.Oosystem.Peak_count".

Để biết mô tả ý nghĩa của từng phím, hãy đọc bên dưới.

thiết lập lại Đặt số lượng khung hình mà sau đó số liệu thống kê sẽ được tính toán lại. Mặc định là tàn tật.

Mô tả của từng tham số được hiển thị như sau:

DC bù đắp Biên độ dịch chuyển trung bình từ không.

min cấp Mức mẫu tối thiểu.

Max cấp Mức mẫu tối đa.

min sự khác biệt Chênh lệch tối thiểu giữa hai mẫu liên tiếp.

Max sự khác biệt Chênh lệch tối đa giữa hai mẫu liên tiếp.

Nghĩa là sự khác biệt Sự khác biệt trung bình giữa hai mẫu liên tiếp. Trung bình của mỗi sự khác biệt giữa hai mẫu liên tiếp.

Đỉnh cấp dB RMS cấp dB Mức đỉnh và RMS tiêu chuẩn được đo bằng dBFS.

RMS đỉnh dB RMS máng dB Giá trị đỉnh và giá trị đáy cho mức RMS được đo qua một cửa sổ ngắn.

huy chương yếu tố Tỷ lệ tiêu chuẩn của mức đỉnh so với mức RMS (lưu ý: không tính bằng dB).

Bằng phẳng yếu tố Độ phẳng (tức là các mẫu liên tiếp có cùng giá trị) của tín hiệu tại đỉnh của nó cấp độ (tức là một trong hai

min cấp

or

Max cấp

).

Đỉnh tính Số lần (không phải số mẫu) mà tín hiệu đạt được

min cấp

or

Max cấp

.

Một chút chiều sâu Độ sâu bit tổng thể của âm thanh. Số lượng bit được sử dụng cho mỗi mẫu.

astreamsync Chuyển tiếp hai luồng âm thanh và kiểm soát thứ tự các bộ đệm được chuyển tiếp.

Bộ lọc chấp nhận các tùy chọn sau:

kinh nghiệm, e Đặt biểu thức quyết định luồng nào sẽ được chuyển tiếp tiếp theo: nếu kết quả là âm, luồng đầu tiên được chuyển tiếp; nếu kết quả là dương hoặc không, thứ hai luồng được chuyển tiếp. Nó có thể sử dụng các biến sau:

b1 b2

số lượng bộ đệm được chuyển tiếp cho đến nay trên mỗi luồng

s1 s2

số lượng mẫu được chuyển tiếp cho đến nay trên mỗi luồng

t1 t2

dấu thời gian hiện tại của mỗi luồng

Giá trị mặc định là "t1-t2", có nghĩa là luôn chuyển tiếp luồng có dấu thời gian nhỏ hơn.

Các ví dụ

Kiểm tra căng thẳng "amerge" bằng cách gửi ngẫu nhiên bộ đệm trên đầu vào sai, đồng thời tránh nhiều của một quá trình giải đồng bộ hóa:

amovie = file.ogg [a]; amovie = file.mp3 [b]; [a] [b] astreamsync = (2 *ngẫu nhiên(1))-1+tanh(5*(t1-t2)) [a2] [b2] ; [a2] [b2] tình yêu

không đồng bộ Đồng bộ hóa dữ liệu âm thanh với dấu thời gian bằng cách bóp / kéo dài nó và / hoặc thả mẫu / thêm khoảng lặng khi cần thiết.

Bộ lọc này không được tạo theo mặc định, vui lòng sử dụng là mẫu để thực hiện ép / duỗi.

Nó chấp nhận các tham số sau:

đền bù Cho phép kéo dài / ép dữ liệu để làm cho dữ liệu khớp với dấu thời gian. Bị vô hiệu hóa bởi vỡ nợ. Khi bị vô hiệu hóa, khoảng cách thời gian được bao phủ bởi sự im lặng.

min_delta Chênh lệch tối thiểu giữa dấu thời gian và dữ liệu âm thanh (tính bằng giây) để kích hoạt thêm / bớt mẫu. Giá trị mặc định là 0.1. Nếu bạn nhận được một bản đồng bộ không hoàn hảo với bộ lọc này, hãy thử đặt thông số này thành 0.

max_comp Mức bù tối đa tính bằng mẫu mỗi giây. Chỉ có liên quan với phần bù = 1. Các giá trị mặc định là 500.

điểm đầu tiên Giả sử rằng PTS đầu tiên phải là giá trị này. Cơ sở thời gian là 1 / tỷ lệ mẫu. Cái này cho phép đệm / cắt khi bắt đầu luồng. Theo mặc định, không có giả định nào là được thực hiện về PTS dự kiến ​​của khung hình đầu tiên, vì vậy không có phần đệm hoặc cắt tỉa nào được thực hiện. Vì ví dụ, điều này có thể được đặt thành 0 để mở đầu bằng dấu lặng nếu một luồng âm thanh bắt đầu sau luồng video hoặc để cắt bất kỳ mẫu nào có PTS tiêu cực do bộ mã hóa chậm trễ.

nhịp điệu Điều chỉnh nhịp độ âm thanh.

Bộ lọc chấp nhận chính xác một tham số, nhịp độ âm thanh. Nếu không được chỉ định thì bộ lọc sẽ giả định nhịp độ 1.0 danh nghĩa. Tốc độ phải nằm trong phạm vi [0.5, 2.0].

Các ví dụ

· Giảm tốc độ âm thanh xuống 80%:

atempo = 0.8

· Để tăng tốc độ âm thanh lên 125% nhịp độ:

atempo = 1.25

tâm nhĩ Cắt đầu vào để đầu ra chứa một phần con liên tục của đầu vào.

Nó chấp nhận các tham số sau:

Bắt đầu Dấu thời gian (tính bằng giây) của phần bắt đầu phần cần lưu giữ. Tức là mẫu âm thanh với dấu thời gian

Bắt đầu

sẽ là mẫu đầu tiên trong đầu ra.

cuối Chỉ định thời gian của mẫu âm thanh đầu tiên sẽ bị loại bỏ, tức là mẫu âm thanh ngay trước cái có dấu thời gian

cuối

sẽ là mẫu cuối cùng trong đầu ra.

điểm bắt đầu Giống như

Bắt đầu

, ngoại trừ tùy chọn này đặt dấu thời gian bắt đầu trong các mẫu thay vì giây.

end_pts Giống như

cuối

, ngoại trừ tùy chọn này đặt dấu thời gian kết thúc ở dạng mẫu thay vì giây.

thời gian Thời lượng tối đa của đầu ra tính bằng giây.

mẫu_bắt đầu Số lượng mẫu đầu tiên sẽ được xuất ra.

mẫu_cuối Số lượng mẫu đầu tiên cần được loại bỏ.

Bắt đầu, cuốivà thời gian được thể hiện dưới dạng thông số kỹ thuật về khoảng thời gian; Thấy chưa các Thời gian thời gian phần in các

ffmpeg-utils

(1) nhãn hiệu.

Lưu ý rằng hai tập hợp đầu tiên của các tùy chọn bắt đầu / kết thúc và thời gian tùy chọn nhìn vào dấu thời gian khung, trong khi tùy chọn _sample chỉ đếm các mẫu đi qua lọc. Vì vậy, start / end_pts và start / end_sample sẽ cho các kết quả khác nhau khi dấu thời gian sai, không chính xác hoặc không bắt đầu từ XNUMX. Cũng lưu ý rằng bộ lọc này không sửa đổi dấu thời gian. Nếu bạn muốn có dấu thời gian đầu ra bắt đầu từ XNUMX, hãy chèn bộ lọc asetpts sau bộ lọc atrim.

Nếu nhiều tùy chọn bắt đầu hoặc kết thúc được đặt, bộ lọc này sẽ cố gắng tham lam và giữ tất cả mẫu phù hợp với ít nhất một trong các ràng buộc được chỉ định. Để chỉ giữ lại phần khớp với tất cả các ràng buộc cùng một lúc, chuỗi nhiều bộ lọc tạm thời.

Các giá trị mặc định được giữ nguyên. Vì vậy, có thể đặt ví dụ: chỉ giá trị kết thúc để giữ mọi thứ trước thời gian quy định.

Ví dụ:

· Bỏ tất cả mọi thứ ngoại trừ phút thứ hai của đầu vào:

ffmpeg -i INPUT -af atrim = 60: 120

· Chỉ giữ lại 1000 mẫu đầu tiên:

ffmpeg -i INPUT -af atrim = end_sample = 1000

dải thông Áp dụng bộ lọc thông dải Butterworth hai cực với tần số trung tâm

tần số

và (3dB-point) chiều rộng dải tần. Các

Csg

tùy chọn chọn mức tăng váy không đổi (mức tăng tối đa =

  1. thay vì mặc định: độ lợi đỉnh 0dB không đổi. Bộ lọc cuộn tắt ở 6dB mỗi quãng tám (20dB mỗi thập kỷ).

Bộ lọc chấp nhận các tùy chọn sau:

tần số, f Đặt tần số trung tâm của bộ lọc. Mặc định là 3000.

Csg Tăng váy không đổi nếu được đặt thành 1. Giá trị mặc định là 0.

chiều rộng_type Đặt phương thức để chỉ định độ rộng băng tần của bộ lọc.

h Hz

q Hệ số Q

o bát cú

s độ dốc

chiều rộng, w Chỉ định độ rộng băng tần của bộ lọc theo đơn vị width_type.

ban nhạc Áp dụng bộ lọc loại bỏ băng tần Butterworth hai cực với tần số trung tâm

tần số

và (3dB-point) dải rộng

chiều rộng

. Bộ lọc hoạt động ở mức 6dB mỗi quãng tám (20dB mỗi thập kỷ).

Bộ lọc chấp nhận các tùy chọn sau:

tần số, f Đặt tần số trung tâm của bộ lọc. Mặc định là 3000.

chiều rộng_type Đặt phương thức để chỉ định độ rộng băng tần của bộ lọc.

h Hz

q Hệ số Q

o bát cú

s độ dốc

chiều rộng, w Chỉ định độ rộng băng tần của bộ lọc theo đơn vị width_type.

âm bass Tăng hoặc cắt tần số âm trầm (thấp hơn) của âm thanh bằng cách sử dụng bộ lọc giá đỡ hai cực với phản hồi tương tự như phản hồi của điều khiển âm sắc hi-fi tiêu chuẩn. Điều này còn được gọi là cân bằng giá đỡ (EQ).

Bộ lọc chấp nhận các tùy chọn sau:

đạt được, g Cho mức tăng ở 0 Hz. Phạm vi hữu ích của nó là khoảng -20 (đối với vết cắt lớn) đến +20 (đối với tăng lớn). Cẩn thận với việc cắt bớt khi sử dụng mức tăng tích cực.

tần số, f Đặt tần số trung tâm của bộ lọc và do đó, có thể được sử dụng để mở rộng hoặc giảm dải tần số được tăng cường hoặc cắt giảm. Giá trị mặc định là 100 Hz.

chiều rộng_type Đặt phương thức để chỉ định độ rộng băng tần của bộ lọc.

h Hz

q Hệ số Q

o bát cú

s độ dốc

chiều rộng, w Xác định độ dốc của quá trình chuyển đổi kệ của bộ lọc.

song mã Áp dụng bộ lọc IIR biquad với các hệ số đã cho. Ở đâu

b0

,

b1

,

b2

a0

,

a1

,

a2

lần lượt là hệ số tử số và mẫu số.

bs2b Chuyển đổi âm thanh nổi Bauer sang hai tai, giúp cải thiện khả năng nghe âm thanh nổi của tai nghe bản ghi âm.

Nó chấp nhận các tham số sau:

Hồ sơ Mức giao thoa được xác định trước.

mặc định Mức mặc định (fcut = 700, feed = 50).

con chó Mạch Chu Moy (fcut = 700, feed = 60).

jmeier Mạch Jan Meier (fcut = 650, feed = 95).

cắt xén Tần số cắt (tính bằng Hz).

nuôi Mức cấp dữ liệu (tính bằng Hz).

sơ đồ kênh Remap các kênh đầu vào sang vị trí mới.

Nó chấp nhận các tham số sau:

kênh_layout Bố cục kênh của luồng đầu ra.

bản đồ Ánh xạ các kênh từ đầu vào đến đầu ra. Đối số là một danh sách ánh xạ được phân tách bằng '|', mỗi người trong "

in_channel-out_channel "

or

trong_kênh

hình thức.

trong_kênh

có thể là tên của kênh đầu vào (ví dụ: FL ở phía trước bên trái) hoặc chỉ số của nó trong kênh đầu vào bố trí.

kênh ngoài

là tên của kênh đầu ra hoặc chỉ số của nó trong đầu ra bố cục kênh. Nếu như

kênh ngoài

không được đưa ra thì nó hoàn toàn là một chỉ mục, bắt đầu bằng XNUMX và tăng một cho mỗi ánh xạ.

Nếu không có ánh xạ nào, bộ lọc sẽ ánh xạ ngầm các kênh đầu vào đến đầu ra các kênh, bảo toàn các chỉ số.

Ví dụ: giả sử tệp MOV đầu vào 5.1 + downmix,

ffmpeg -i in.mov -filter 'channelmap = map = DL-FL | DR-FR' out.wav

sẽ tạo một tệp WAV đầu ra được gắn thẻ là âm thanh nổi từ các kênh downmix của đầu vào.

Để khắc phục một 5.1 WAV được mã hóa không đúng theo thứ tự kênh gốc của AAC

ffmpeg -i in.wav -filter 'channelmap = 1 | 2 | 0 | 5 | 3 | 4: 5.1' out.wav

tách kênh Tách mỗi kênh từ luồng âm thanh đầu vào thành một luồng đầu ra riêng biệt.

Nó chấp nhận các tham số sau:

kênh_layout Bố cục kênh của luồng đầu vào. Mặc định là "âm thanh nổi".

Ví dụ: giả sử một tệp MP3 đầu vào âm thanh nổi,

ffmpeg -i in.mp3 -filter_complex channelplit out.mkv

sẽ tạo một tệp Matroska đầu ra với hai luồng âm thanh, một luồng chỉ chứa bên trái kênh khác và kênh bên phải.

Tách tệp WAV 5.1 thành các tệp trên mỗi kênh:

ffmpeg -i in.wav -filter_complex 'channelsplit = channel_layout = 5.1 [FL] [FR] [FC] [LFE] [SL] [SR]' -map '[FL]' front_left.wav -map '[FR]' front_right.wav -map '[FC]' front_center.wav -map '[LFE]' lfe.wav -map '[SL]' side_left.wav -map '[SR]' side_right.wav

Điệp khúc Thêm hiệu ứng điệp khúc vào âm thanh.

Có thể tạo ra âm thanh đơn lẻ giống như một đoạn điệp khúc, nhưng cũng có thể được áp dụng cho nhạc cụ.

Chorus giống hiệu ứng tiếng vang với độ trễ ngắn, nhưng ngược lại với tiếng vang, độ trễ là không đổi, với điệp khúc, nó rất đa dạng bằng cách sử dụng điều chế hình sin hoặc tam giác. Các độ sâu điều chế xác định phạm vi độ trễ điều chế được phát trước hoặc sau trì hoãn. Do đó âm thanh bị trễ sẽ nghe chậm hơn hoặc nhanh hơn, đó là âm thanh bị trễ được điều chỉnh xung quanh bản gốc, giống như trong một đoạn điệp khúc trong đó một số giọng hát hơi lạc giọng.

Nó chấp nhận các tham số sau:

in_gain Đặt mức tăng đầu vào. Mặc định là 0.4.

out_gain Đặt mức tăng đầu ra. Mặc định là 0.4.

sự chậm trễ Đặt độ trễ. Độ trễ điển hình là khoảng 40ms đến 60ms.

sự thối rữa Đặt phân rã.

tốc độ Đặt tốc độ.

độ sâu Đặt độ sâu.

Các ví dụ

· Một sự chậm trễ duy nhất:

chorus=0.7:0.9:55:0.4:0.25:2

· Hai sự chậm trễ:

chorus=0.6:0.9:50|60:0.4|0.32:0.25|0.4:2|1.3

· Hợp xướng âm thanh đầy đủ hơn với ba độ trễ:

chorus=0.5:0.9:50|60|40:0.4|0.32|0.3:0.25|0.4|0.3:2|2.3|1.3

biên dịch Nén hoặc mở rộng dải động của âm thanh.

Nó chấp nhận các tham số sau:

các cuộc tấn công sự thối rữa Danh sách thời gian tính bằng giây cho mỗi kênh trong đó mức tức thời của tín hiệu đầu vào được tính trung bình để xác định âm lượng của nó.

các cuộc tấn công

đề cập đến sự gia tăng khối lượng và

sự thối rữa

đề cập đến việc giảm khối lượng. Đối với hầu hết các tình huống, thời gian tấn công (phản hồi khi âm thanh to hơn) phải ngắn hơn thời gian giảm dần, bởi vì Tai người nhạy cảm hơn với âm thanh lớn đột ngột hơn là âm thanh nhỏ đột ngột. Khác biệt giá trị cho đòn tấn công là 0.3 giây và giá trị tiêu biểu cho mục tiêu phân rã là 0.8 giây. Nếu như số lần tấn công & phân rã được chỉ định thấp hơn số kênh, nhóm cuối cùng tấn công / phân rã sẽ được sử dụng cho tất cả các kênh còn lại.

điểm Danh sách các điểm cho chức năng truyền, được chỉ định bằng dB so với mức tối đa biên độ tín hiệu có thể. Mỗi danh sách điểm chính phải được xác định bằng cách sử dụng sau cú pháp: "x0 / y0 | x1 / y1 | x2 / y2 | ...." hoặc "x0 / y0 x1 / y1 x2 / y2 ...."

Các giá trị đầu vào phải theo thứ tự tăng dần nhưng hàm truyền không phải tăng đơn điệu. Điểm "0/0" được giả định nhưng có thể bị ghi đè (bởi "0 / out-dBn"). Các giá trị điển hình cho hàm truyền là "-70 / -70 | -60 / -20".

đầu gối mềm Đặt bán kính đường cong tính bằng dB cho tất cả các khớp. Nó mặc định là 0.01.

thu được Đặt mức tăng thêm tính bằng dB sẽ được áp dụng tại tất cả các điểm trên chức năng truyền. Điều này cho phép dễ dàng điều chỉnh mức tăng tổng thể. Nó mặc định là 0.

khối lượng Đặt âm lượng ban đầu, tính bằng dB, được giả định cho mỗi kênh khi bắt đầu lọc. Điều này cho phép người dùng cung cấp mức danh nghĩa ban đầu, vì vậy, ví dụ: độ lợi rất lớn không được áp dụng cho các mức tín hiệu ban đầu trước khi quá trình biên dịch có bắt đầu hoạt động. Giá trị điển hình cho âm thanh ban đầu yên tĩnh là -90 dB. Nó mặc định là 0.

chậm trễ Đặt thời gian trễ, tính bằng giây. Âm thanh đầu vào được phân tích ngay lập tức, nhưng âm thanh bị trễ trước khi được đưa vào bộ điều chỉnh âm lượng. Chỉ định độ trễ xấp xỉ bằng thời gian tấn công / phân rã cho phép bộ lọc hoạt động hiệu quả trong dự đoán thay vì chế độ phản ứng. Nó mặc định là 0.

Các ví dụ

· Tạo ra âm nhạc với cả những đoạn yên tĩnh và ồn ào, phù hợp để nghe ở nơi ồn ào Môi trường:

compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2

Một ví dụ khác cho âm thanh có phần thì thầm và tiếng nổ:

compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0

· Một cổng chống ồn khi tiếng ồn ở mức thấp hơn tín hiệu:

compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1

· Đây là một cổng tiếng ồn khác, lần này là khi tiếng ồn ở mức cao hơn signal (làm cho nó, theo một số cách, tương tự như squelch):

compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1

dịch chuyển dc Áp dụng sự thay đổi DC cho âm thanh.

Điều này có thể hữu ích để loại bỏ độ lệch DC (có thể do sự cố phần cứng gây ra trong chuỗi ghi âm) từ âm thanh. Ảnh hưởng của độ lệch DC làm giảm khoảng không và do đó âm lượng. Các số liệu thống kê bộ lọc có thể được sử dụng để xác định xem tín hiệu có bù DC hay không.

thay đổi Đặt dịch chuyển DC, phạm vi cho phép là [-1, 1]. Nó cho biết số tiền để thay đổi Âm thanh.

giới hạn Không bắt buộc. Nó phải có giá trị nhỏ hơn 1 (ví dụ: 0.05 hoặc 0.02) và được sử dụng để ngăn chặn sự cắt xén.

động lực học Bộ chuẩn hóa âm thanh động.

Bộ lọc này áp dụng một lượng khuếch đại nhất định cho âm thanh đầu vào để mang lại âm thanh đỉnh cao độ lớn đến mức mục tiêu (ví dụ: 0 dBFS). Tuy nhiên, ngược lại với "đơn giản" hơn thuật toán chuẩn hóa, Bộ chuẩn hóa âm thanh động * động * điều chỉnh lại mức tăng yếu tố ảnh hưởng đến âm thanh đầu vào. Điều này cho phép áp dụng mức tăng thêm cho các phần "yên tĩnh" của âm thanh trong khi tránh bị bóp méo hoặc cắt bớt các phần "lớn". Nói cách khác: Bộ chuẩn hóa âm thanh động sẽ "tăng đều" âm lượng của các phần yên tĩnh và ồn ào, trong cảm giác rằng khối lượng của mỗi phần được đưa đến cùng một mức mục tiêu. Lưu ý, tuy nhiên, rằng Bộ chuẩn hóa âm thanh động đạt được mục tiêu này * mà không * áp dụng "dải động đang nén ". Nó sẽ giữ lại 100% dải động * trong * mỗi phần của âm thanh tập tin.

f Đặt độ dài khung hình tính bằng mili giây. Trong phạm vi từ 10 đến 8000 mili giây. Vỡ nợ là 500 mili giây. Bộ chuẩn hóa âm thanh động xử lý âm thanh đầu vào ở mức nhỏ khối, được gọi là khung. Điều này là bắt buộc, bởi vì cường độ cực đại không có nghĩa là chỉ cho một giá trị mẫu duy nhất. Thay vào đó, chúng ta cần xác định đỉnh độ lớn của một chuỗi giá trị mẫu liền nhau. Trong khi một bộ chuẩn hóa "tiêu chuẩn" chỉ cần sử dụng cường độ cao nhất của tệp hoàn chỉnh, Bộ chuẩn hóa âm thanh động xác định độ lớn đỉnh riêng lẻ cho từng khung hình. Chiều dài của khung là được chỉ định bằng mili giây. Theo mặc định, Bộ chuẩn hóa âm thanh động sử dụng khung độ dài 500 mili giây, được cho là cho kết quả tốt với hầu hết các tệp. Lưu ý rằng độ dài khung chính xác, theo số lượng mẫu, sẽ được xác định tự động, dựa trên tốc độ lấy mẫu của từng tệp âm thanh đầu vào.

g Đặt kích thước cửa sổ bộ lọc Gaussian. Trong phạm vi từ 3 đến 301, phải là số lẻ. Mặc định là 31. Có lẽ là thông số quan trọng nhất của Bộ chuẩn hóa âm thanh động là "kích thước cửa sổ" của bộ lọc làm mịn Gaussian. Kích thước cửa sổ của bộ lọc là được chỉ định trong khung, căn giữa xung quanh khung hiện tại. Vì đơn giản, đây phải là một số lẻ. Do đó, giá trị mặc định là 31 sẽ tính đến khung hiện tại, cũng như 15 khung trước và 15 khung tiếp theo. Sử dụng một cửa sổ lớn hơn dẫn đến hiệu ứng làm mịn mạnh hơn và do đó thu được ít hơn biến thể, tức là thích ứng độ lợi chậm hơn. Ngược lại, sử dụng cửa sổ nhỏ hơn dẫn đến một hiệu ứng làm mịn yếu hơn và do đó trong biến thể tăng ích nhiều hơn, tức là tăng nhanh hơn sự thích nghi. Nói cách khác, bạn càng tăng giá trị này, thì động Audio Normalizer sẽ hoạt động giống như một bộ lọc chuẩn hóa "truyền thống". Trên ngược lại, bạn càng giảm giá trị này, Bộ chuẩn hóa âm thanh động càng hoạt động như một máy nén dải động.

p Đặt giá trị đỉnh mục tiêu. Điều này chỉ định mức cường độ cho phép cao nhất đối với đầu vào âm thanh chuẩn hóa. Bộ lọc này sẽ cố gắng tiếp cận độ lớn đỉnh mục tiêu càng chặt chẽ càng tốt, nhưng đồng thời nó cũng đảm bảo rằng tín hiệu sẽ không bao giờ vượt quá cường độ đỉnh. Hệ số khuếch đại cục bộ tối đa của khung là được áp đặt trực tiếp bởi độ lớn đỉnh mục tiêu. Giá trị mặc định là 0.95 và do đó để lại khoảng không 5% *. Nó không được khuyến khích để vượt quá giá trị này.

m Đặt hệ số khuếch đại tối đa. Trong phạm vi từ 1.0 đến 100.0. Mặc định là 10.0. Năng động Bộ chuẩn hóa âm thanh xác định hệ số khuếch đại (cục bộ) tối đa có thể cho mỗi đầu vào khung, nghĩa là hệ số khuếch đại tối đa không dẫn đến cắt hoặc biến dạng. Hệ số khuếch đại tối đa được xác định bởi mẫu có độ lớn cao nhất của khung. Tuy nhiên, Bộ chuẩn hóa âm thanh động cũng giới hạn mức tăng tối đa của khung hệ số khuếch đại tối đa (toàn cục) xác định trước. Điều này được thực hiện để tránh hệ số khuếch đại quá mức trong các khung hình "im lặng" hoặc gần như im lặng. Theo mặc định, mức tối đa hệ số khuếch đại là 10.0, Đối với hầu hết các đầu vào, giá trị mặc định phải đủ và nó thường không được khuyến khích để tăng giá trị này. Mặc dù vậy, đối với đầu vào với cực kỳ mức âm lượng tổng thể thấp, có thể cần cho phép hệ số khuếch đại cao hơn nữa. Ghi chú, tuy nhiên, Bộ chuẩn hóa âm thanh động không chỉ áp dụng ngưỡng "cứng" (tức là cắt bỏ các giá trị trên ngưỡng). Thay vào đó, hàm ngưỡng "sigmoid" sẽ được áp dụng. Bằng cách này, các hệ số khuếch đại sẽ tiếp cận dễ dàng ngưỡng giá trị, nhưng không bao giờ vượt quá giá trị đó.

r Đặt RMS mục tiêu. Trong phạm vi từ 0.0 đến 1.0. Mặc định là 0.0 - bị vô hiệu hóa. Theo mặc định, Bộ chuẩn hóa âm thanh động thực hiện chuẩn hóa "đỉnh". Điều này có nghĩa là hệ số khuếch đại cục bộ tối đa cho mỗi khung được xác định (chỉ) bằng mức cao nhất của khung độ lớn mẫu. Bằng cách này, các mẫu có thể được khuếch đại nhiều nhất có thể mà không vượt quá mức tín hiệu tối đa, tức là không bị cắt. Tuy nhiên, theo tùy chọn, Dynamic Audio Normalizer cũng có thể tính đến bình phương trung bình gốc của khung, viết tắt RMS. Trong kỹ thuật điện, RMS thường được sử dụng để xác định công suất của tín hiệu thay đổi theo thời gian. Do đó, người ta coi RMS là một xấp xỉ "độ lớn cảm nhận được" thay vì chỉ nhìn vào mức cao nhất của tín hiệu kích cỡ. Do đó, bằng cách điều chỉnh tất cả các khung thành giá trị RMS không đổi, đồng nhất "độ lớn cảm nhận được" có thể được thiết lập. Nếu giá trị RMS mục tiêu đã được chỉ định, hệ số khuếch đại cục bộ của khung được định nghĩa là yếu tố sẽ dẫn đến chính xác Giá trị RMS. Tuy nhiên, lưu ý rằng hệ số khuếch đại cục bộ tối đa vẫn bị hạn chế bởi mẫu có độ lớn cao nhất của khung, để tránh cắt.

n Bật khớp nối các kênh. Theo mặc định được bật. Theo mặc định, Âm thanh động Bộ chuẩn hóa sẽ khuếch đại tất cả các kênh với cùng một lượng. Điều này có nghĩa là cùng một mức lợi hệ số sẽ được áp dụng cho tất cả các kênh, tức là hệ số khuếch đại tối đa có thể là được xác định bởi kênh "ồn ào nhất". Tuy nhiên, trong một số bản ghi, nó có thể xảy ra âm lượng của các kênh khác nhau không đồng đều, ví dụ: một kênh có thể "yên tĩnh" hơn (các) cái còn lại. Trong trường hợp này, tùy chọn này có thể được sử dụng để tắt kênh khớp nối. Bằng cách này, hệ số khuếch đại sẽ được xác định độc lập cho mỗi kênh, chỉ phụ thuộc vào mẫu cường độ cao nhất của kênh riêng lẻ. Điều này cho phép hài hòa âm lượng của các kênh khác nhau.

c Bật sửa sai lệch DC. Theo mặc định bị tắt. Một tín hiệu âm thanh (trong thời gian miền) là một chuỗi các giá trị mẫu. Trong Bộ chuẩn hóa âm thanh động, các mẫu này các giá trị được thể hiện trong phạm vi -1.0 đến 1.0, bất kể đầu vào ban đầu là gì định dạng. Thông thường, tín hiệu âm thanh, hoặc "dạng sóng", phải được tập trung xung quanh số XNUMX chỉ trỏ. Điều đó có nghĩa là nếu chúng tôi tính toán giá trị trung bình của tất cả các mẫu trong một tệp hoặc trong một khung đơn, thì kết quả phải là 0.0 hoặc ít nhất là rất gần với giá trị đó. Nếu như, tuy nhiên, có một độ lệch đáng kể của giá trị trung bình từ 0.0, ở một trong hai hướng dương hoặc âm, đây được gọi là độ lệch DC hoặc độ lệch DC. Từ một Thiên vị DC rõ ràng là không mong muốn, Bộ chuẩn hóa âm thanh động cung cấp thiên vị DC tùy chọn điều chỉnh. Với tính năng sửa sai lệch DC được bật, Bộ chuẩn hóa âm thanh động sẽ xác định giá trị trung bình, hoặc độ lệch "hiệu chỉnh DC", của mỗi khung đầu vào và trừ đi giá trị đó từ tất cả các giá trị mẫu của khung đảm bảo các mẫu đó lại tập trung vào khoảng 0.0. Ngoài ra, để tránh "khoảng trống" ở ranh giới khung, Các giá trị bù hiệu chỉnh DC sẽ được nội suy mượt mà giữa các khung lân cận.

b Bật chế độ ranh giới thay thế. Theo mặc định bị tắt. Âm thanh động Bộ chuẩn hóa tính đến một vùng lân cận nhất định xung quanh mỗi khung hình. Điêu nay bao gôm các khung trước cũng như các khung tiếp theo. Tuy nhiên, đối với "ranh giới" khung, nằm ở đầu và cuối tệp âm thanh, không phải tất cả khung lân cận có sẵn. Đặc biệt, đối với một số khung hình đầu tiên trong tập tin âm thanh, các khung trước đó không được biết. Và, tương tự, đối với một số các khung trong tệp âm thanh, các khung tiếp theo không được biết đến. Do đó, câu hỏi phát sinh hệ số khuếch đại nào nên được giả định cho các khung bị thiếu trong "ranh giới" khu vực. Bộ chuẩn hóa âm thanh động thực hiện hai chế độ để giải quyết tình huống này. Chế độ ranh giới mặc định giả định hệ số khuếch đại chính xác là 1.0 cho các khung hình bị thiếu, dẫn đến sự "mờ dần trong" và "mờ dần" ở đầu và cuối đầu vào, tương ứng.

s Đặt hệ số nén. Trong phạm vi từ 0.0 đến 30.0. Mặc định là 0.0. Theo mặc định, Dynamic Audio Normalizer không áp dụng kiểu nén "truyền thống". Điều này có nghĩa rằng các đỉnh tín hiệu sẽ không bị cắt bớt và do đó toàn bộ dải động sẽ được giữ lại trong mỗi vùng lân cận địa phương. Tuy nhiên, trong một số trường hợp, có thể mong muốn kết hợp thuật toán chuẩn hóa Dynamic Audio Normalizer với "truyền thống" hơn nén. Với mục đích này, Bộ chuẩn hóa âm thanh động cung cấp tùy chọn chức năng nén (tạo ngưỡng). Nếu (và chỉ khi) tính năng nén là được bật, tất cả các khung đầu vào sẽ được xử lý bởi chức năng ngưỡng đầu gối mềm trước đó đến quá trình chuẩn hóa thực tế. Nói một cách đơn giản, chức năng ngưỡng sẽ cắt bỏ tất cả các mẫu có độ lớn vượt quá một giá trị ngưỡng nhất định. Tuy nhiên, Dynamic Audio Normalizer không chỉ áp dụng một giá trị ngưỡng cố định. Thay vào đó, giá trị ngưỡng sẽ được điều chỉnh cho từng khung riêng lẻ. Nói chung, nhỏ hơn các tham số dẫn đến nén mạnh hơn và ngược lại. Giá trị dưới 3.0 không được khuyến nghị, vì có thể xuất hiện hiện tượng méo âm thanh.

ráy tai Giúp âm thanh dễ nghe hơn trên tai nghe.

Bộ lọc này thêm `` tín hiệu '' vào âm thanh nổi 44.1kHz (tức là định dạng CD âm thanh) để khi nghe trên tai nghe, hình ảnh âm thanh nổi sẽ được di chuyển từ bên trong đầu bạn (tiêu chuẩn cho tai nghe) ra bên ngoài và trước mặt người nghe (tiêu chuẩn cho loa).

Được chuyển từ SoX.

equalizer Áp dụng bộ lọc cân bằng đỉnh hai cực (EQ). Với bộ lọc này, mức tín hiệu ở và xung quanh một tần số đã chọn có thể được tăng hoặc giảm, trong khi (không giống như dải thông và bộ lọc băng tần) mà ở tất cả các tần số khác là không thay đổi.

Để tạo ra các đường cong cân bằng phức tạp, bộ lọc này có thể được cung cấp nhiều lần, mỗi tần số trung tâm khác nhau.

Bộ lọc chấp nhận các tùy chọn sau:

tần số, f Đặt tần số trung tâm của bộ lọc bằng Hz.

chiều rộng_type Đặt phương thức để chỉ định độ rộng băng tần của bộ lọc.

h Hz

q Hệ số Q

o bát cú

s độ dốc

chiều rộng, w Chỉ định độ rộng băng tần của bộ lọc theo đơn vị width_type.

đạt được, g Đặt mức tăng hoặc độ suy giảm cần thiết theo dB. Cẩn thận cắt bớt khi sử dụng dương bản đạt được.

Các ví dụ

· Giảm 10 dB ở tần số 1000 Hz, với băng thông 200 Hz:

bộ cân bằng = f = 1000: width_type = h: width = 200: g = -10

· Áp dụng mức tăng 2 dB ở 1000 Hz với Q 1 và giảm 5 dB ở 100 Hz với Q 2:

equalizer=f=1000:width_type=q:width=1:g=2,equalizer=f=100:width_type=q:width=2:g=-5

mặt bích Áp dụng hiệu ứng gấp mép cho âm thanh.

Bộ lọc chấp nhận các tùy chọn sau:

chậm trễ Đặt độ trễ cơ sở tính bằng mili giây. Phạm vi từ 0 đến 30. Giá trị mặc định là 0.

chiều sâu Đặt độ trễ swep đã thêm tính bằng mili giây. Phạm vi từ 0 đến 10. Giá trị mặc định là 2.

regen Đặt tỷ lệ phần trăm tái tạo (phản hồi tín hiệu bị trì hoãn). Phạm vi từ -95 đến 95. Mặc định giá trị là 0.

chiều rộng Đặt tỷ lệ phần trăm tín hiệu bị trễ trộn với tín hiệu gốc. Phạm vi từ 0 đến 100. Mặc định giá trị là 71.

tốc độ Đặt số lần quét trên giây (Hz). Phạm vi từ 0.1 đến 10. Giá trị mặc định là 0.5.

định hình Đặt hình dạng sóng quét, có thể được

hình tam giác

or

hình sin

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

hình sin

.

giai đoạn Đặt dịch chuyển phần trăm sóng quét cho đa kênh. Phạm vi từ 0 đến 100. Giá trị mặc định là 25.

xen vào Đặt nội suy đường trễ,

tuyến tính

or

bậc hai

. Mặc định là

tuyến tính

.

vượt qua cao Áp dụng bộ lọc thông cao với tần số điểm 3dB. Bộ lọc có thể là một cực, hoặc hai cực (mặc định). Bộ lọc cuộn ra ở 6dB mỗi cực mỗi quãng tám (20dB mỗi cực mỗi thập kỷ).

Bộ lọc chấp nhận các tùy chọn sau:

tần số, f Đặt tần số tính bằng Hz. Mặc định là 3000.

cực, p Đặt số lượng cực. Mặc định là 2.

chiều rộng_type Đặt phương thức để chỉ định độ rộng băng tần của bộ lọc.

h Hz

q Hệ số Q

o bát cú

s độ dốc

chiều rộng, w Chỉ định độ rộng băng tần của bộ lọc theo đơn vị width_type. Chỉ áp dụng cho hai cực lọc. Giá trị mặc định là 0.707q và đưa ra phản hồi Butterworth.

tham gia Kết hợp nhiều luồng đầu vào thành một luồng đa kênh.

Nó chấp nhận các tham số sau:

đầu vào Số lượng luồng đầu vào. Nó mặc định là 2.

kênh_layout Bố cục kênh đầu ra mong muốn. Nó mặc định là âm thanh nổi.

bản đồ Ánh xạ các kênh từ đầu vào đến đầu ra. Đối số là danh sách ánh xạ được phân tách bằng '|', mỗi người trong "

input_idx.in_channel-out_channel "

hình thức.

đầu vào_idx

là chỉ số dựa trên 0 của luồng đầu vào.

trong_kênh

có thể là tên của kênh đầu vào (ví dụ: FL cho phía trước bên trái) hoặc chỉ mục của nó trong luồng đầu vào được chỉ định.

kênh ngoài

là tên của kênh đầu ra.

Bộ lọc sẽ cố gắng đoán các ánh xạ khi chúng không được chỉ định rõ ràng. Nó làm như vậy bằng cách đầu tiên cố gắng tìm một kênh đầu vào phù hợp chưa được sử dụng và nếu điều đó không thành công thì chọn kênh đầu vào không sử dụng đầu tiên.

Kết hợp 3 đầu vào (với bố cục kênh được đặt đúng cách):

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex join = input = 3 OUTPUT

Xây dựng đầu ra 5.1 từ 6 luồng đơn kênh:

ffmpeg -i fl -i fr -i fc -i sl -i sr -i lfe -filter_complex 'join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-SL|4.0-SR|5.0-LFE' ra

muôi Tải plugin LADSPA (API trình cắm đơn giản của nhà phát triển âm thanh Linux).

Để kích hoạt biên dịch bộ lọc này, bạn cần cấu hình FFmpeg bằng "--enable-ladspa".

tập tin, f Chỉ định tên của thư viện plugin LADSPA để tải. Nếu biến môi trường LADSPA_PATH được định nghĩa, plugin LADSPA được tìm kiếm trong từng thư mục được chỉ định bởi danh sách được phân tách bằng dấu hai chấm trong LADSPA_PATH, nếu không thì trong LADSPA tiêu chuẩn đường dẫn, theo thứ tự này:

TRANG CHỦ / .ladspa / lib /

,

/ usr / local / lib / ladspa /

,

/ usr / lib / ladspa /

.

plugin, p Chỉ định plugin trong thư viện. Một số thư viện chỉ chứa một plugin, nhưng những người khác chứa nhiều người trong số họ. Nếu điều này không được thiết lập, bộ lọc sẽ liệt kê tất cả các plugin có sẵn trong thư viện được chỉ định.

điều khiển, c Đặt dấu '|' danh sách điều khiển được phân tách có giá trị bằng XNUMX hoặc nhiều dấu phẩy động xác định hành vi của plugin đã tải (ví dụ: độ trễ, ngưỡng hoặc thu được). Các điều khiển cần được xác định bằng cú pháp sau: c0 =

giá trị0

| c1 =

giá trị1

| c2 =

giá trị2

| ..., ở đâu

giá trị

là giá trị được đặt trên

i

-th kiểm soát. If điều khiển được đặt thành "trợ giúp", tất cả các điều khiển có sẵn và phạm vi hợp lệ của chúng là đã in.

tỷ lệ mẫu, s Chỉ định tỷ lệ mẫu, mặc định là 44100. Chỉ được sử dụng nếu plugin không có đầu vào.

nb_samples, n Đặt số lượng mẫu cho mỗi kênh trên mỗi khung đầu ra, mặc định là 1024. Chỉ được sử dụng nếu plugin không có đầu vào.

thời hạn, d Đặt thời lượng tối thiểu của âm thanh có nguồn gốc. Nhìn thấy các Thời gian thời gian phần in các

ffmpeg-utils

(1) nhãn hiệu cho cú pháp được chấp nhận. Lưu ý rằng thời lượng kết quả có thể lớn hơn thời lượng được chỉ định, vì âm thanh được tạo ra luôn bị cắt ở kết thúc của một khung hoàn chỉnh. Nếu không được chỉ định hoặc thời lượng được biểu thị là số âm, âm thanh được cho là sẽ được tạo ra mãi mãi. Chỉ được sử dụng nếu plugin không có đầu vào.

Các ví dụ

· Liệt kê tất cả các plugin có sẵn trong thư viện amp (plugin ví dụ LADSPA):

ladspa = file = amp

· Liệt kê tất cả các điều khiển có sẵn và phạm vi hợp lệ của chúng cho plugin "vcf_notch" từ "VCF" thư viện:

ladspa = f = vcf: p = vcf_notch: c = help

· Mô phỏng thiết bị âm thanh chất lượng thấp bằng plugin "Bộ công cụ âm nhạc máy tính" (CMT) thư viện:

ladspa=file=cmt:plugin=lofi:controls=c0=22|c1=12|c2=12

· Thêm độ vang cho âm thanh bằng TAP-plugins (các plugin Xử lý âm thanh của Tom):

ladspa = file = tap_reverb: tap_reverb

· Tạo ra tiếng ồn trắng, với biên độ 0.2:

ladspa = file = cmt: noise_source_white: c = c0 = .2

· Tạo 20 bpm nhấp chuột bằng cách sử dụng plugin "C * Click - Metronome" từ "C * Audio Plugin Thư viện Suite "(CAPS):

ladspa = file = caps: Bấm: c = c1 = 20 '

· Áp dụng hiệu ứng "C * Eq10X2 - Bộ cân bằng âm thanh nổi 10 băng tần":

ladspa=caps:Eq10X2:c=c0=-48|c9=-24|c3=12|c4=2

Lệnh

Bộ lọc này hỗ trợ các lệnh sau:

cN Sửa đổi

N

-giá trị điều khiển thứ.

Nếu giá trị đã chỉ định không hợp lệ, nó sẽ bị bỏ qua và giá trị trước đó sẽ được giữ lại.

tầm thấp Áp dụng bộ lọc thông thấp với tần số điểm 3dB. Bộ lọc có thể là một cực hoặc hai cực (mặc định). Bộ lọc cuộn tắt ở 6dB mỗi cực mỗi quãng tám (20dB mỗi cực mỗi thập kỷ).

Bộ lọc chấp nhận các tùy chọn sau:

tần số, f Đặt tần số tính bằng Hz. Mặc định là 500.

cực, p Đặt số lượng cực. Mặc định là 2.

chiều rộng_type Đặt phương thức để chỉ định độ rộng băng tần của bộ lọc.

h Hz

q Hệ số Q

o bát cú

s độ dốc

chiều rộng, w Chỉ định độ rộng băng tần của bộ lọc theo đơn vị width_type. Chỉ áp dụng cho hai cực lọc. Giá trị mặc định là 0.707q và đưa ra phản hồi Butterworth.

pan Trộn các kênh với mức tăng cụ thể. Bộ lọc chấp nhận bố cục kênh đầu ra theo sau là một tập hợp các định nghĩa kênh.

Bộ lọc này cũng được thiết kế để ánh xạ lại các kênh của luồng âm thanh một cách hiệu quả.

Bộ lọc chấp nhận các tham số của biểu mẫu: "

l

|

vượt trội

|

vượt trội

| ... "

l bố cục kênh đầu ra hoặc số lượng kênh

vượt trội đặc điểm kỹ thuật kênh đầu ra, có dạng: "

out_name

\=[

thu được

*]

in_name

[+ [

thu được

*]

in_name

...] "

out_name kênh đầu ra để xác định, tên kênh (FL, FR, v.v.) hoặc số kênh (c0, c1, v.v.)

thu được hệ số nhân cho kênh, 1 giữ nguyên âm lượng

in_name kênh đầu vào để sử dụng, xem out_name để biết thêm chi tiết; không thể trộn lẫn tên và các kênh đầu vào được đánh số

Nếu dấu `= 'trong đặc tả kênh được thay thế bằng dấu' <', thì lợi ích cho điều đó đặc điểm kỹ thuật sẽ được chuẩn hóa lại để tổng số là 1, do đó tránh nhiễu cắt.

Trộn ví dụ

Ví dụ: nếu bạn muốn trộn giảm từ âm thanh nổi thành đơn âm, nhưng với hệ số lớn hơn cho kênh bên trái:

pan=1c|c0=0.9*c0+0.1*c1

Một kết hợp âm thanh nổi tùy chỉnh thành âm thanh nổi hoạt động tự động cho 3, 4, 5 và 7 kênh vây quanh:

pan = âm thanh nổi | FL <FL + 0.5 * FC + 0.6 * BL + 0.6 * SL | FR <FR + 0.5 * FC + 0.6 * BR + 0.6 * SR

Lưu ý rằng ffmpeg tích hợp một hệ thống trộn xuống (và trộn lên) mặc định phải ưu tiên (xem tùy chọn "-ac") trừ khi bạn có nhu cầu rất cụ thể.

Ánh xạ ví dụ

Việc ánh xạ lại kênh sẽ hiệu quả nếu và chỉ khi:

* *

Nếu tất cả các điều kiện này được thỏa mãn, bộ lọc sẽ thông báo cho người dùng ("Kênh thuần túy ánh xạ được phát hiện ") và sử dụng phương pháp tối ưu hóa và không mất dữ liệu để thực hiện ánh xạ lại.

Ví dụ: nếu bạn có nguồn 5.1 và muốn có luồng âm thanh nổi bằng cách bỏ phần phụ kênh truyền hình:

pan = "âm thanh nổi | c0 = FL | c1 = FR"

Với cùng một nguồn, bạn cũng có thể chuyển đổi kênh trước bên trái và phía trước bên phải và giữ bố cục kênh đầu vào:

pan = "5.1 | c0 = c1 | c1 = c0 | c2 = c2 | c3 = c3 | c4 = c4 | c5 = c5"

Nếu đầu vào là luồng âm thanh nổi, bạn có thể tắt tiếng kênh phía trước bên trái (và vẫn giữ bố cục kênh âm thanh nổi) với:

pan = "âm thanh nổi | c1 = c1"

Vẫn với đầu vào luồng âm thanh nổi, bạn có thể sao chép kênh bên phải ở cả phía trước bên trái và phải:

pan = "âm thanh nổi | c0 = FR | c1 = FR"

chơi lại Bộ lọc máy quét ReplayGain. Bộ lọc này lấy luồng âm thanh làm đầu vào và xuất ra không thay đổi. Khi kết thúc quá trình lọc, nó hiển thị "track_gain" và "track_peak".

lấy lại mẫu Chuyển đổi định dạng mẫu âm thanh, tỷ lệ mẫu và bố cục kênh. Nó không có nghĩa là được sử dụng trực tiếp.

sidechainnén Bộ lọc này hoạt động giống như máy nén thông thường nhưng có khả năng nén tín hiệu được phát hiện sử dụng tín hiệu đầu vào thứ hai. Nó cần hai luồng đầu vào và trả về một luồng đầu ra. Luồng đầu vào đầu tiên sẽ được xử lý tùy thuộc vào tín hiệu luồng thứ hai. Bộ lọc tín hiệu sau đó có thể được lọc bằng các bộ lọc khác trong các giai đoạn xử lý sau. Nhìn thấy pan và kết hợp lọc.

Bộ lọc chấp nhận các tùy chọn sau:

ngưỡng Nếu một tín hiệu của luồng thứ hai tăng lên trên mức này, nó sẽ ảnh hưởng đến việc giảm độ lợi của luồng đầu tiên. Theo mặc định là 0.125. Phạm vi nằm trong khoảng từ 0.00097563 đến 1.

tỉ lệ Đặt tỷ lệ mà tín hiệu bị giảm. 1: 2 có nghĩa là nếu mức tăng 4dB trên ngưỡng, nó sẽ chỉ cao hơn 2dB sau khi giảm. Mặc định là 2. Phạm vi từ 1 đến 20.

tấn công Lượng mili giây tín hiệu phải tăng lên trên ngưỡng trước khi đạt được giảm bắt đầu. Mặc định là 20. Phạm vi từ 0.01 đến 2000.

phát hành Lượng mili giây tín hiệu phải giảm xuống dưới ngưỡng trước khi giảm là lại giảm. Mặc định là 250. Phạm vi từ 0.01 đến 9000.

trang điểm Đặt giá trị bằng mức tín hiệu sẽ được khuếch đại sau khi xử lý. Mặc định là 2. Phạm vi là từ 1 và 64.

đầu gối Cong đầu gối sắc nét quanh ngưỡng để vào giảm mức tăng nhẹ nhàng hơn. Mặc định là 2.82843. Phạm vi từ 1 đến 8.

Link Chọn xem mức "trung bình" giữa tất cả các kênh của luồng chuỗi bên hoặc kênh to hơn ("tối đa") của luồng chuỗi bên ảnh hưởng đến việc giảm. Mặc định là "Trung bình".

nhận diện Nên lấy tín hiệu chính xác trong trường hợp "đỉnh" hoặc tín hiệu RMS trong trường hợp "rms". Mặc định là "rms", chủ yếu là mượt mà hơn.

Các ví dụ

· Ví dụ ffmpeg đầy đủ lấy 2 đầu vào âm thanh, đầu vào đầu tiên được nén tùy thuộc vào tín hiệu của đầu vào thứ 2 và tín hiệu nén sau đó sẽ được hợp nhất với đầu vào thứ 2:

ffmpeg -i main.flac -i sidechain.flac -filter_complex "[1: a] asplit = 2 [sc] [mix]; [0: a] [sc] sidechaincompress [compr]; [compr] [mix] amerge"

im lặng Phát hiện khoảng lặng trong luồng âm thanh.

Bộ lọc này ghi lại thông báo khi phát hiện thấy âm lượng âm thanh đầu vào nhỏ hơn hoặc bằng giá trị khả năng chịu tiếng ồn trong một khoảng thời gian lớn hơn hoặc bằng tiếng ồn tối thiểu được phát hiện thời gian.

Thời gian và thời lượng in được tính bằng giây.

Bộ lọc chấp nhận các tùy chọn sau:

thời hạn, d Đặt thời lượng im lặng cho đến khi có thông báo (mặc định là 2 giây).

tiếng ồn, n Đặt khả năng chịu tiếng ồn. Có thể được chỉ định bằng dB (trong trường hợp "dB" được thêm vào giá trị) hoặc tỷ số biên độ. Mặc định là -60dB hoặc 0.001.

Các ví dụ

· Phát hiện 5 giây im lặng với khả năng chịu tiếng ồn -50dB:

silencedetect = n = -50dB: d = 5

· Hoàn thành ví dụ với ffmpeg để phát hiện sự im lặng với khả năng chịu tiếng ồn 0.0001 trong

im lặng.mp3

:

ffmpeg -i silence.mp3 -af silencedetect = noise = 0.0001 -f null -

sự im lặng Bỏ khoảng lặng ở đầu, giữa hoặc cuối âm thanh.

Bộ lọc chấp nhận các tùy chọn sau:

thời gian bắt đầu Giá trị này được sử dụng để cho biết liệu có nên cắt bớt âm thanh khi bắt đầu âm thanh hay không. MỘT giá trị bằng XNUMX cho biết không có khoảng lặng nào nên được cắt bỏ ngay từ đầu. Khi nào chỉ định một giá trị khác XNUMX, nó sẽ cắt âm thanh cho đến khi tìm thấy không im lặng. Thông thường, khi cắt bớt khoảng lặng từ đầu âm thanh,

thời gian bắt đầu

sẽ là 1 nhưng nó có thể được tăng lên các giá trị cao hơn để cắt tất cả âm thanh đến số lượng cụ thể của không im lặng Chu kỳ. Giá trị mặc định là 0.

thời gian bắt đầu Chỉ định khoảng thời gian mà tính năng không im lặng phải được phát hiện trước khi nó ngừng cắt âm thanh. Bằng cách tăng thời lượng, các loạt tiếng ồn có thể được coi là im lặng và tỉa. Giá trị mặc định là 0.

ngưỡng_bắt đầu Điều này cho biết giá trị mẫu nào nên được coi là khoảng lặng. Đối với âm thanh kỹ thuật số, một giá trị 0 có thể ổn nhưng đối với âm thanh được ghi từ analog, bạn có thể muốn tăng giá trị tính cho tiếng ồn xung quanh. Có thể được chỉ định bằng dB (trong trường hợp "dB" là được nối với giá trị được chỉ định) hoặc tỷ lệ biên độ. Giá trị mặc định là 0.

dừng_thời gian Đặt số lượng để cắt bớt khoảng lặng khi kết thúc âm thanh. Để xóa im lặng khỏi giữa tệp, chỉ định một

dừng_thời gian

đó là tiêu cực. Giá trị này sau đó được xử lý dưới dạng giá trị dương và được sử dụng để chỉ ra hiệu ứng sẽ bắt đầu lại quá trình xử lý như theo quy định của

thời gian bắt đầu

, làm cho nó phù hợp để loại bỏ khoảng thời gian im lặng trong giữa âm thanh. Giá trị mặc định là 0.

dừng_duration Chỉ định khoảng thời gian im lặng phải tồn tại trước khi âm thanh không được sao chép nữa. Qua chỉ định thời lượng cao hơn, có thể để lại khoảng lặng mà bạn muốn trong âm thanh. Giá trị mặc định là 0.

dừng_ngưỡng Điều này cũng giống như ngưỡng_bắt đầu nhưng để cắt bớt khoảng lặng ở cuối âm thanh. Có thể được chỉ định bằng dB (trong trường hợp "dB" được thêm vào giá trị được chỉ định) hoặc biên độ tỉ lệ. Giá trị mặc định là 0.

left_silence Điều này chỉ ra rằng

dừng_duration

độ dài của âm thanh nên được giữ nguyên ở bắt đầu của mỗi khoảng thời gian im lặng. Ví dụ: nếu bạn muốn xóa các khoảng dừng dài giữa các từ nhưng không muốn loại bỏ các tạm dừng hoàn toàn. Giá trị mặc định là 0.

Các ví dụ

· Ví dụ sau đây cho thấy cách bộ lọc này có thể được sử dụng để bắt đầu một bản ghi không chứa độ trễ khi bắt đầu thường xảy ra giữa việc nhấn ghi và bắt đầu màn trình diễn:

im lặng = 1: 5: 0.02

gấp ba Tăng hoặc cắt tần số âm bổng (trên) của âm thanh bằng cách sử dụng bộ lọc giá đỡ hai cực với phản hồi tương tự như phản hồi của điều khiển âm sắc hi-fi tiêu chuẩn. Điều này còn được gọi là cân bằng giá đỡ (EQ).

Bộ lọc chấp nhận các tùy chọn sau:

đạt được, g Đưa ra mức tăng tại giá trị nào thấp hơn của ~ 22 kHz và tần số Nyquist. Nó là phạm vi hữu ích là khoảng -20 (đối với mức cắt giảm lớn) đến +20 (đối với mức tăng lớn). Coi chưng cắt bớt khi sử dụng độ lợi tích cực.

tần số, f Đặt tần số trung tâm của bộ lọc và do đó, có thể được sử dụng để mở rộng hoặc giảm dải tần số được tăng cường hoặc cắt giảm. Giá trị mặc định là 3000 Hz.

chiều rộng_type Đặt phương thức để chỉ định độ rộng băng tần của bộ lọc.

h Hz

q Hệ số Q

o bát cú

s độ dốc

chiều rộng, w Xác định độ dốc của quá trình chuyển đổi kệ của bộ lọc.

khối lượng Điều chỉnh âm lượng âm thanh đầu vào.

Nó chấp nhận các tham số sau:

khối lượng Đặt biểu thức âm lượng.

Giá trị đầu ra được cắt thành giá trị lớn nhất.

Âm lượng âm thanh đầu ra được cho bởi mối quan hệ:

\= *

Giá trị mặc định cho

khối lượng

là "1.0".

chính xác Tham số này đại diện cho độ chính xác toán học.

Nó xác định định dạng mẫu đầu vào nào sẽ được phép, điều này ảnh hưởng đến độ chính xác của tỷ lệ âm lượng.

cố định 8-bit điểm cố định; điều này giới hạn định dạng mẫu đầu vào ở U8, S16 và S32.

phao Dấu phẩy động 32-bit; điều này giới hạn định dạng mẫu đầu vào đối với FLT. (vỡ nợ)

tăng gấp đôi Dấu phẩy động 64-bit; điều này giới hạn định dạng mẫu đầu vào cho DBL.

chơi lại Chọn hành vi khi gặp dữ liệu bên ReplayGain trong các khung đầu vào.

rơi vãi Xóa dữ liệu bên ReplayGain, bỏ qua nội dung của nó (mặc định).

bỏ qua Bỏ qua dữ liệu bên ReplayGain, nhưng để nó trong khung.

theo dõi Ưu tiên mức tăng ca khúc, nếu có.

album Ưu tiên tăng album, nếu có.

phát lạigain_preamp Độ lợi tiền khuếch đại tính bằng dB để áp dụng cho độ lợi khuếch đại phát lại đã chọn.

Giá trị mặc định cho

phát lạigain_preamp

là 0.0.

đánh giá Đặt khi biểu thức âm lượng được đánh giá.

Nó chấp nhận các giá trị sau:

hàng loạt chỉ đánh giá biểu thức một lần trong quá trình khởi tạo bộ lọc hoặc khi khối lượng lệnh được gửi

khung đánh giá biểu thức cho mỗi khung hình đến

Giá trị mặc định là hàng loạt.

Biểu thức khối lượng có thể chứa các tham số sau.

n số khung (bắt đầu từ XNUMX)

nb_channels số kênh

nb_consumed_samples số lượng mẫu được tiêu thụ bởi bộ lọc

nb_samples số lượng mẫu trong khung hiện tại

gửi vị trí khung ban đầu trong tệp

Điểm khung PTS

tỷ lệ mẫu tỷ lệ mẫu

bắt đầu PTS khi bắt đầu phát trực tiếp

sự khởi đầu thời gian bắt đầu phát trực tiếp

t Khung thời gian

tb cơ sở thời gian dấu thời gian

khối lượng giá trị âm lượng đặt cuối cùng

Lưu ý rằng khi đánh giá được thiết lập để hàng loạt chỉ

tỷ lệ mẫu

tb

các biến có sẵn, tất cả các biến khác sẽ đánh giá thành NAN.

Lệnh

Bộ lọc này hỗ trợ các lệnh sau:

khối lượng Sửa đổi biểu thức âm lượng. Lệnh chấp nhận cùng một cú pháp của tùy chọn tương ứng.

Nếu biểu thức được chỉ định không hợp lệ, nó được giữ ở giá trị hiện tại.

replaygain_noclip Ngăn chặn việc cắt bớt bằng cách giới hạn độ lợi được áp dụng.

Giá trị mặc định cho

replaygain_noclip

là 1.

Các ví dụ

· Giảm một nửa âm lượng âm thanh đầu vào:

volume = volume = 0.5 volume = volume = 1/2 volume = volume = -6.0206dB

Trong tất cả các ví dụ trên, khóa được đặt tên cho khối lượng có thể được bỏ qua, ví dụ như trong:

khối lượng = 0.5

· Tăng công suất âm thanh đầu vào lên 6 decibel bằng cách sử dụng độ chính xác điểm cố định:

volume = volume = 6dB: precision = fixed

· Giảm âm lượng sau thời gian 10 với khoảng thời gian hủy là 5 giây:

volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame

phát hiện âm lượng Phát hiện âm lượng của video đầu vào.

Bộ lọc không có tham số. Đầu vào không được sửa đổi. Thống kê về khối lượng sẽ được in trong nhật ký khi đến cuối luồng đầu vào.

Đặc biệt, nó sẽ hiển thị âm lượng trung bình (bình phương căn bậc hai), âm lượng tối đa (trên một cơ sở mẫu), và phần đầu của biểu đồ các giá trị khối lượng đã đăng ký (từ giá trị lớn nhất đến 1/1000 tích lũy của các mẫu).

Tất cả âm lượng đều tính bằng decibel so với giá trị PCM tối đa.

Các ví dụ

Đây là một đoạn trích của đầu ra:

[Parsed_volume detect_0 0xa23120] âm lượng trung bình: -27 dB [Parsed_volume detect_0 0xa23120] max_volume: -4 dB [Parsed_volumedetect_0 0xa23120] biểu đồ_4db: 6 [Parsed_volumedetect_0 0xa23120] biểu đồ_5db: 62 [Parsed_volumedetect_0 0xa23120] biểu đồ_6db: 286 [Parsed_volumedetect_0 0xa23120] biểu đồ_7db: 1042 [Parsed_volumedetect_0 0xa23120] biểu đồ_8db: 2551 [Parsed_volumedetect_0 0xa23120] biểu đồ_9db: 4609 [Parsed_volumedetect_0 0xa23120] biểu đồ_10db: 8409

Nó có nghĩa là:

· Năng lượng bình phương trung bình là khoảng -27 dB, hoặc 10 ^ -2.7.

· Mẫu lớn nhất là -4 dB, hay chính xác hơn là từ -4 dB đến -5 dB.

· Có 6 mẫu ở -4 dB, 62 ở -5 dB, 286 ở -6 dB, v.v.

Nói cách khác, việc tăng âm lượng thêm +4 dB không gây ra bất kỳ đoạn nhạc nào, hãy tăng âm lượng lên +5 dB gây ra cắt cho 6 mẫu, v.v.

AUDIO NGUỒN

Dưới đây là mô tả về các nguồn âm thanh hiện có.

Một bộ đệm Đệm khung âm thanh và cung cấp chúng cho chuỗi bộ lọc.

Nguồn này chủ yếu dành cho mục đích sử dụng có lập trình, cụ thể là thông qua giao diện được định nghĩa trong

libavfilter / asrc_abuffer.h

.

Nó chấp nhận các tham số sau:

cơ sở thời gian Cơ sở thời gian sẽ được sử dụng cho dấu thời gian của các khung đã gửi. Nó phải là một trong hai một số dấu phẩy động hoặc trong

tử số

/

mẫu số

hình thức.

tỷ lệ mẫu Tốc độ lấy mẫu của bộ đệm âm thanh đến.

mẫu_fmt Định dạng mẫu của bộ đệm âm thanh đến. Tên định dạng mẫu hoặc tên định dạng biểu diễn số nguyên tương ứng từ enum AVSampleFormat trong

libavutil / samplefmt.h

kênh_layout Bố cục kênh của bộ đệm âm thanh đến. Tên bố cục kênh từ channel_layout_map trong

libavutil / channel_layout.c

hoặc số nguyên tương ứng của nó đại diện từ các macro AV_CH_LAYOUT_ * trong

libavutil / channel_layout.h

kênh Số kênh của bộ đệm âm thanh đến. Nếu cả hai

kênh

kênh_layout

được chỉ định, thì chúng phải nhất quán.

Các ví dụ

abuffer = sample_rate = 44100: sample_fmt = s16p: channel_layout = stereo

sẽ hướng dẫn nguồn chấp nhận âm thanh nổi có ký hiệu 16 bit phẳng ở 44100Hz. Kể từ khi định dạng mẫu với tên "s16p" tương ứng với số 6 và bố cục kênh "âm thanh nổi" tương ứng với giá trị 0x3, điều này tương đương với:

abuffer = sample_rate = 44100: sample_fmt = 6: channel_layout = 0x3

aevalrc Tạo tín hiệu âm thanh được chỉ định bởi một biểu thức.

Nguồn này chấp nhận đầu vào một hoặc nhiều biểu thức (một biểu thức cho mỗi kênh), được đánh giá và sử dụng để tạo tín hiệu âm thanh tương ứng.

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

exp Đặt danh sách biểu thức phân tách '|' cho từng kênh riêng biệt. Trong trường hợp kênh_layout tùy chọn không được chỉ định, bố cục kênh đã chọn phụ thuộc vào số biểu thức đã cho. Nếu không, biểu thức được chỉ định cuối cùng được áp dụng cho các kênh đầu ra còn lại.

kênh_layout, c Đặt bố cục kênh. Số lượng kênh trong bố cục được chỉ định phải bằng nhau với số lượng biểu thức được chỉ định.

thời hạn, d Đặt thời lượng tối thiểu của âm thanh có nguồn gốc. Nhìn thấy các Thời gian thời gian phần in các

ffmpeg-utils

(1) nhãn hiệu cho cú pháp được chấp nhận. Lưu ý rằng thời lượng kết quả có thể lớn hơn thời lượng được chỉ định, vì âm thanh được tạo ra luôn bị cắt ở kết thúc của một khung hoàn chỉnh.

Nếu không được chỉ định hoặc thời lượng được biểu thị là âm, âm thanh sẽ được được tạo ra mãi mãi.

nb_samples, n Đặt số lượng mẫu cho mỗi kênh trên mỗi khung đầu ra, mặc định là 1024.

tỷ lệ mẫu, s Chỉ định tỷ lệ mẫu, mặc định là 44100.

Mỗi biểu thức trong

exp

có thể chứa các hằng số sau:

n số lượng mẫu được đánh giá, bắt đầu từ 0

t thời gian của mẫu được đánh giá tính bằng giây, bắt đầu từ 0

s tỷ lệ mẫu

Các ví dụ

· Tạo ra sự im lặng:

aevalrc = 0

· Tạo tín hiệu sin với tần số 440 Hz, đặt tốc độ lấy mẫu thành 8000 Hz:

aevalrc = "/ sin (440 * 2 * PI * t): s = 8000"

· Tạo tín hiệu hai kênh, chỉ định bố cục kênh (Trung tâm phía trước + Mặt sau Trung tâm) rõ ràng:

aevalrc = "/ sin (420 * 2 * PI * t) | cos (430 * 2 * PI * t): c = FC | BC"

· Tạo ra tiếng ồn trắng:

aevalrc = "/ - 2+ngẫu nhiên(0) "

· Tạo tín hiệu điều chế biên độ:

aevalsrc = "/ sin (10 * 2 * PI * t) * sin (880 * 2 * PI * t)"

· Tạo nhịp hai tai 2.5 Hz trên sóng mang 360 Hz:

aevalsrc="/0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)"

anullsrc Nguồn âm thanh rỗng, trả về các khung âm thanh chưa được xử lý. Nó chủ yếu hữu ích như một mẫu và được sử dụng trong các công cụ phân tích / gỡ lỗi hoặc làm nguồn cho các bộ lọc bỏ qua dữ liệu đầu vào (ví dụ: bộ lọc tổng hợp sox).

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

kênh_layout, cl Chỉ định bố cục kênh và có thể là một số nguyên hoặc một chuỗi đại diện cho bố cục kênh. Giá trị mặc định của

kênh_layout

là "âm thanh nổi".

Kiểm tra định nghĩa channel_layout_map trong

libavutil / channel_layout.c

để lập bản đồ giữa các chuỗi và các giá trị bố cục kênh.

tỷ lệ mẫu, r Chỉ định tỷ lệ mẫu và mặc định là 44100.

nb_samples, n Đặt số lượng mẫu cho mỗi khung được yêu cầu.

Các ví dụ

· Đặt tốc độ lấy mẫu thành 48000 Hz và bố cục kênh thành AV_CH_LAYOUT_MONO.

anullsrc = r = 48000: cl = 4

· Thực hiện thao tác tương tự với cú pháp rõ ràng hơn:

anullsrc = r = 48000: cl = mono

Tất cả các tham số cần được xác định rõ ràng.

con sáo Tổng hợp giọng nói bằng thư viện libflite.

Để kích hoạt biên dịch bộ lọc này, bạn cần cấu hình FFmpeg với "--enable-libflite".

Lưu ý rằng thư viện flite không an toàn theo chuỗi.

Bộ lọc chấp nhận các tùy chọn sau:

danh sách_voices Nếu được đặt thành 1, hãy liệt kê tên của các giọng nói có sẵn và thoát ngay lập tức. Vỡ nợ giá trị là 0.

nb_samples, n Đặt số lượng mẫu tối đa cho mỗi khung hình. Giá trị mặc định là 512.

tệp văn bản Đặt tên tệp chứa văn bản để nói.

văn bản Đặt văn bản để nói.

tiếng nói, v Đặt giọng nói để sử dụng cho tổng hợp giọng nói. Giá trị mặc định là "kal". Xem thêm

danh sách_voices

tùy chọn.

Các ví dụ

· Đọc từ tệp

lời nói.txt

, và tổng hợp văn bản sử dụng giọng đọc flite chuẩn:

flite = textfile = speech.txt

· Đọc văn bản được chỉ định chọn giọng nói "slt":

flite = text = 'Vậy thì tốt thôi, con quỷ tội nghiệp của một Sub-Sub, mà tôi là bình luận viên': voice = slt

· Nhập văn bản vào ffmpeg:

ffmpeg -f lavfi -i flite = text = 'Vậy thì tốt thôi, tội nghiệp của một Sub-Sub, mà tôi là bình luận viên': voice = slt

· Chế tạo

ffplay

nói văn bản được chỉ định, sử dụng "flite" và thiết bị "lavfi":

ffplay -f lavfi flite = text = 'Không còn đau buồn vì điều bạn đã làm.'

Để biết thêm thông tin về libflite, hãy kiểm tra://www.speech.cs.cmu.edu/flite/>

sin Tạo ra tín hiệu âm thanh có dạng sóng hình sin có biên độ 1/8.

Tín hiệu âm thanh chính xác đến từng bit.

Bộ lọc chấp nhận các tùy chọn sau:

tần số, f Đặt tần số sóng mang. Mặc định là 440 Hz.

tiếng bíp_factor, b Bật một tiếng bíp định kỳ mỗi giây với tần suất

bíp_factor

lần người vận chuyển tần số. Mặc định là 0, nghĩa là tiếng bíp bị tắt.

tỷ lệ mẫu, r Chỉ định tỷ lệ mẫu, mặc định là 44100.

thời hạn, d Chỉ định thời lượng của luồng âm thanh đã tạo.

Sample_per_frame Đặt số lượng mẫu cho mỗi khung đầu ra, mặc định là 1024.

Các ví dụ

· Tạo ra một sóng hình sin 440 Hz đơn giản:

sin

· Tạo ra sóng hình sin 220 Hz với tiếng bíp 880 Hz mỗi giây, trong 5 giây:

sin = 220: 4: d = 5 sin = f = 220: b = 4: d = 5 sine = tần số = 220: beep_factor = 4: thời lượng = 5

AUDIO CHÌM

Dưới đây là mô tả về các loại chìm âm thanh hiện có.

nước bọt Đệm khung âm thanh và cung cấp chúng cho phần cuối của chuỗi bộ lọc.

Chậu rửa này chủ yếu được thiết kế để sử dụng theo chương trình, đặc biệt là thông qua giao diện được định nghĩa trong

libavfilter / buffersink.h

hoặc hệ thống tùy chọn.

Nó chấp nhận một con trỏ tới cấu trúc AVABufferSinkContext, cấu trúc này xác định định dạng bộ đệm, sẽ được chuyển dưới dạng tham số không rõ ràng cho "avfilter_init_filter" cho khởi tạo.

sự hủy bỏ Âm thanh chìm; hoàn toàn không làm gì với âm thanh đầu vào. Nó chủ yếu hữu ích như một mẫu và để sử dụng trong các công cụ phân tích / gỡ lỗi.

Thêm bài này vào danh sách Video của bạn Download bài này LỌC

Khi bạn định cấu hình bản dựng FFmpeg của mình, bạn có thể tắt bất kỳ bộ lọc hiện có nào bằng cách sử dụng "--disable-filter". Đầu ra cấu hình sẽ hiển thị các bộ lọc video có trong xây dựng.

Dưới đây là mô tả về các bộ lọc video hiện có sẵn.

trích xuất bảng chữ cái Trích xuất thành phần alpha từ đầu vào dưới dạng video thang độ xám. Điều này đặc biệt hữu ích với

bảng chữ cái

lọc.

bảng chữ cái Thêm hoặc thay thế thành phần alpha của đầu vào chính bằng giá trị thang độ xám của đầu vào thứ hai. Điều này được thiết kế để sử dụng với

trích xuất bảng chữ cái

để cho phép truyền hoặc lưu trữ chuỗi khung có alpha ở định dạng không hỗ trợ alpha kênh.

Ví dụ: để tạo lại các khung hình đầy đủ từ một video được mã hóa YUV thông thường và một video riêng biệt video được tạo bằng

trích xuất bảng chữ cái

, bạn có thể sử dụng:

phim = in_alpha.mkv [alpha]; [in] [alpha] alphamerge [out]

Vì bộ lọc này được thiết kế để tái tạo, nó hoạt động trên các chuỗi khung hình mà không đang xem xét dấu thời gian và kết thúc khi một trong hai đầu vào đến cuối luồng. Điều này sẽ gây ra sự cố nếu đường dẫn mã hóa của bạn giảm khung hình. Nếu bạn đang cố gắng áp dụng một hình ảnh dưới dạng lớp phủ cho luồng video, hãy xem xét

phủ

bộ lọc thay thế.

ass Giống như phụ đề bộ lọc, ngoại trừ việc nó không yêu cầu libavcodec và libavformat để công việc. Mặt khác, nó bị giới hạn ở các tệp phụ đề ASS (Advanced Substation Alpha).

Bộ lọc này chấp nhận tùy chọn sau đây ngoài các tùy chọn phổ biến từ phụ đề bộ lọc:

định hình Đặt công cụ định hình

Các giá trị có sẵn là:

tự động Công cụ định hình libass mặc định, là công cụ tốt nhất hiện có.

đơn giản Trình định hình phông chữ nhanh, bất khả tri chỉ có thể thay thế

phức tạp Máy định hình chậm hơn sử dụng OpenType để thay thế và định vị

Mặc định là "tự động".

mất tiếng ồn Áp dụng Bộ khử nhiễu trung bình theo thời gian thích ứng cho đầu vào video.

Bộ lọc chấp nhận các tùy chọn sau:

0a Đặt ngưỡng A cho mặt phẳng thứ nhất. Mặc định là 1. Phạm vi hợp lệ là 0.02 đến 0.

0b Đặt ngưỡng B cho mặt phẳng thứ nhất. Mặc định là 1. Phạm vi hợp lệ là 0.04 đến 0.

1a Đặt ngưỡng A cho mặt phẳng thứ hai. Mặc định là 2. Phạm vi hợp lệ là 0.02 đến 0.

1b Đặt ngưỡng B cho mặt phẳng thứ hai. Mặc định là 2. Phạm vi hợp lệ là 0.04 đến 0.

2a Đặt ngưỡng A cho mặt phẳng thứ 3. Mặc định là 0.02. Phạm vi hợp lệ là 0 đến 0.3.

2b Đặt ngưỡng B cho mặt phẳng thứ 3. Mặc định là 0.04. Phạm vi hợp lệ là 0 đến 5.

Ngưỡng A được thiết kế để phản ứng với những thay đổi đột ngột trong tín hiệu đầu vào và ngưỡng B được thiết kế để phản ứng với những thay đổi liên tục trong tín hiệu đầu vào.

s Đặt bộ lọc số khung hình sẽ sử dụng để lấy giá trị trung bình. Mặc định là 33. Phải là số lẻ trong phạm vi [5, 129].

hộp thư Tính toán hộp giới hạn cho các pixel không phải màu đen trong mặt phẳng độ chói của khung hình đầu vào.

Bộ lọc này tính toán hộp giới hạn chứa tất cả các pixel có giá trị độ chói lớn hơn giá trị tối thiểu cho phép. Các tham số mô tả hộp giới hạn là được in trên nhật ký bộ lọc.

Bộ lọc chấp nhận tùy chọn sau:

giá trị tối thiểu Đặt giá trị độ chói tối thiểu. Mặc định là 16.

phát hiện đen Phát hiện các khoảng video (gần như) hoàn toàn là màu đen. Có thể hữu ích để phát hiện chương chuyển tiếp, quảng cáo hoặc bản ghi không hợp lệ. Các dòng đầu ra chứa thời gian cho bắt đầu, kết thúc và thời lượng của khoảng đen được phát hiện được biểu thị bằng giây.

Để hiển thị các dòng đầu ra, bạn cần đặt mức logle ít nhất là Giá trị AV_LOG_INFO.

Bộ lọc chấp nhận các tùy chọn sau:

đen_min_duration, d Đặt thời lượng đen tối thiểu được phát hiện được biểu thị bằng giây. Nó phải là một số dấu phẩy động âm.

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

hình_đen_tỷ lệ_th, bức ảnh thứ Đặt ngưỡng xem ảnh là "đen". Thể hiện giá trị nhỏ nhất cho tỉ lệ:

/

mà một hình ảnh được coi là màu đen. Giá trị mặc định là 0.98.

pixel_black_th, pix_th Đặt ngưỡng xem xét pixel "đen".

Ngưỡng biểu thị giá trị độ chói của pixel tối đa mà pixel là được coi là "đen". Giá trị đã cung cấp được chia tỷ lệ theo phương trình sau:

\= + *

độ sáng_range_size

độ sáng_giá_trị_tối_thiểu

phụ thuộc vào định dạng video đầu vào, phạm vi là [0-255] đối với định dạng YUV toàn dải và [16-235] đối với YUV không phải toàn dải định dạng.

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

Ví dụ sau đặt ngưỡng pixel tối đa thành giá trị nhỏ nhất và phát hiện chỉ những khoảng đen từ 2 giây trở lên:

blackdetect = d = 2: pix_th = 0.00

khung đen Phát hiện các khung (gần như) hoàn toàn màu đen. Có thể hữu ích để phát hiện chương chuyển tiếp hoặc quảng cáo. Các dòng đầu ra bao gồm số khung hình được phát hiện khung, phần trăm độ đen, vị trí trong tệp nếu đã biết hoặc -1 và dấu thời gian tính bằng giây.

Để hiển thị các dòng đầu ra, bạn cần đặt mức logle ít nhất là Giá trị AV_LOG_INFO.

Nó chấp nhận các tham số sau:

số lượng Phần trăm pixel phải dưới ngưỡng; nó mặc định là 98.

ngưỡng, đập mạnh Ngưỡng dưới đó giá trị pixel được coi là màu đen; nó mặc định là 32.

trộn, nói dối Trộn hai khung hình video vào nhau.

Bộ lọc "pha trộn" nhận hai luồng đầu vào và xuất ra một luồng, đầu vào đầu tiên là lớp "trên cùng" và đầu vào thứ hai là lớp "dưới cùng". Đầu ra kết thúc khi đầu vào ngắn nhất chấm dứt.

Bộ lọc "tblend" (pha trộn thời gian) lấy hai khung hình liên tiếp từ một luồng duy nhất và xuất ra kết quả thu được bằng cách trộn khung hình mới lên trên khung hình cũ.

Sau đây là mô tả về các tùy chọn được chấp nhận.

c0_mode c1_mode c2_mode c3_mode tất cả_mode Đặt chế độ hòa trộn cho thành phần pixel cụ thể hoặc tất cả các thành phần pixel trong trường hợp

tất cả_mode

. Giá trị mặc định là "bình thường".

Các giá trị có sẵn cho các chế độ thành phần là:

Ngoài ra và Trung bình cộng ghi làm tối sự khác biệt sự khác biệt128 phân chia dodge loại trừ phát sáng đèn rất sáng hỗn hợp cứng làm sáng ánh sáng tuyến tính nhân sự từ chối bình thường or phủ phượng hoàng đèn pin phản ánh màn ánh sáng mềm mại trừ ánh sáng rực rỡ xor c0_opacity c1_opacity c2_opacity c3_opacity all_opacity Đặt độ mờ pha trộn cho thành phần pixel cụ thể hoặc tất cả các thành phần pixel trong trường hợp

all_opacity

. Chỉ được sử dụng kết hợp với các chế độ hòa trộn thành phần pixel.

c0_expr c1_expr c2_expr c3_expr all_expr Đặt biểu thức kết hợp cho thành phần pixel cụ thể hoặc tất cả các thành phần pixel trong trường hợp

all_expr

. Lưu ý rằng các tùy chọn chế độ liên quan sẽ bị bỏ qua nếu chúng được đặt.

Các biểu thức có thể sử dụng các biến sau:

N Số thứ tự của khung được lọc, bắt đầu từ 0.

X Y tọa độ của mẫu hiện tại

W H chiều rộng và chiều cao của mặt phẳng hiện được lọc

SW SH Tỷ lệ chiều rộng và chiều cao tùy thuộc vào mặt phẳng hiện đang được lọc. Nó là tỷ lệ giữa số pixel mặt phẳng luma tương ứng và số pixel trên mặt phẳng hiện tại. Ví dụ: đối với YUV4: 2: 0, các giá trị là "1,1" cho mặt phẳng luma và "0.5,0.5" cho các mặt phẳng sắc độ.

T Thời gian của khung hiện tại, tính bằng giây.

ĐỨNG ĐẦU, A Giá trị của thành phần pixel ở vị trí hiện tại cho khung hình video đầu tiên (lớp trên cùng).

ĐÁY, B Giá trị của thành phần pixel ở vị trí hiện tại cho khung hình video thứ hai (dưới cùng lớp).

ngắn nhất Buộc kết thúc khi đầu vào ngắn nhất kết thúc. Mặc định là 0. Tùy chọn này là chỉ được xác định cho bộ lọc "pha trộn".

lặp lại Tiếp tục áp dụng khung cuối cùng sau khi kết thúc luồng. Giá trị 0 tắt bộ lọc sau khi đến khung cuối cùng của lớp dưới cùng. Mặc định là 1. Tùy chọn này chỉ được xác định cho bộ lọc "pha trộn".

Các ví dụ

· Áp dụng quá trình chuyển đổi từ lớp dưới cùng lên lớp trên cùng trong 10 giây đầu tiên:

blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-(if(gte(T,10),1,T/10)))'

· Áp dụng hiệu ứng bàn cờ 1x1:

blend = all_expr = 'if (eq (mod (X, 2), mod (Y, 2)), A, B)'

· Áp dụng hiệu ứng bên trái khám phá:

blend = all_expr = 'if (gte (N * SW + X, W), A, B)'

· Áp dụng hiệu ứng khám phá:

blend = all_expr = 'if (gte (YN * SH, 0), A, B)'

· Áp dụng hiệu ứng phát hiện bên trái:

blend = all_expr = 'if (gte (T * SH * 40 + Y, H) * gte ((T * 40 * SW + X) * W / H, W), A, B)'

· Hiển thị sự khác biệt giữa khung hình hiện tại và khung hình trước đó:

tblend = all_mode = difference128

hộp mờ Áp dụng thuật toán boxblur cho video đầu vào.

Nó chấp nhận các tham số sau:

bán kính luma_radius, lr luma_power, lp bán kính sắc độ, cr sắc độ, cp bán kính alpha, ar alpha_power, ap

Sau đây là mô tả về các tùy chọn được chấp nhận.

bán kính luma_radius, lr bán kính sắc độ, cr bán kính alpha, ar Đặt biểu thức cho bán kính hộp tính bằng pixel được sử dụng để làm mờ mặt phẳng đầu vào.

Giá trị bán kính phải là một số không âm và không được lớn hơn giá trị của biểu thức "min (w, h) / 2" cho mặt phẳng luma và alpha và của "min (cw, ch) / 2" cho các mặt phẳng sắc độ.

Giá trị mặc định cho bán kính luma_radius là "2". Nếu không được chỉ định, bán kính sắc độ và bán kính alpha mặc định thành giá trị tương ứng được đặt cho bán kính luma_radius.

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

w h Chiều rộng và chiều cao đầu vào tính bằng pixel.

cw ch Chiều rộng và chiều cao của hình ảnh sắc độ đầu vào tính bằng pixel.

hsub vsub Các giá trị mẫu con sắc độ ngang và dọc. Ví dụ: đối với pixel định dạng "yuv422p",

hsub

là 2 và

vsub

là 1.

luma_power, lp sắc độ, cp alpha_power, ap Chỉ định số lần bộ lọc hình hộp được áp dụng cho mặt phẳng tương ứng.

Giá trị mặc định cho luma_power là 2. Nếu không được chỉ định, sức mạnh sắc độ và alpha_power mặc định thành giá trị tương ứng được đặt cho luma_power.

Giá trị 0 sẽ vô hiệu hóa hiệu ứng.

Các ví dụ

· Áp dụng bộ lọc hình hộp với bán kính luma, chroma và alpha được đặt thành 2:

boxblur = luma_radius = 2: luma_power = 1 boxblur = 2: 1

· Đặt bán kính luma thành 2, và bán kính alpha và chroma thành 0:

boxblur = 2: 1: cr = 0: ar = 0

· Đặt bán kính luma và chroma thành một phần nhỏ của kích thước video:

boxblur = luma_radius = min (h \, w) / 10: luma_power = 1: chroma_radius = min (cw \, ch) / 10: chroma_power = 1

codecview Trực quan hóa thông tin được xuất bởi một số codec.

Một số codec có thể xuất thông tin qua các khung bằng cách sử dụng dữ liệu bên hoặc các phương tiện khác. Vì ví dụ, một số codec dựa trên MPEG xuất vectơ chuyển động thông qua

xuất_mvs

cờ trong giải mã cờ2 tùy chọn.

Bộ lọc chấp nhận tùy chọn sau:

mv Đặt vectơ chuyển động để hình dung.

Cờ có sẵn cho

mv

là:

pf chuyển tiếp các MV dự đoán về khung hình P

bf chuyển tiếp các MV dự đoán về khung hình B

bb các MV dự đoán lùi về khung hình B

Các ví dụ

· Trực quan hóa các MV đa hướng từ P và B-Frames bằng cách sử dụng ffplay:

ffplay -flags2 + export_mvs input.mpg -vf codecview = mv = pf + bf + bb

cân bằng màu sắc Sửa đổi cường độ của các màu cơ bản (đỏ, lục và lam) của các khung đầu vào.

Bộ lọc cho phép điều chỉnh khung đầu vào trong bóng tối, âm trung hoặc vùng sáng các vùng cho cân bằng đỏ-lục lam, xanh lục-đỏ tươi hoặc xanh lam-vàng.

Giá trị điều chỉnh dương sẽ chuyển số dư sang màu chính, giá trị âm hướng tới màu bổ sung.

Bộ lọc chấp nhận các tùy chọn sau:

rs gs bs Điều chỉnh bóng màu đỏ, xanh lá cây và xanh lam (điểm ảnh tối nhất).

rm gm bm Điều chỉnh các tông màu đỏ, xanh lục và xanh lam (điểm ảnh trung bình).

rh gh bh Điều chỉnh các điểm nổi bật màu đỏ, xanh lục và xanh lam (các điểm ảnh sáng nhất).

Phạm vi được phép cho các tùy chọn là "[-1.0, 1.0]". Giá trị mặc định là 0.

Các ví dụ

· Thêm màu đỏ truyền vào bóng tối:

cân bằng màu = rs = .3

màu sắc chính Khóa màu không gian màu RGB.

Bộ lọc chấp nhận các tùy chọn sau:

màu sắc Màu sẽ được thay thế bằng độ trong suốt.

sự giống nhau Tỷ lệ phần trăm tương tự với màu chủ đạo.

0.01 chỉ khớp với màu chính xác của chính xác, trong khi 1.0 khớp với mọi thứ.

pha trộn Tỷ lệ hỗn hợp.

0.0 làm cho pixel hoàn toàn trong suốt hoặc hoàn toàn không trong suốt.

Giá trị cao hơn dẫn đến pixel bán trong suốt, với độ trong suốt càng cao thì càng tương tự màu pixel là màu chủ đạo.

Các ví dụ

· Làm cho mọi pixel màu xanh lá cây trong hình ảnh đầu vào trong suốt:

ffmpeg -i input.png -vf colorkey = green out.png

· Phủ một video màn hình xanh lên trên một hình nền tĩnh.

ffmpeg -i background.png -i video.mp4 -filter_complex "[1: v] colorkey = 0x3BBD1E: 0.3: 0.2 [ckout]; [0: v] [ckout] overlay [out]" -map "[out]" output.flv

cấp độ màu Điều chỉnh khung hình đầu vào video bằng cách sử dụng các mức.

Bộ lọc chấp nhận các tùy chọn sau:

rimin gimin bim bim mục tiêu Điều chỉnh màu đỏ, xanh lá cây, xanh lam và điểm đen đầu vào alpha. Các phạm vi được phép cho các tùy chọn là "[-1.0, 1.0]". Giá trị mặc định là 0.

rimax gimax bimax aimax Điều chỉnh màu đỏ, xanh lá cây, xanh lam và điểm trắng đầu vào alpha. Các phạm vi được phép cho các tùy chọn là "[-1.0, 1.0]". Giá trị mặc định là 1.

Các mức đầu vào được sử dụng để làm sáng vùng sáng (tông sáng), làm tối vùng tối (tối tông màu), thay đổi sự cân bằng của tông màu sáng và tối.

Romin gomin quả bom aomin Điều chỉnh điểm đen đầu ra màu đỏ, xanh lá cây, xanh lam và alpha. Các phạm vi được phép cho các tùy chọn là "[0, 1.0]". Giá trị mặc định là 0.

romax gomax bomax aomax Điều chỉnh điểm trắng đầu ra màu đỏ, xanh lá cây, xanh lam và alpha. Các phạm vi được phép cho các tùy chọn là "[0, 1.0]". Giá trị mặc định là 1.

Các mức đầu ra cho phép lựa chọn thủ công phạm vi mức đầu ra bị ràng buộc.

Các ví dụ

· Làm cho đầu ra video tối hơn:

colorlevels = rimin = 0.058: gimin = 0.058: bimin = 0.058

· Gia tăng sự tương phản:

colorlevels=rimin=0.039:gimin=0.039:bimin=0.039:rimax=0.96:gimax=0.96:bimax=0.96

· Làm cho đầu ra video nhẹ hơn:

colorlevels = rimax = 0.902: gimax = 0.902: bimax = 0.902

· Tăng độ sáng:

colorlevels = romin = 0.5: gomin = 0.5: bomin = 0.5

máy trộn kênh màu Điều chỉnh khung hình đầu vào video bằng cách trộn lại các kênh màu.

Bộ lọc này sửa đổi kênh màu bằng cách thêm các giá trị được liên kết với các kênh khác của các pixel giống nhau. Ví dụ: nếu giá trị cần sửa đổi là màu đỏ, giá trị đầu ra sẽ là:

\= * + * + * + *

Bộ lọc chấp nhận các tùy chọn sau:

rr rg rb ra Điều chỉnh đóng góp của các kênh đầu vào màu đỏ, xanh lá cây, xanh lam và alpha cho màu đỏ đầu ra kênh. Mặc định là 1 cho

rr

và 0 cho

rg

,

rb

ra

.

gr gg gb ga Điều chỉnh đóng góp của các kênh đầu vào màu đỏ, xanh lá cây, xanh lam và alpha cho màu xanh lá cây đầu ra kênh. Mặc định là 1 cho

gg

và 0 cho

gr

,

gb

ga

.

br bg bb ba Điều chỉnh đóng góp của các kênh đầu vào màu đỏ, xanh lá cây, xanh lam và alpha cho màu xanh lam đầu ra kênh. Mặc định là 1 cho

bb

và 0 cho

br

,

bg

ba

.

ar ag ab aa Điều chỉnh đóng góp của các kênh đầu vào màu đỏ, xanh lá cây, xanh lam và alpha cho đầu ra alpha kênh. Mặc định là 1 cho

aa

và 0 cho

ar

,

ag

ab

.

Phạm vi được phép cho các tùy chọn là "[-2.0, 2.0]".

Các ví dụ

· Chuyển đổi nguồn sang thang độ xám:

colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3

· Mô phỏng tông màu nâu đỏ:

colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131

ma trận màu Chuyển đổi ma trận màu.

Bộ lọc chấp nhận các tùy chọn sau:

src dst Chỉ định ma trận màu nguồn và đích. Cả hai giá trị phải được chỉ định.

Các giá trị được chấp nhận là:

bt709 BT.709

bt601 BT.601

smpte240m SMPTE-240M

Fcc FCC

Ví dụ để chuyển đổi từ BT.601 sang SMPTE-240M, hãy sử dụng lệnh:

colormatrix = bt601: smpte240m

bản sao Sao chép nguồn đầu vào không thay đổi vào đầu ra. Điều này chủ yếu hữu ích cho các mục đích thử nghiệm.

cây trồng Cắt video đầu vào theo các kích thước nhất định.

Nó chấp nhận các tham số sau:

w, ra_w Chiều rộng của video đầu ra. Nó mặc định là "iw". Biểu thức này chỉ được đánh giá một lần trong khi cấu hình bộ lọc hoặc khi w or ra_w lệnh được gửi.

h, ra_h Chiều cao của video đầu ra. Nó được mặc định là "ih". Biểu thức này được đánh giá chỉ một lần trong khi cấu hình bộ lọc hoặc khi h or ra_h lệnh được gửi.

x Vị trí nằm ngang, trong video đầu vào, của mép trái của video đầu ra. Nó mặc định là "(in_w-out_w) / 2". Biểu thức này được đánh giá trên mỗi khung hình.

y Vị trí thẳng đứng, trong video đầu vào, của cạnh trên cùng của video đầu ra. Nó mặc định là "(in_h-out_h) / 2". Biểu thức này được đánh giá trên mỗi khung hình.

giữ_khía cạnh Nếu được đặt thành 1 sẽ buộc tỷ lệ khung hình hiển thị đầu ra giống với đầu vào, bằng cách thay đổi tỷ lệ co của mẫu đầu ra. Nó mặc định là 0.

Sản phẩm

ra_w

,

ra_h

,

x

,

y

tham số là các biểu thức chứa các hằng số sau:

x y Các giá trị được tính toán cho

x

y

. Chúng được đánh giá cho mỗi khung hình mới.

trong W trong_h Chiều rộng và chiều cao đầu vào.

iw ih Chúng giống như

trong W

trong_h

.

ra_w ra_h Chiều rộng và chiều cao đầu ra (đã cắt).

ow oh Chúng giống như

ra_w

ra_h

.

a giống như

iw

/

ih

sar tỷ lệ khung hình mẫu đầu vào

dar tỷ lệ khung hình hiển thị đầu vào, nó giống như (

iw

/

ih

) *

sar

hsub vsub các giá trị mẫu con sắc độ ngang và dọc. Ví dụ đối với định dạng pixel "yuv422p"

hsub

là 2 và

vsub

là 1.

n Số khung đầu vào, bắt đầu từ 0.

gửi vị trí trong tệp của khung đầu vào, NAN nếu không xác định

t Dấu thời gian được biểu thị bằng giây. Đó là NAN nếu dấu thời gian đầu vào không xác định.

Biểu thức cho

ra_w

có thể phụ thuộc vào giá trị của

ra_h

và biểu thức cho

ra_h

có thể phụ thuộc vào

ra_w

, nhưng họ không thể phụ thuộc vào

x

y

, Như

x

y

được đánh giá sau khi

ra_w

ra_h

.

Sản phẩm

x

y

tham số chỉ định các biểu thức cho vị trí của góc trên bên trái của vùng đầu ra (không cắt xén). Chúng được đánh giá cho từng khung hình. Nếu giá trị được đánh giá không hợp lệ, nó được tính gần đúng với giá trị hợp lệ gần nhất.

Biểu thức cho

x

có thể phụ thuộc vào

y

và biểu thức cho

y

có thể phụ thuộc vào

x

.

Các ví dụ

· Vùng cắt có kích thước 100x100 tại vị trí (12,34).

crop = 100: 100: 12: 34

Sử dụng các tùy chọn đã đặt tên, ví dụ trên sẽ trở thành:

crop = w = 100: h = 100: x = 12: y = 34

· Cắt vùng đầu vào trung tâm với kích thước 100x100:

crop = 100: 100

· Cắt vùng đầu vào trung tâm với kích thước 2/3 của video đầu vào:

crop = 2/3 * in_w: 2/3 * in_h

· Cắt hình vuông trung tâm video đầu vào:

crop = out_w = in_h crop = in_h

· Phân cách hình chữ nhật với góc trên cùng bên trái được đặt ở vị trí 100: 100 và góc dưới bên phải tương ứng với góc dưới bên phải của hình ảnh đầu vào.

crop = in_w-100: in_h-100: 100: 100

· Cắt 10 pixel từ viền trái và phải, và 20 pixel từ trên cùng và dưới cùng biên giới

crop = in_w-2 * 10: in_h-2 * 20

· Chỉ giữ phần tư bên phải dưới cùng của hình ảnh đầu vào:

crop = in_w / 2: in_h / 2: in_w / 2: in_h / 2

· Chiều cao cây cắt để có được sự hài hòa của Hy Lạp:

crop = in_w: 1 / PHI * in_w

· Áp dụng hiệu ứng run rẩy:

crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(n/10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(n/7)

· Áp dụng hiệu ứng máy ảnh thất thường tùy thuộc vào dấu thời gian:

crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(t*10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(t*13)"

· Đặt x tùy thuộc vào giá trị của y:

crop=in_w/2:in_h/2:y:10+10*sin(n/10)

Lệnh

Bộ lọc này hỗ trợ các lệnh sau:

w, ra_w h, ra_h x y Đặt chiều rộng / chiều cao của video đầu ra và vị trí ngang / dọc trong đầu vào băng hình. Lệnh chấp nhận cùng một cú pháp của tùy chọn tương ứng.

Nếu biểu thức được chỉ định không hợp lệ, nó được giữ ở giá trị hiện tại.

cắt xén Tự động phát hiện kích thước cắt.

Nó tính toán các thông số cắt xén cần thiết và in các thông số được đề xuất qua hệ thống ghi nhật ký. Các kích thước được phát hiện tương ứng với vùng không đen của đầu vào video.

Nó chấp nhận các tham số sau:

hạn chế Đặt ngưỡng giá trị màu đen cao hơn, có thể được chỉ định tùy chọn từ không (0) cho mọi thứ (255 cho các định dạng dựa trên 8bit). Một giá trị cường độ lớn hơn cho tập hợp giá trị được coi là không đen. Nó mặc định là 24. Bạn cũng có thể chỉ định một giá trị từ 0.0 đến 1.0 sẽ được chia tỷ lệ tùy thuộc vào độ sâu bit của pixel định dạng.

tròn Giá trị mà chiều rộng / chiều cao phải chia hết cho. Nó mặc định là 16. Phần bù được tự động điều chỉnh để căn giữa video. Sử dụng 2 để chỉ nhận được các kích thước chẵn (cần cho video 4: 2: 2). 16 là tốt nhất khi mã hóa thành hầu hết các codec video.

đặt lại_đếm, thiết lập lại Đặt bộ đếm xác định sau bao nhiêu khung hình cắt xén sẽ đặt lại vùng video lớn nhất đã phát hiện trước đó và bắt đầu lại để phát hiện vùng tối ưu hiện tại vùng thu hoạch. Giá trị mặc định là 0.

Điều này có thể hữu ích khi biểu trưng kênh làm biến dạng vùng video. 0 cho biết 'không bao giờ đặt lại 'và trả về khu vực lớn nhất gặp phải trong quá trình phát lại.

đường cong Áp dụng các điều chỉnh màu sắc bằng cách sử dụng các đường cong.

Bộ lọc này tương tự như các công cụ đường cong của Adobe Photoshop và GIMP. Mỗi thành phần (màu đỏ, xanh lá cây và xanh lam) có các giá trị của nó được xác định bởi

N

các điểm chính được ràng buộc với nhau bằng cách sử dụng đường cong. Trục x đại diện cho các giá trị pixel từ khung đầu vào và trục y là giá trị mới giá trị pixel được đặt cho khung đầu ra.

Theo mặc định, một đường cong thành phần được xác định bởi hai điểm

(0; 0)

(1; 1)

. Điều này tạo ra một đường thẳng trong đó mỗi giá trị pixel ban đầu được "điều chỉnh" thành giá trị riêng của nó, có nghĩa là không thay đổi hình ảnh.

Bộ lọc cho phép bạn xác định lại hai điểm này và thêm một số điểm khác. Một đường cong mới (sử dụng một phép nội suy đường khối lập phương tự nhiên) sẽ được xác định để thông qua tất cả những điều mới này tọa độ. Các điểm được xác định mới cần phải tăng lên một cách nghiêm ngặt theo trục x và cung cấp their dịch

x

y

giá trị phải nằm trong

[0; 1]

khoảng thời gian. Nếu các đường cong được tính toán xảy ra bên ngoài không gian vectơ, các giá trị sẽ được cắt bớt tương ứng.

Nếu không có điểm chính nào được xác định trong "x = 0", bộ lọc sẽ tự động chèn

(0; 0)

chỉ trỏ. Theo cách tương tự, nếu không có điểm chính nào được xác định trong "x = 1", bộ lọc sẽ tự động chèn một

(1; 1)

điểm.

Bộ lọc chấp nhận các tùy chọn sau:

cài sẵn Chọn một trong các cài đặt trước màu có sẵn. Tùy chọn này có thể được sử dụng ngoài r, g, b thông số; trong trường hợp này, các tùy chọn sau được ưu tiên trên giá trị đặt trước các giá trị. Các giá trị đặt trước có sẵn là:

không ai màu_âm xuyên suốt quá trình tối hơn gia tăng sự tương phản nhẹ hơn độ tương phản tuyến tính độ tương phản trung bình tiêu cực mạnh_tương phản cổ điển

Mặc định là "không".

bậc thầy, m Đặt các điểm chính chính. Những điểm này sẽ xác định ánh xạ đường chuyền thứ hai. Nó là đôi khi được gọi là ánh xạ "độ chói" hoặc "giá trị". Nó có thể được sử dụng với r, g, b or tất cả các vì nó hoạt động giống như một LUT xử lý sau.

màu đỏ, r Đặt các điểm chính cho thành phần màu đỏ.

xanh lá cây, g Đặt các điểm chính cho thành phần màu xanh lá cây.

màu xanh da trời, b Đặt các điểm chính cho thành phần màu xanh lam.

tất cả các Đặt các điểm chính cho tất cả các thành phần (không bao gồm chính). Có thể được sử dụng thêm đến các tùy chọn thành phần các điểm chính khác. Trong trường hợp này, (các) thành phần chưa được đặt sẽ dự phòng về điều này tất cả các thiết lập.

tập tin ps Chỉ định tệp đường cong Photoshop (".asv") để nhập cài đặt từ đó.

Để tránh một số xung đột cú pháp đồ thị bộ lọc, mỗi danh sách điểm chính cần được xác định bằng cách sử dụng cú pháp sau: "x0 / y0 x1 / y1 x2 / y2 ...".

Các ví dụ

· Tăng một chút mức độ giữa của màu xanh lam:

đường cong = blue = '0.5 / 0.58'

· Hiệu ứng cổ điển:

curves=r='0/0.11 .42/.51 1/0.95':g='0.50/0.48':b='0/0.22 .49/.44 1/0.8'

Ở đây chúng tôi có được các tọa độ sau cho từng thành phần:

đỏ

"(0;0.11) (0.42;0.51) (1;0.95)"

màu xanh lá

"(0;0) (0.50;0.48) (1;1)"

màu xanh da trời

"(0;0.22) (0.49;0.44) (1;0.80)"

· Ví dụ trước cũng có thể đạt được với cài đặt trước tích hợp sẵn có liên quan:

Curve = preset = cổ điển

· Hoặc đơn giản:

đường cong = cổ điển

· Sử dụng cài đặt trước của Photoshop và xác định lại các điểm của thành phần màu xanh lá cây:

Curve = psfile = 'MyCurvesPresets / Purple.asv': green = '0.45 / 0.53'

dctdnoiz Khử nhiễu khung bằng 2D DCT (lọc miền tần số).

Bộ lọc này không được thiết kế cho thời gian thực.

Bộ lọc chấp nhận các tùy chọn sau:

sigma, s Đặt hằng số sigma tiếng ồn.

T

sigma

xác định ngưỡng cứng là "3 * sigma"; mọi hệ số DCT (tuyệt đối giá trị) dưới ngưỡng này với bị loại bỏ.

Nếu bạn cần một bộ lọc nâng cao hơn, hãy xem thể hiện.

Mặc định là 0.

trùng lặp Đặt số lượng pixel chồng lên nhau cho mỗi khối. Vì bộ lọc có thể chậm, bạn có thể muốn giảm giá trị này, với chi phí của một bộ lọc kém hiệu quả hơn và rủi ro đồ tạo tác khác nhau.

Nếu giá trị chồng chéo không cho phép xử lý toàn bộ chiều rộng hoặc chiều cao đầu vào, a cảnh báo sẽ được hiển thị và theo đường viền sẽ không bị thay đổi.

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

kích thước khối

-1, là cài đặt tốt nhất có thể.

kinh nghiệm, e Đặt biểu thức hệ số.

Đối với mỗi hệ số của một khối DCT, biểu thức này sẽ được đánh giá là một cấp số nhân giá trị cho hệ số.

Nếu tùy chọn này được đặt, sigma tùy chọn sẽ bị bỏ qua.

Giá trị tuyệt đối của hệ số có thể được truy cập thông qua

c

biến.

n Đặt

kích thước khối

sử dụng số lượng bit. "1 <

n"

định nghĩa

kích thước khối

, đó là chiều rộng và chiều cao của các khối được xử lý.

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

3

(8x8) và có thể được nâng lên

4

cho một

kích thước khối

16x16. Ghi chú rằng việc thay đổi cài đặt này có hậu quả rất lớn đối với quá trình xử lý tốc độ. Vừa là kích thước khối lớn hơn không nhất thiết có nghĩa là khử nhiễu tốt hơn.

Các ví dụ

Áp dụng một biến tính với một sigma của 4.5:

dctdnoiz = 4.5

Hoạt động tương tự có thể đạt được bằng cách sử dụng hệ thống biểu thức:

dctdnoiz = e = 'gte (c, 4.5 * 3)'

Khử nhiễu bạo lực bằng cách sử dụng kích thước khối "16x16":

dctdnoiz = 15: n = 4

bỏ đi Xóa tạo tác dải khỏi video đầu vào. Nó hoạt động bằng cách thay thế các pixel được dải bằng giá trị trung bình của các pixel được tham chiếu.

Bộ lọc chấp nhận các tùy chọn sau:

thứ 1 thứ 2 thứ 3 thứ 4 Đặt ngưỡng phát hiện dải cho từng mặt phẳng. Mặc định là 0.02. Phạm vi hợp lệ là 0.00003 đến 0.5. Nếu sự khác biệt giữa pixel hiện tại và pixel tham chiếu nhỏ hơn ngưỡng, nó sẽ được coi là dải.

phạm vi, r Phạm vi phát hiện dải tính bằng pixel. Mặc định là 16. Nếu số dương, số ngẫu nhiên trong phạm vi 0 để đặt giá trị sẽ được sử dụng. Nếu âm, giá trị tuyệt đối chính xác sẽ được sử dụng. Các phạm vi xác định hình vuông của bốn pixel xung quanh pixel hiện tại.

phương hướng, d Đặt hướng tính bằng radian mà từ đó bốn pixel sẽ được so sánh. Nếu tích cực, ngẫu nhiên hướng từ 0 đến hướng đã đặt sẽ được chọn. Nếu âm, chính xác của giá trị tuyệt đối sẽ được chọn. Ví dụ: radian hướng 0, -PI hoặc -2 * PI sẽ chỉ chọn các pixel trên cùng một hàng và -PI / 2 sẽ chỉ chọn các pixel trên cùng một cột.

blur Nếu được bật, pixel hiện tại được so sánh với giá trị trung bình của cả bốn điểm xung quanh điểm ảnh. Mặc định được bật. Nếu bị vô hiệu, pixel hiện tại sẽ được so sánh với cả bốn các pixel xung quanh. Pixel được coi là dải nếu chỉ có tất cả bốn điểm khác biệt với các pixel xung quanh nhỏ hơn ngưỡng.

phá huỷ phần lớn Thả các khung hình trùng lặp vào các khoảng thời gian đều đặn.

Bộ lọc chấp nhận các tùy chọn sau:

chu kỳ Đặt số lượng khung hình sẽ bị loại bỏ. Đặt cái này thành

N

nghĩa là một khung trong mỗi lô

N

khung sẽ bị loại bỏ. Mặc định là 5.

trùng lặp Đặt ngưỡng phát hiện trùng lặp. Nếu số liệu chênh lệch cho một khung là nhỏ hơn hoặc bằng giá trị này, thì nó được khai báo là trùng lặp. Mặc định là 1.1

sthresh Đặt ngưỡng thay đổi cảnh. Mặc định là 15.

khốix khối Đặt kích thước của các khối trục x và y được sử dụng trong quá trình tính toán số liệu. Lớn hơn khối cung cấp khả năng khử nhiễu tốt hơn, nhưng cũng cung cấp khả năng phát hiện kém hơn các sự di chuyển. Phải là một sức mạnh của hai. Mặc định là 32.

ppsrc Đánh dấu đầu vào chính là đầu vào được xử lý trước và kích hoạt luồng đầu vào nguồn sạch. Cái này cho phép đầu vào được xử lý trước với nhiều bộ lọc khác nhau để giúp các chỉ số tính toán trong khi vẫn giữ cho lựa chọn khung hình không bị mất. Khi được đặt thành 1, giá trị đầu tiên luồng dành cho đầu vào được xử lý trước và luồng thứ hai là nguồn sạch từ nơi các khung được lưu giữ được chọn. Mặc định là 0.

sắc độ Đặt xem sắc độ có được xem xét trong tính toán số liệu hay không. Mặc định là 1.

xì hơi Áp dụng hiệu ứng xì hơi cho video.

Bộ lọc này thay thế pixel bằng địa phương(3x3) trung bình chỉ tính đến giá trị thấp hơn pixel.

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

ngưỡng 0 ngưỡng 1 ngưỡng 2 ngưỡng 3 Giới hạn thay đổi tối đa cho mỗi mặt phẳng, mặc định là 65535. Nếu 0, mặt phẳng sẽ vẫn không thay đổi.

máy làm mịn Loại bỏ tiếng rung do nội dung truyền hình xen kẽ một phần.

Judder có thể được giới thiệu, ví dụ, bởi kéo lên lọc. Nếu nguồn ban đầu là một phần nội dung truyền hình thì đầu ra của "pullup, dejudder" sẽ có một biến tỷ lệ khung hình. Có thể thay đổi tốc độ khung hình đã ghi của vùng chứa. Bên cạnh sự thay đổi đó, bộ lọc này sẽ không ảnh hưởng đến video tốc độ khung hình không đổi.

Tùy chọn có sẵn trong bộ lọc này là:

chu kỳ Chỉ định độ dài của cửa sổ mà bộ rung lặp lại.

Chấp nhận bất kỳ số nguyên nào lớn hơn 1. Các giá trị hữu ích là:

4 Nếu bản gốc được truyền hình từ 24 đến 30 khung hình / giây (Phim sang NTSC).

5 Nếu bản gốc được truyền hình từ 25 đến 30 khung hình / giây (PAL đến NTSC).

20 Nếu một hỗn hợp của hai.

Mặc định là 4.

biểu tượng Loại bỏ biểu trưng của đài truyền hình bằng một phép nội suy đơn giản của các pixel xung quanh. Chỉ cần đặt một hình chữ nhật bao phủ logo và xem nó biến mất (và đôi khi còn xấu hơn xuất hiện - số dặm của bạn có thể thay đổi).

Nó chấp nhận các tham số sau:

x y Chỉ định tọa độ góc trên cùng bên trái của biểu trưng. Chúng phải được chỉ định.

w h Chỉ định chiều rộng và chiều cao của biểu trưng để xóa. Chúng phải được chỉ định.

ban nhạc, t Chỉ định độ dày của cạnh mờ của hình chữ nhật (được thêm vào

w

h

). Các giá trị mặc định là 4.

hiển thị Khi được đặt thành 1, một hình chữ nhật màu xanh lá cây sẽ được vẽ trên màn hình để đơn giản hóa việc tìm kiếm quyền

x

,

y

,

w

h

thông số. Giá trị mặc định là 0.

Hình chữ nhật được vẽ trên các pixel ngoài cùng sẽ được thay thế (một phần) bằng giá trị nội suy. Giá trị của các pixel tiếp theo ngay bên ngoài hình chữ nhật này theo mỗi hướng sẽ được sử dụng để tính toán các giá trị pixel được nội suy bên trong hình chữ nhật.

Các ví dụ

· Đặt một hình chữ nhật bao phủ khu vực có tọa độ góc trên cùng bên trái là 0,0 và kích thước 100x77 và dải kích thước 10:

delogo=x=0:y=0:w=100:h=77:band=10

làm tan chảy Cố gắng sửa những thay đổi nhỏ trong chuyển dịch ngang và / hoặc dọc. Bộ lọc này giúp loại bỏ rung máy khi cầm máy ảnh bằng tay, va đập vào chân máy, di chuyển trên xe, v.v.

Bộ lọc chấp nhận các tùy chọn sau:

x y w h Chỉ định một khu vực hình chữ nhật để giới hạn tìm kiếm vectơ chuyển động. Nếu muốn việc tìm kiếm vectơ chuyển động có thể được giới hạn trong một vùng hình chữ nhật của khung được xác định bởi góc trên cùng bên trái, chiều rộng và chiều cao của nó. Các thông số này có cùng nghĩa là bộ lọc hộp kéo có thể được sử dụng để hình dung vị trí của hộp giới hạn.

Điều này rất hữu ích khi chuyển động đồng thời của các đối tượng trong khung hình có thể nhầm lẫn với chuyển động của camera bởi tìm kiếm vectơ chuyển động.

Nếu có hoặc tất cả

x

,

y

,

w

h

được đặt thành -1 thì toàn bộ khung hình được sử dụng. Điều này cho phép các tùy chọn sau sẽ được đặt mà không chỉ định hộp giới hạn cho vectơ chuyển động tìm kiếm.

Mặc định - tìm kiếm toàn bộ khung.

rx ry Chỉ định mức độ chuyển động tối đa theo hướng x và y trong phạm vi 0-64 pixel. Mặc định 16.

cạnh Chỉ định cách tạo pixel để lấp đầy khoảng trống ở rìa khung. Có sẵn giá trị là:

chỗ trống, 0 Điền các số XNUMX vào các vị trí trống

bản gốc, 1 Hình ảnh gốc tại các vị trí trống

kẹp, 2 Giá trị cạnh đùn tại các vị trí trống

gương, 3 Cạnh được phản chiếu tại các vị trí trống

Giá trị mặc định là gương.

kích thước khối Chỉ định kích thước khối để sử dụng cho tìm kiếm chuyển động. Phạm vi 4-128 pixel, mặc định là 8.

Ngược lại Chỉ định ngưỡng tương phản cho các khối. Chỉ các khối có nhiều hơn giá trị được chỉ định độ tương phản (sự khác biệt giữa pixel tối nhất và sáng nhất) sẽ được xem xét. Phạm vi 1-255, mặc định 125.

Tìm kiếm Chỉ định chiến lược tìm kiếm. Các giá trị có sẵn là:

đầy đủ, 0 Đặt tìm kiếm đầy đủ

ít hơn, 1 Đặt tìm kiếm ít đầy đủ hơn.

Giá trị mặc định là toàn diện.

tên tập tin Nếu được đặt thì nhật ký chi tiết của việc tìm kiếm chuyển động sẽ được ghi vào tệp được chỉ định.

mởcl Nếu được đặt thành 1, hãy chỉ định bằng cách sử dụng các khả năng OpenCL, chỉ khả dụng nếu FFmpeg là được định cấu hình bằng "--enable-opencl". Giá trị mặc định là 0.

phát hiện Áp dụng một phép nghịch đảo chính xác của hoạt động telecine. Nó yêu cầu một mẫu được xác định trước được chỉ định bằng cách sử dụng tùy chọn mẫu phải giống với tùy chọn được truyền đến telecine lọc.

Bộ lọc này chấp nhận các tùy chọn sau:

trường đầu tiên hàng đầu, t trường trên cùng đầu tiên

đáy, b trường dưới cùng đầu tiên Giá trị mặc định là "trên cùng".

Belt Hold Chuỗi số đại diện cho kiểu kéo xuống mà bạn muốn áp dụng. Mặc định giá trị là 23.

khung bắt đầu Một số đại diện cho vị trí của khung hình đầu tiên liên quan đến telecine mẫu. Điều này sẽ được sử dụng nếu luồng bị cắt. Giá trị mặc định là 0.

sự giãn nở Áp dụng hiệu ứng giãn nở cho video.

Bộ lọc này thay thế pixel bằng địa phương(3x3) tối đa.

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

ngưỡng 0 ngưỡng 1 ngưỡng 2 ngưỡng 3 Giới hạn thay đổi tối đa cho mỗi mặt phẳng, mặc định là 65535. Nếu 0, mặt phẳng sẽ vẫn không thay đổi.

tọa độ Cờ chỉ định pixel để tham chiếu. Mặc định là 255 tức là tất cả tám pixel là đã sử dụng.

Gắn cờ cho bản đồ tọa độ 3x3 cục bộ như thế này:

1 2 3 4 5 6 7 8

hộp kéo Vẽ một hộp màu trên hình ảnh đầu vào.

Nó chấp nhận các tham số sau:

x y Các biểu thức chỉ định tọa độ góc trên cùng bên trái của hộp. Nó mặc định để 0.

chiều rộng, w Chiều cao, h Các biểu thức chỉ định chiều rộng và chiều cao của hộp; nếu 0 thì họ là được hiểu là chiều rộng và chiều cao đầu vào. Nó mặc định là 0.

màu sắc, c Chỉ định màu của ô để viết. Để biết cú pháp chung của tùy chọn này, hãy kiểm tra phần "Màu sắc" trong hướng dẫn sử dụng ffmpeg-utils. Nếu giá trị đặc biệt "invert" được sử dụng, màu sắc cạnh hộp giống như video với luma đảo ngược.

độ dày, t Biểu thức đặt độ dày của cạnh hộp. Giá trị mặc định là 3.

Xem bên dưới để biết danh sách các hằng số được chấp nhận.

Các tham số cho

x

,

y

,

w

h

t

là các biểu thức có chứa các hằng số sau:

dar Tỷ lệ khung hình hiển thị đầu vào, nó giống như (

w

/

h

) *

sar

.

hsub vsub các giá trị mẫu con sắc độ ngang và dọc. Ví dụ đối với định dạng pixel "yuv422p"

hsub

là 2 và

vsub

là 1.

trong_h, ih trong W, iw Chiều rộng và chiều cao đầu vào.

sar Tỷ lệ co của mẫu đầu vào.

x y Tọa độ bù x và y nơi hộp được vẽ.

w h Chiều rộng và chiều cao của hộp được vẽ.

t Chiều dày của hộp được vẽ.

Những hằng số này cho phép

x

,

y

,

w

,

h

t

các biểu thức để tham khảo lẫn nhau, vì vậy bạn Ví dụ có thể chỉ định "y = x / dar" hoặc "h = w / dar".

Các ví dụ

· Vẽ một hộp đen xung quanh cạnh của hình ảnh đầu vào:

hộp kéo

· Vẽ một hộp với màu đỏ và độ mờ 50%:

hộp kéo = 10: 20: 200: 60:

Ví dụ trước có thể được chỉ định là:

hộp vẽ = x = 10: y = 20: w = 200: h = 60: màu =

· Tô màu hồng vào ô:

hộp vẽ = x = 10: y = 10: w = 100: h = 100: màu =: t = tối đa

· Vẽ mặt nạ 2: 2.40 màu đỏ 1 pixel:

drawbox=x=-t:y=0.5*(ih-iw/2.4)-t:w=iw+t*2:h=iw/2.4+t*2:t=2:c=red

máy vẽ, bản vẽ Vẽ biểu đồ bằng siêu dữ liệu video hoặc âm thanh đầu vào.

Nó chấp nhận các tham số sau:

m1 Đặt khóa siêu dữ liệu khung đầu tiên mà từ đó các giá trị siêu dữ liệu sẽ được sử dụng để vẽ biểu đồ.

fg1 Đặt biểu thức màu nền trước đầu tiên.

m2 Đặt khóa siêu dữ liệu khung thứ 2 mà từ đó các giá trị siêu dữ liệu sẽ được sử dụng để vẽ biểu đồ.

fg2 Đặt biểu thức màu nền trước thứ 2.

m3 Đặt khóa siêu dữ liệu khung thứ 3 mà từ đó các giá trị siêu dữ liệu sẽ được sử dụng để vẽ biểu đồ.

fg3 Đặt biểu thức màu nền trước thứ 3.

m4 Đặt khóa siêu dữ liệu khung thứ 4 mà từ đó các giá trị siêu dữ liệu sẽ được sử dụng để vẽ biểu đồ.

fg4 Đặt biểu thức màu nền trước thứ 4.

phút Đặt giá trị tối thiểu của giá trị siêu dữ liệu.

tối đa Đặt giá trị lớn nhất của giá trị siêu dữ liệu.

bg Đặt màu nền đồ thị. Mặc định là màu trắng.

chế độ Đặt chế độ đồ thị.

Các giá trị có sẵn cho chế độ là:

thanh dot hàng

Mặc định là "dòng".

trượt Đặt chế độ trượt.

Các giá trị có sẵn cho trang trình bày là:

khung Vẽ khung mới khi đạt đến đường viền bên phải.

thay thế Thay thế các cột cũ bằng những cột mới.

di chuyển Di chuyển từ phải sang trái.

rsscroll Di chuyển từ trái sang phải.

Mặc định là "khung".

kích thước Đặt kích thước của video biểu đồ. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu. Giá trị mặc định là "900x256".

Biểu thức màu nền trước có thể sử dụng các biến sau:

MIN Giá trị tối thiểu của giá trị siêu dữ liệu.

MAX Giá trị tối đa của giá trị siêu dữ liệu.

VAL Giá trị khóa siêu dữ liệu hiện tại.

Màu được xác định là 0xAABBGGRR.

Ví dụ sử dụng siêu dữ liệu từ trạng thái tín hiệu bộ lọc:

signalstats, drawgraph = lavfi.signalstats.YAVG: min = 0: max = 255

Ví dụ sử dụng siêu dữ liệu từ ebur128 bộ lọc:

ebur128=metadata=1,adrawgraph=lavfi.r128.M:min=-120:max=5

lưới kéo Vẽ lưới trên hình ảnh đầu vào.

Nó chấp nhận các tham số sau:

x y Các biểu thức chỉ định tọa độ của một số điểm giao nhau giữa lưới (có nghĩa là để cấu hình bù đắp). Cả hai đều mặc định là 0.

chiều rộng, w Chiều cao, h Các biểu thức chỉ định chiều rộng và chiều cao của ô lưới, nếu 0 thì chúng là được hiểu là chiều rộng và chiều cao đầu vào, tương ứng, trừ đi "độ dày", vì vậy hình ảnh được đóng khung. Mặc định là 0.

màu sắc, c Chỉ định màu của lưới. Để biết cú pháp chung của tùy chọn này, hãy kiểm tra Phần "Màu" trong sổ tay ffmpeg-utils. Nếu giá trị đặc biệt "invert" được sử dụng, màu lưới giống như video với luma đảo ngược.

độ dày, t Biểu thức đặt độ dày của đường lưới. Giá trị mặc định là 1.

Xem bên dưới để biết danh sách các hằng số được chấp nhận.

Các tham số cho

x

,

y

,

w

h

t

là các biểu thức có chứa các hằng số sau:

dar Tỷ lệ khung hình hiển thị đầu vào, nó giống như (

w

/

h

) *

sar

.

hsub vsub các giá trị mẫu con sắc độ ngang và dọc. Ví dụ đối với định dạng pixel "yuv422p"

hsub

là 2 và

vsub

là 1.

trong_h, ih trong W, iw Chiều rộng và chiều cao của ô lưới đầu vào.

sar Tỷ lệ co của mẫu đầu vào.

x y Tọa độ x và y của một số điểm giao nhau giữa lưới (có nghĩa là để định cấu hình bù lại).

w h Chiều rộng và chiều cao của ô đã vẽ.

t Độ dày của ô đã vẽ.

Những hằng số này cho phép

x

,

y

,

w

,

h

t

các biểu thức để tham khảo lẫn nhau, vì vậy bạn Ví dụ có thể chỉ định "y = x / dar" hoặc "h = w / dar".

Các ví dụ

· Vẽ một lưới với ô 100x100 pixel, độ dày 2 pixel, với màu đỏ và một độ mờ 50%:

drawgrid = width = 100: height = 100: thin = 2: color =

· Vẽ một lưới 3x3 màu trắng với độ mờ 50%:

drawgrid = w = iw / 3: h = ih / 3: t = 2: c =

bản vẽ Vẽ một chuỗi văn bản hoặc văn bản từ một tệp được chỉ định trên đầu video, sử dụng libfreetype thư viện.

Để kích hoạt biên dịch bộ lọc này, bạn cần định cấu hình FFmpeg với "--enable-libfreetype". Để bật dự phòng phông chữ mặc định và

font chữ

tùy chọn bạn cần cấu hình FFmpeg bằng "--enable-libfontconfig". Để kích hoạt

định hình văn bản

tùy chọn, bạn cần cấu hình FFmpeg bằng "--enable-libfribidi".

cú pháp

Nó chấp nhận các tham số sau:

cái hộp Được sử dụng để vẽ một hộp xung quanh văn bản bằng cách sử dụng màu nền. Giá trị phải là 1 (bật) hoặc 0 (tắt). Giá trị mặc định của

cái hộp

là 0.

hộpbiên giới Đặt chiều rộng của đường viền sẽ được vẽ xung quanh hộp bằng cách sử dụng

màu hộp

. Mặc định giá trị của

hộpbiên giới

là 0.

màu hộp Màu được sử dụng để vẽ hộp xung quanh văn bản. Để biết cú pháp của tùy chọn này, hãy kiểm tra phần "Màu sắc" trong hướng dẫn sử dụng ffmpeg-utils.

Giá trị mặc định của

màu hộp

là màu trắng".

biên giới Đặt chiều rộng của đường viền sẽ được vẽ xung quanh văn bản bằng cách sử dụng

màu viền

. Các giá trị mặc định của

biên giới

là 0.

màu viền Đặt màu được sử dụng để vẽ đường viền xung quanh văn bản. Đối với cú pháp của điều này , hãy kiểm tra phần "Màu sắc" trong hướng dẫn sử dụng ffmpeg-utils.

Giá trị mặc định của

màu viền

là "đen".

mở rộng Chọn cách

văn bản

được mở rộng. Có thể là "none", "strftime" (không dùng nữa) hoặc "bình thường" (mặc định). Xem drawtext_expansion, bản văn mở rộng phần bên dưới cho chi tiết.

fix_bounds Nếu đúng, hãy kiểm tra và sửa các chuỗi văn bản để tránh cắt bớt.

màu phông chữ Màu được sử dụng để vẽ phông chữ. Để biết cú pháp của tùy chọn này, hãy kiểm tra Phần "Màu" trong sổ tay ffmpeg-utils.

Giá trị mặc định của

màu phông chữ

là "đen".

fontcolor_expr Chuỗi được mở rộng giống như

văn bản

để có được động

màu phông chữ

giá trị. Qua mặc định tùy chọn này có giá trị trống và không được xử lý. Khi tùy chọn này được đặt, nó ghi đè

màu phông chữ

tùy chọn.

font chữ Họ phông chữ được sử dụng để vẽ văn bản. Theo mặc định, Sans.

phông chữ Tệp phông chữ được sử dụng để vẽ văn bản. Đường dẫn phải được bao gồm. Tham số này là bắt buộc nếu hỗ trợ fontconfig bị tắt.

vẽ tranh Tùy chọn này không tồn tại, vui lòng xem hệ thống dòng thời gian

alpha Vẽ văn bản bằng cách áp dụng hòa trộn alpha. Giá trị có thể là một số giữa 0.0 và 1.0 Biểu thức chấp nhận các biến giống nhau

x, y

làm. Giá trị mặc định là 1. Vui lòng xem fontcolor_expr

cỡ chữ Kích thước phông chữ được sử dụng để vẽ văn bản. Giá trị mặc định của

cỡ chữ

là 16.

định hình văn bản Nếu được đặt thành 1, hãy cố gắng định hình văn bản (ví dụ: đảo ngược thứ tự từ phải sang- văn bản bên trái và nối các ký tự Ả Rập) trước khi vẽ nó. Nếu không, chỉ cần vẽ văn bản chính xác như đã cho. Theo mặc định 1 (nếu được hỗ trợ).

ft_load_flags Các cờ được sử dụng để tải các phông chữ.

Các cờ ánh xạ các cờ tương ứng được hỗ trợ bởi libfreetype và là sự kết hợp trong số các giá trị sau:

mặc định no_scale không_gợi ý sản lượng no_bitmap bố cục dọc buộc_autohint crop_bitmap mô phạm bỏ qua_global_advance_width không_recurse bỏ qua_transform đơn sắc thiết kế tuyến tính không_tự động gợi ý

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

Để biết thêm thông tin, hãy tham khảo tài liệu về cờ FT_LOAD_ * libfreetype.

màu bóng Màu được sử dụng để vẽ bóng phía sau văn bản đã vẽ. Đối với cú pháp của tùy chọn này, hãy kiểm tra phần "Màu sắc" trong hướng dẫn sử dụng ffmpeg-utils.

Giá trị mặc định của

màu bóng

là "đen".

bóng tối vong linh Các hiệu số x và y cho vị trí bóng văn bản so với vị trí của chữ. Chúng có thể là giá trị dương hoặc âm. Giá trị mặc định cho cả hai là "0/XNUMX/XNUMX".

số_bắt đầu Số khung bắt đầu cho biến n / frame_num. Giá trị mặc định là "0".

kích thước tab Kích thước về số lượng khoảng trắng được sử dụng để hiển thị tab. Giá trị mặc định là 4.

timecode Đặt biểu diễn mã thời gian ban đầu ở định dạng "hh: mm: ss [:;.] Ff". Nó có thể được sử dụng có hoặc không có tham số văn bản.

timecode_rate

tùy chọn phải được chỉ định.

timecode_rate, tỷ lệ, r Đặt tốc độ khung hình mã thời gian (chỉ dành cho mã thời gian).

văn bản Chuỗi văn bản sẽ được vẽ. Văn bản phải là một chuỗi các ký tự được mã hóa UTF-8. Tham số này là bắt buộc nếu không có tệp nào được chỉ định với tham số

tệp văn bản

.

tệp văn bản Một tệp văn bản chứa văn bản được vẽ. Văn bản phải là một chuỗi được mã hóa UTF-8 ký tự.

Tham số này là bắt buộc nếu không có chuỗi văn bản nào được chỉ định với tham số

văn bản

.

Nếu cả hai

văn bản

tệp văn bản

được chỉ định, một lỗi được ném ra.

tải lại Nếu được đặt thành 1,

tệp văn bản

sẽ được tải lại trước mỗi khung hình. Hãy chắc chắn để cập nhật nó về mặt nguyên tử, hoặc nó có thể được đọc một phần, hoặc thậm chí không thành công.

x y Các biểu thức chỉ định các hiệu số mà văn bản sẽ được vẽ trong video khung. Chúng có liên quan đến đường viền trên cùng / bên trái của hình ảnh đầu ra.

Giá trị mặc định của

x

y

là "0".

Xem bên dưới để biết danh sách các hằng số và hàm được chấp nhận.

Các tham số cho

x

y

là các biểu thức chứa các hằng số sau và chức năng:

dar tỷ lệ khung hình hiển thị đầu vào, nó giống như (

w

/

h

) *

sar

hsub vsub các giá trị mẫu con sắc độ ngang và dọc. Ví dụ đối với định dạng pixel "yuv422p"

hsub

là 2 và

vsub

là 1.

dòng_h, lh chiều cao của mỗi dòng văn bản

chính_h, h, H chiều cao đầu vào

chính_w, w, W chiều rộng đầu vào

max_glyph_a, đi lên khoảng cách tối đa từ đường cơ sở đến tọa độ lưới cao nhất / trên được sử dụng để đặt một điểm phác thảo glyph, cho tất cả các glyph được kết xuất. Đó là một giá trị dương, do theo hướng của lưới với trục Y hướng lên.

max_glyph_d, hạ xuống khoảng cách tối đa từ đường cơ sở đến tọa độ lưới thấp nhất được sử dụng để đặt một điểm phác thảo glyph, cho tất cả các glyph được kết xuất. Đây là một giá trị âm, do định hướng của lưới, với trục Y hướng lên.

max_glyph_h chiều cao glyph tối đa, đó là chiều cao tối đa cho tất cả các glyph có trong văn bản được kết xuất, nó tương đương với

đi lên

-

hạ xuống

.

max_glyph_w chiều rộng glyph tối đa, đó là chiều rộng tối đa cho tất cả các glyph có trong kết xuất văn bản

n số lượng khung hình đầu vào, bắt đầu từ 0

rand (tối thiểu, tối đa) trả về một số ngẫu nhiên được bao gồm giữa

phút

tối đa

sar Tỷ lệ co của mẫu đầu vào.

t dấu thời gian được biểu thị bằng giây, NAN nếu dấu thời gian đầu vào không xác định

văn bản_h, th chiều cao của văn bản được hiển thị

văn bản_w, tw chiều rộng của văn bản được hiển thị

x y tọa độ bù x và y nơi văn bản được vẽ.

Các thông số này cho phép

x

y

các biểu thức để giới thiệu lẫn nhau, vì vậy bạn có thể ví dụ chỉ định "y = x / dar".

bản văn mở rộng

If mở rộng được đặt thành "strftime", bộ lọc nhận ra

strftime ()

trình tự trong cung cấp văn bản và mở rộng chúng cho phù hợp. Kiểm tra tài liệu của

strftime ()

. Điều này tính năng không được dùng nữa.

If mở rộng được đặt thành "none", văn bản được in nguyên văn.

If mở rộng được đặt thành "bình thường" (là mặc định), cơ chế mở rộng sau Được sử dụng.

Ký tự gạch chéo ngược \, theo sau là bất kỳ ký tự nào, luôn mở rộng đến ký tự thứ hai nhân vật.

Chuỗi của dạng "% {...}" được mở rộng. Văn bản giữa các dấu ngoặc nhọn là một hàm tên, có thể theo sau bởi các đối số được phân tách bằng ':'. Nếu các đối số chứa đặc biệt ký tự hoặc dấu phân cách (':' hoặc '}'), chúng phải được thoát ra.

Lưu ý rằng chúng có thể cũng phải được thoát ra dưới dạng giá trị cho văn bản tùy chọn trong chuỗi đối số bộ lọc và là đối số bộ lọc trong mô tả sơ đồ bộ lọc, và cũng có thể đối với shell, tạo ra bốn cấp độ thoát; sử dụng một tệp văn bản tránh những vấn đề này.

Các chức năng sau có sẵn:

kinh nghiệm, e Kết quả đánh giá biểu thức.

Nó phải có một đối số chỉ định biểu thức được đánh giá, nó chấp nhận các hằng số và chức năng giống như

x

y

các giá trị. Lưu ý rằng không phải tất cả các hằng số đều nên được sử dụng, chẳng hạn như kích thước văn bản không được biết khi đánh giá biểu thức, vì vậy không thay đổi

văn bản_w

văn bản_h

sẽ có giá trị không xác định.

expr_int_format, nếu Đánh giá giá trị và đầu ra của biểu thức dưới dạng số nguyên được định dạng.

Đối số đầu tiên là biểu thức được đánh giá, cũng như đối với

thể hiện

chức năng. Đối số thứ hai chỉ định định dạng đầu ra. Các giá trị được phép là x, X, d và u. Chúng được xử lý chính xác như trong hàm "printf". Tham số thứ ba là tùy chọn và đặt số lượng vị trí được thực hiện bởi đầu ra. Nó có thể được sử dụng để thêm đệm với các số không từ bên trái.

gmtime Thời gian bộ lọc đang chạy, được biểu thị bằng UTC. Nó có thể chấp nhận một đối số: a

strftime ()

chuỗi định dạng.

giờ địa phương Thời gian mà bộ lọc đang chạy, được biểu thị bằng múi giờ địa phương. Nó có thể chấp nhận một đối số: a

strftime ()

chuỗi định dạng.

siêu dữ liệu Siêu dữ liệu khung. Nó phải có một đối số chỉ định khóa siêu dữ liệu.

n, số khung Số khung, bắt đầu từ 0.

kiểu_tình_hình Mô tả 1 ký tự của loại hình ảnh hiện tại.

Điểm Dấu thời gian của khung hiện tại. Nó có thể mất đến hai đối số.

Đối số đầu tiên là định dạng của dấu thời gian; nó mặc định là "flt" trong vài giây như một số thập phân với độ chính xác micro giây; "hms" là viết tắt của một định dạng

[-] HH: MM: SS.mmm

dấu thời gian với độ chính xác mili giây.

Đối số thứ hai là một phần bù được thêm vào dấu thời gian.

Các ví dụ

· Vẽ "Văn bản thử nghiệm" với phông chữ FreeSerif, sử dụng các giá trị mặc định cho tùy chọn thông số.

drawtext = "fontfile = / usr / share / fonts / truetype / freefont / FreeSerif.ttf: text = 'Test Text'"

· Vẽ 'Văn bản Thử nghiệm' với phông chữ FreeSerif có kích thước 24 ở vị trí x = 100 và y = 50 (đếm từ góc trên bên trái của màn hình), văn bản có màu vàng với một hộp màu đỏ xung quanh. Cả hai văn bản và hộp có độ mờ 20%.

drawtext = "fontfile = / usr / share / fonts / truetype / freefont / FreeSerif.ttf: text = 'Test Text': \ x = 100: y = 50: fontize = 24: fontcolor =: box = 1: boxcolor ="

Lưu ý rằng dấu ngoặc kép là không cần thiết nếu không sử dụng dấu cách trong danh sách tham số.

· Hiển thị văn bản ở giữa khung video:

drawtext = "fontsize = 30: fontfile = FreeSerif.ttf: text = 'hello world': x = (w-text_w) / 2: y = (h-text_h) / 2"

· Hiển thị một dòng văn bản trượt từ phải sang trái ở hàng cuối cùng của khung video. Các hồ sơ

LONG_LINE

được giả định là chứa một dòng duy nhất không có dòng mới.

drawtext = "fontsize = 15: fontfile = FreeSerif.ttf: text = LONG_LINE: y = h-line_h: x = -50 * t"

· Hiển thị nội dung của tập tin

TÍN

ra khỏi cuối khung và cuộn lên.

drawtext = "fontsize = 20: fontfile = FreeSerif.ttf: textfile = CREDITS: y = h-20 * t"

· Vẽ một chữ cái màu xanh lá cây duy nhất "g", ở giữa video đầu vào. Đường cơ sở glyph được đặt ở độ cao nửa màn hình.

drawtext = "fontsize = 60: fontfile = FreeSerif.ttf: fontcolor = green: text = g: x = (w-max_glyph_w) / 2: y = h / 2-ascent"

· Hiển thị văn bản trong 1 giây sau mỗi 3 giây:

drawtext = "fontfile = FreeSerif.ttf: fontcolor = white: x = 100: y = x / dar: enable = lt (mod (t \, 3) \, 1): text = 'flash'"

· Sử dụng fontconfig để đặt phông chữ. Lưu ý rằng dấu hai chấm cần phải được thoát ra.

drawtext = 'fontfile = Linux Libertine O-40 \: style = Semibold: text = FFmpeg'

· In ngày của mã hóa thời gian thực (xem

thời gian căng thẳng

(3)):

drawtext = 'fontfile = FreeSans.ttf: text =% {localtime \:% a% b% d% Y}'

· Hiển thị văn bản mờ dần trong và ngoài (xuất hiện / biến mất):

#!/ Bin / sh DS = 1.0 # bắt đầu hiển thị DE = 10.0 # cuối màn hình FID = 1.5 # mờ dần trong thời gian FOD = 5 # thời lượng mờ dần ffplay -f lavfi "color, drawtext = text = TEST: fontsize = 50: fontfile = FreeSerif.ttf: fontcolor_expr = ff0000% {eif \\\\: clip (255 * (1 * giữa (t \\, $ DS + $ FID \\, $ DE - $ FOD) + ((t - $ DS) / $ FID) * giữa (t \\, $ DS \\, $ DS + $ FID) + (- (t - $ DE) / $ FOD) * giữa (t \\, $ DE - $ FOD \\, $ DE)) \\, 0 \\, 255) \\\\: x \\\\: 2} "

Để biết thêm thông tin về libfreetype, hãy kiểm tra://www.freetype.org/>.

Để biết thêm thông tin về fontconfig, hãy kiểm tra: <//freedesktop.org/software/fontconfig/fontconfig-user.html>.

Để biết thêm thông tin về libfribidi, hãy kiểm tra://fribidi.org/>.

phát hiện cạnh Phát hiện và vẽ các cạnh. Bộ lọc sử dụng thuật toán Phát hiện cạnh Canny.

Bộ lọc chấp nhận các tùy chọn sau:

thấp cao Đặt các giá trị ngưỡng thấp và cao được sử dụng bởi thuật toán ngưỡng Canny.

Ngưỡng cao chọn các pixel cạnh "mạnh", sau đó được kết nối thông qua 8-kết nối với các pixel cạnh "yếu" được chọn bởi ngưỡng thấp.

thấp

cao

giá trị ngưỡng phải được chọn trong phạm vi [0,1] và

thấp

nên là nhỏ hơn hoặc bằng

cao

.

Giá trị mặc định cho

thấp

là "20/255" và giá trị mặc định cho

cao

là "50/255".

chế độ Xác định chế độ vẽ.

Dây điện Vẽ dây màu trắng / xám trên nền đen.

phối màu Trộn các màu để tạo hiệu ứng sơn / hoạt hình.

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

Dây điện

.

Các ví dụ

· Phát hiện cạnh tiêu chuẩn với các giá trị tùy chỉnh cho ngưỡng trễ:

edgedetect = low = 0.1: high = 0.4

· Hiệu ứng sơn không có ngưỡng:

edgedetect = mode = colormix: high = 0

eq Đặt độ sáng, độ tương phản, độ bão hòa và điều chỉnh gamma gần đúng.

Bộ lọc chấp nhận các tùy chọn sau:

Ngược lại Đặt biểu thức tương phản. Giá trị phải là giá trị thực trong phạm vi "-2.0" đến 2.0. Giá trị mặc định là "0".

độ sáng Đặt biểu thức độ sáng. Giá trị phải là giá trị thực trong phạm vi "-1.0" đến 1.0. Giá trị mặc định là "0".

bão hòa Đặt biểu thức bão hòa. Giá trị phải là một số thực trong phạm vi từ 0.0 đến 3.0. Các giá trị mặc định là "1".

gamma Đặt biểu thức gamma. Giá trị phải là một số thực trong phạm vi từ 0.1 đến 10.0. Mặc định giá trị là "1".

gamma_r Đặt biểu thức gamma cho màu đỏ. Giá trị phải là một số thực trong phạm vi 0.1 đến 10.0. Các giá trị mặc định là "1".

gamma_g Đặt biểu thức gamma cho màu xanh lá cây. Giá trị phải là một số thực trong phạm vi 0.1 đến 10.0. Giá trị mặc định là "1".

gamma_b Đặt biểu thức gamma cho màu xanh lam. Giá trị phải là một số thực trong phạm vi 0.1 đến 10.0. Các giá trị mặc định là "1".

gamma_weight Đặt biểu thức trọng lượng gamma. Nó có thể được sử dụng để giảm ảnh hưởng của gamma cao giá trị trên các khu vực hình ảnh sáng, ví dụ: giữ cho chúng không bị đơn giản hóa quá mức và đơn giản trắng. Giá trị phải là một số thực trong phạm vi từ 0.0 đến 1.0. Giá trị 0.0 biến gamma sự điều chỉnh hoàn toàn giảm xuống trong khi 1.0 giữ nguyên sức mạnh của nó. Mặc định là "1".

đánh giá Đặt khi các biểu thức cho độ sáng, độ tương phản, độ bão hòa và biểu thức gamma được đánh giá.

Nó chấp nhận các giá trị sau:

trong đó chỉ đánh giá các biểu thức một lần trong quá trình khởi tạo bộ lọc hoặc khi một lệnh được xử lý

khung đánh giá biểu thức cho mỗi khung hình đến

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

Các biểu thức chấp nhận các tham số sau:

n số khung của khung đầu vào bắt đầu từ 0

gửi vị trí byte của gói tương ứng trong tệp đầu vào, NAN nếu không xác định

r tốc độ khung hình của video đầu vào, NAN nếu tốc độ khung hình đầu vào không xác định

t dấu thời gian được biểu thị bằng giây, NAN nếu dấu thời gian đầu vào không xác định

Lệnh

Bộ lọc hỗ trợ các lệnh sau:

Ngược lại Đặt biểu thức tương phản.

độ sáng Đặt biểu thức độ sáng.

bão hòa Đặt biểu thức bão hòa.

gamma Đặt biểu thức gamma.

gamma_r Đặt biểu thức gamma_r.

gamma_g Đặt biểu thức gamma_g.

gamma_b Đặt biểu thức gamma_b.

gamma_weight Đặt biểu thức gamma_weight.

Lệnh chấp nhận cùng một cú pháp của tùy chọn tương ứng.

Nếu biểu thức được chỉ định không hợp lệ, nó được giữ ở giá trị hiện tại.

xói mòn Áp dụng hiệu ứng xói mòn cho video.

Bộ lọc này thay thế pixel bằng địa phương(3x3) tối thiểu.

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

ngưỡng 0 ngưỡng 1 ngưỡng 2 ngưỡng 3 Giới hạn thay đổi tối đa cho mỗi mặt phẳng, mặc định là 65535. Nếu 0, mặt phẳng sẽ vẫn không thay đổi.

tọa độ Cờ chỉ định pixel để tham chiếu. Mặc định là 255 tức là tất cả tám pixel là đã sử dụng.

Gắn cờ cho bản đồ tọa độ 3x3 cục bộ như thế này:

1 2 3 4 5 6 7 8

máy bay giải nén Trích xuất các thành phần kênh màu từ luồng video đầu vào thành video thang độ xám riêng biệt dòng.

Bộ lọc chấp nhận tùy chọn sau:

máy bay Đặt (các) mặt phẳng để giải nén.

Các giá trị có sẵn cho mặt phẳng là:

y u v a r g b

Việc chọn các mặt phẳng không có sẵn trong đầu vào sẽ dẫn đến lỗi. Đó có nghĩa là bạn không thể chọn đồng thời các mặt phẳng "r", "g", "b" với các mặt phẳng "y", "u", "v".

Các ví dụ

· Trích xuất thành phần kênh màu luma, u và v từ khung hình video đầu vào thành 3 thang độ xám kết quả đầu ra:

ffmpeg -i video.avi -filter_complex 'extractplanes = y + u + v [y] [u] [v]' -map '[y]' y.avi -map '[u]' u.avi -map '[ v] 'v.avi

cùi chỏ Áp dụng hiệu ứng posterize bằng thuật toán ELBG (LBG nâng cao).

Đối với mỗi hình ảnh đầu vào, bộ lọc sẽ tính toán ánh xạ tối ưu từ đầu vào đến đầu ra được cung cấp cho độ dài sách mã, đó là số lượng màu đầu ra riêng biệt.

Bộ lọc này chấp nhận các tùy chọn sau.

codebook_length, l Đặt độ dài sách mã. Giá trị phải là một số nguyên dương và đại diện cho số màu sắc đầu ra riêng biệt. Giá trị mặc định là 256.

nb_bước, n Đặt số lần lặp tối đa để áp dụng cho việc tính toán ánh xạ tối ưu. Các giá trị càng cao thì kết quả càng tốt và thời gian tính toán càng cao. Vỡ nợ giá trị là 1.

hạt giống, s Đặt một hạt giống ngẫu nhiên, phải là một số nguyên được bao gồm từ 0 đến UINT32_MAX. Nếu không được chỉ định hoặc nếu được đặt rõ ràng thành -1, bộ lọc sẽ cố gắng sử dụng một hạt ngẫu nhiên tốt trên cơ sở nỗ lực tốt nhất.

bạn8 Đặt định dạng pixel đầu ra pal8. Tùy chọn này không hoạt động với độ dài sách mã lớn hơn hơn 256

phai Áp dụng hiệu ứng mờ dần / mờ dần cho video đầu vào.

Nó chấp nhận các tham số sau:

kiểu, t Loại hiệu ứng có thể là "vào" cho hiệu ứng mờ dần hoặc "ra" cho hiệu ứng mờ dần. Mặc định là "trong".

start_frame, s Chỉ định số lượng khung để bắt đầu áp dụng hiệu ứng mờ dần tại. Mặc định là 0.

nb_frames, n Số lượng khung hình mà hiệu ứng mờ dần kéo dài. Vào cuối hiệu ứng mờ dần, video đầu ra sẽ có cùng cường độ với video đầu vào. Vào cuối của sự mờ dần- ngoài quá trình chuyển đổi, video đầu ra sẽ được lấp đầy bởi màu sắc. Mặc định là 25.

alpha Nếu được đặt thành 1, chỉ làm mờ kênh alpha, nếu kênh này tồn tại trên đầu vào. Giá trị mặc định là 0.

thời gian bắt đầu, st Chỉ định dấu thời gian (tính bằng giây) của khung để bắt đầu áp dụng hiệu ứng mờ dần. Nếu như cả start_frame và start_time đều được chỉ định, quá trình mờ sẽ bắt đầu tùy theo điều kiện nào đến Cuối cùng. Mặc định là 0.

thời hạn, d Số giây mà hiệu ứng mờ dần phải kéo dài. Vào cuối của quá trình mờ dần hiệu ứng video đầu ra sẽ có cùng cường độ với video đầu vào, ở cuối quá trình chuyển đổi mờ dần, video đầu ra sẽ được lấp đầy bằng phần đã chọn màu sắc. Nếu cả thời lượng và nb_frame đều được chỉ định, thời lượng được sử dụng. Mặc định là 0 (nb_frames được sử dụng theo mặc định).

màu sắc, c Chỉ định màu của sự mờ dần. Mặc định là "đen".

Các ví dụ

· Làm mờ trong 30 khung hình đầu tiên của video:

phai = in: 0: 30

Lệnh trên tương đương với:

phai = t = in: s = 0: n = 30

· Làm mờ 45 khung hình cuối cùng của video 200 khung hình:

phai = out: 155: 45 phai = type = out: start_frame = 155: nb_frames = 45

· Làm mờ dần 25 khung hình đầu tiên và làm mờ dần 25 khung hình cuối cùng của video 1000 khung hình:

fade = in: 0: 25, fade = out: 975: 25

· Làm cho 5 khung đầu tiên có màu vàng, sau đó mờ dần từ khung 5-24:

phai = in: 5: 20: color = yellow

· Làm mờ dần trong alpha trong 25 khung hình đầu tiên của video:

phai = in: 0: 25: alpha = 1

· Tạo màu đen 5.5 giây đầu tiên, sau đó mờ dần trong 0.5 giây:

phai = t = in: st = 5.5: d = 0.5

bộ lọc Áp dụng các biểu thức tùy ý cho các mẫu trong miền tần số

dc_Y Điều chỉnh giá trị dc (độ lợi) của mặt phẳng luma của hình ảnh. Bộ lọc chấp nhận một giá trị nguyên trong phạm vi 0 đến 1000. Giá trị mặc định được đặt thành 0.

dc_U Điều chỉnh giá trị dc (độ lợi) của mặt phẳng sắc độ đầu tiên của hình ảnh. Bộ lọc chấp nhận một giá trị nguyên trong phạm vi 0 đến 1000. Giá trị mặc định được đặt thành 0.

dc_V Điều chỉnh giá trị dc (độ lợi) của mặt phẳng sắc độ thứ 2 của hình ảnh. Bộ lọc chấp nhận một giá trị nguyên trong phạm vi 0 đến 1000. Giá trị mặc định được đặt thành 0.

trọng lượng_Y Đặt biểu thức trọng số miền tần số cho mặt phẳng luma.

trọng lượng_U Đặt biểu thức trọng số miền tần số cho mặt phẳng sắc độ thứ nhất.

trọng lượng_V Đặt biểu thức trọng số miền tần số cho mặt phẳng sắc độ thứ hai.

Bộ lọc chấp nhận các biến sau:

X Y Tọa độ của mẫu hiện tại.

W H Chiều rộng và chiều cao của hình ảnh.

Các ví dụ

· Vượt qua cao:

fftfilt = dc_Y = 128: weight_Y = 'squish (1- (Y + X) / 100)'

· Thông qua thấp:

fftfilt = dc_Y = 0: weight_Y = 'squish ((Y + X) / 100-1)'

· Làm sắc nét:

fftfilt = dc_Y = 0: weight_Y = '1 + squish (1- (Y + X) / 100)'

lĩnh vực Trích xuất một trường đơn lẻ từ một hình ảnh xen kẽ bằng số học bước để tránh lãng phí Thời gian của CPU. Các khung đầu ra được đánh dấu là không xen kẽ.

Bộ lọc chấp nhận các tùy chọn sau:

kiểu Chỉ định trích xuất trường trên cùng (nếu giá trị là 0 hoặc "trên cùng") hay trường dưới cùng (nếu giá trị là 1 hoặc "dưới cùng").

đấu trường Bộ lọc đối sánh trường cho telecine nghịch đảo. Nó có nghĩa là để tái tạo lại sự tiến bộ khung hình từ một luồng truyền hình. Bộ lọc không làm rơi các khung hình trùng lặp, do đó, để đạt được một "fieldmatch" viễn thông nghịch đảo hoàn chỉnh cần phải được theo sau bởi một bộ lọc thập phân như vậy as phá huỷ phần lớn trong đồ thị bộ lọc.

Sự tách biệt của đối sánh trường và số thập phân được thúc đẩy một cách đáng chú ý bởi khả năng chèn dự phòng bộ lọc loại bỏ xen kẽ giữa hai bộ lọc. Nếu nguồn có hỗn hợp nội dung truyền hình thực tế và nội dung xen kẽ, "fieldmatch" sẽ không thể khớp trường cho các phần xen kẽ. Nhưng các khung còn lại được chải kỹ này sẽ được đánh dấu là xen kẽ và do đó có thể được loại bỏ xen kẽ bởi một bộ lọc sau này, chẳng hạn như yadif trước sự tàn lụi.

Ngoài các tùy chọn cấu hình khác nhau, "fieldmatch" có thể mất một giây tùy chọn luồng, được kích hoạt thông qua ppsrc lựa chọn. Nếu được bật, việc xây dựng lại khung sẽ dựa trên các trường và khung từ luồng thứ hai này. Điều này cho phép đầu vào đầu tiên là được xử lý trước để giúp các thuật toán khác nhau của bộ lọc, trong khi vẫn giữ đầu ra không mất dữ liệu (giả sử các trường được khớp đúng). Thông thường, một trường nhận biết bộ khử nhiễu hoặc điều chỉnh độ sáng / độ tương phản có thể hữu ích.

Lưu ý rằng bộ lọc này sử dụng các thuật toán tương tự như TIVTC / TFM (dự án AviSynth) và VIVTC / VFM (dự án VapourSynth). Sau đó là một bản sao nhẹ của TFM mà từ đó có "fieldmatch" được dựa trên. Mặc dù ngữ nghĩa và cách sử dụng rất gần gũi, nhưng một số tên hành vi và tùy chọn có thể khác nhau.

Sản phẩm phá huỷ phần lớn bộ lọc hiện chỉ hoạt động cho đầu vào tốc độ khung hình không đổi. Nếu đầu vào của bạn có truyền hình hỗn hợp (30 khung hình / giây) và nội dung tiến bộ với tốc độ khung hình thấp hơn như 24 khung hình / giây sử dụng sau chuỗi bộ lọc để tạo luồng cfr cần thiết: "dejudder, fps = 30000/1001, fieldmatch, decimate".

Bộ lọc chấp nhận các tùy chọn sau:

gọi món Chỉ định thứ tự trường giả định của luồng đầu vào. Các giá trị có sẵn là:

tự động Tự động phát hiện chẵn lẻ (sử dụng giá trị chẵn lẻ nội bộ của FFmpeg).

bff Giả sử trường dưới cùng đầu tiên.

tff Giả sử trường trên cùng đầu tiên.

Lưu ý rằng đôi khi không nên tin tưởng vào độ chẵn lẻ mà luồng thông báo.

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

tự động

.

chế độ Đặt chế độ hoặc chiến lược phù hợp để sử dụng. pc chế độ là an toàn nhất theo nghĩa là nó sẽ không có nguy cơ tạo ra hiện tượng giật do các khung hình trùng lặp khi có thể, nhưng nếu có các chỉnh sửa xấu hoặc các trường kết hợp, nó sẽ kết thúc xuất ra các khung được lược bỏ khi kết hợp tốt có thể thực sự tồn tại. Mặt khác, pcn_ub chế độ rủi ro nhất về tạo ra hiện tượng giật, nhưng hầu như sẽ luôn tìm được khung hình tốt nếu có. Các các giá trị khác đều nằm ở đâu đó giữa pc và pcn_ub về mặt rủi ro giật cục và tạo các khung hình trùng lặp so với việc tìm kiếm các khung hình phù hợp tốt trong các phần có các chỉnh sửa không tốt, ruộng mồ côi, ruộng pha trộn, v.v.

Thông tin chi tiết về p / c / n / u / b có sẵn trong p / c / n / u / b có nghĩa là phần.

Các giá trị có sẵn là:

pc Khớp 2 chiều (p / c)

pc_n Đối sánh 2 chiều và thử đối sánh thứ 3 nếu vẫn được kết hợp (p / c + n)

pc_u Đối sánh 2 chiều và thử đối sánh thứ 3 (cùng thứ tự) nếu vẫn được kết hợp (p / c + u)

pc_n_ub Đối sánh 2 chiều, thử đối sánh thứ 3 nếu vẫn được kết hợp và thử đối sánh thứ 4/5 nếu vẫn được chải kỹ (p / c + n + u / b)

pcn Kết hợp 3 chiều (p / c / n)

pcn_ub Đối sánh 3 chiều và thử đối sánh thứ 4/5 nếu cả 3 trận đấu ban đầu đều được phát hiện là đã chải kỹ (p / c / n + u / b)

Dấu ngoặc đơn ở cuối cho biết các kết quả phù hợp sẽ được sử dụng cho chế độ đó giả định gọi món=

tff

(Và lĩnh vực on

tự động

or

hàng đầu

).

Về tốc độ pc chế độ này cho đến nay là nhanh nhất và pcn_ub là chậm nhất.

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

pc_n

.

ppsrc Đánh dấu luồng đầu vào chính là đầu vào được xử lý trước và bật đầu vào phụ dòng chảy như một nguồn sạch để chọn các cánh đồng từ đó. Xem phần giới thiệu bộ lọc cho chi tiết hơn. Nó tương tự như clip2 tính năng từ VFM / TFM.

Giá trị mặc định là 0 (bị vô hiệu hóa).

lĩnh vực Đặt trường để so khớp từ. Bạn nên đặt giá trị này thành giá trị giống như gọi món trừ khi bạn gặp phải lỗi phù hợp với cài đặt đó. Trong những hoàn cảnh nhất định thay đổi trường được sử dụng để đối sánh từ có thể có tác động lớn đến việc đối sánh màn biểu diễn. Các giá trị có sẵn là:

tự động Tự động (cùng giá trị với gọi món).

dưới cùng Khớp từ trường dưới cùng.

hàng đầu Đối sánh từ trường trên cùng.

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

tự động

.

đơn sắc Đặt xem có bao gồm sắc độ hay không trong quá trình so sánh đối sánh. Trong hầu hết các trường hợp, nó được khuyến khích để bật tính năng này. Bạn chỉ nên đặt giá trị này thành 0 nếu clip của bạn có các vấn đề về sắc độ xấu chẳng hạn như mưa lớn hoặc các đồ tạo tác khác. Đặt giá trị này thành 0 cũng có thể được sử dụng để tăng tốc độ mọi thứ với cái giá phải trả là độ chính xác.

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

y0 y1 Những điều này xác định một dải loại trừ loại trừ các ranh giới giữa y0 và y1 từ hiện hữu đưa vào quyết định đối sánh trường. Một dải loại trừ có thể được sử dụng để bỏ qua phụ đề, biểu trưng hoặc những thứ khác có thể ảnh hưởng đến việc đối sánh. y0 thiết lập dòng quét bắt đầu và y1 đặt dòng kết thúc; tất cả các dòng ở giữa y0 và y1 (Bao gồm cả y0 và y1) sẽ bị bỏ qua. Thiết lập y0 và y1 đến cùng một giá trị sẽ tắt tính năng này. y0 và y1 mặc định là 0.

sthresh Đặt ngưỡng phát hiện thay đổi cảnh dưới dạng phần trăm thay đổi tối đa trên luma chiếc máy bay. Giá trị tốt nằm trong khoảng "[8.0, 14.0]". Chỉ phát hiện thay đổi cảnh có liên quan trong trường hợp kết hợp=

sc

. Phạm vi cho sthresh là "[0.0, 100.0]".

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

kết hợp Thời Gian kết hợp không phải là

không ai

, "fieldmatch" sẽ tính đến điểm tổng hợp của các trận đấu khi quyết định sử dụng trận đấu nào làm trận đấu cuối cùng. Các giá trị có sẵn là:

không ai Không có kết quả phù hợp cuối cùng dựa trên điểm số đã được tổng hợp.

sc Điểm số được đánh dấu chỉ được sử dụng khi phát hiện ra thay đổi cảnh.

Full Sử dụng điểm số tổng hợp mọi lúc.

Mặc định là

sc

.

lượcbg Buộc "fieldmatch" để tính toán các chỉ số được tổng hợp cho các kết quả phù hợp nhất định và in chúng. Cài đặt này được gọi là micro trong từ vựng TFM / VFM. Các giá trị có sẵn là:

không ai Không có tính toán gượng ép.

pcn Buộc p / c / n tính toán.

pcnub Buộc các phép tính p / c / n / u / b.

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

không ai

.

cthresh Đây là ngưỡng chải kỹ khu vực được sử dụng để phát hiện khung được chải kỹ. Về cơ bản đây là kiểm soát mức độ chải kỹ "mạnh" hoặc "hiển thị" phải được phát hiện. Giá trị lớn hơn có nghĩa là lược phải hiển thị nhiều hơn và các giá trị nhỏ hơn có nghĩa là lược có thể ít nhìn thấy hơn hoặc mạnh mẽ và vẫn bị phát hiện. Cài đặt hợp lệ là từ "-1" (mọi pixel sẽ là được phát hiện là được chải kỹ) thành 255 (không có pixel nào được phát hiện là đã được chải kỹ). Về cơ bản đây là một giá trị chênh lệch pixel. Phạm vi tốt là "[8, 12]".

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

sắc độ Đặt xem sắc độ có được xem xét trong quyết định khung được chải kỹ hay không. Chỉ vô hiệu hóa điều này nếu nguồn của bạn có vấn đề về sắc độ (cầu vồng, v.v.) đang gây ra sự cố để phát hiện khung được chải kỹ có bật sắc độ. Trên thực tế, sử dụng sắc độ=

0

is thường đáng tin cậy hơn, ngoại trừ trường hợp chỉ có sắc độ chải trong nguồn.

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

khốix khối Đặt kích thước trục x và trục y một cách tương ứng của cửa sổ được sử dụng trong khung được chải kỹ sự phát hiện. Điều này liên quan đến kích thước của khu vực trong đó cái lược pixel là yêu cầu được phát hiện là đã được chải kỹ đối với một khung được khai báo là đã được chải kỹ. Xem cái lược mô tả thông số để biết thêm thông tin. Các giá trị có thể có là bất kỳ số nào là lũy thừa trong số 2 bắt đầu từ 4 và tăng lên 512.

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

cái lược Số lượng pixel được chải kỹ bên trong bất kỳ khối by khốix khối kích thước trên khung để khung được phát hiện là đã được chải kỹ. Trong khi cthresh kiểm soát cách "hiển thị" chải kỹ phải được, cài đặt này kiểm soát "bao nhiêu" chải phải có trong bất kỳ khu vực được bản địa hóa (một cửa sổ được xác định bởi khốix và khối cài đặt) trên khung. Giá trị nhỏ nhất là 0 và giá trị lớn nhất là "blocky x blockx" (tại thời điểm này, sẽ không có khung nào bao giờ được phát hiện là đã chải kỹ). Cài đặt này được gọi là MI trong từ vựng TFM / VFM.

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

p / c / n / u / b có nghĩa là

p / c / n

Chúng tôi giả định luồng truyền hình sau:

Các trường hàng đầu: 1 2 2 3 4 Các trường dưới cùng: 1 2 3 4 4

Các số tương ứng với khung lũy ​​tiến mà các trường liên quan. Đây, hai cái đầu tiên khung đang tăng dần, khung thứ 3 và thứ 4 được lược bỏ, v.v.

Khi "fieldmatch" được định cấu hình để chạy đối sánh từ dưới lên (lĩnh vực=

dưới cùng

) đây là cách luồng đầu vào này được chuyển đổi:

Dòng đầu vào: T 1 2 2 3 4 B 1 2 3 4 4 <- đối sánh tham chiếu

Trận đấu: ccnnc

Dòng đầu ra: T 1 2 3 4 4 B 1 2 3 4 4

Kết quả của việc đối sánh trường, chúng ta có thể thấy rằng một số khung hình bị trùng lặp. Để thực hiện một telecine nghịch đảo hoàn chỉnh, bạn cần phải dựa vào bộ lọc số thập phân sau thao tác này. Xem ví dụ phá huỷ phần lớn lọc.

Thao tác tương tự hiện đang khớp từ các trường trên cùng (lĩnh vực=

hàng đầu

) trông như thế này:

Dòng đầu vào: T 1 2 2 3 4 <- đối sánh tham chiếu B 1 2 3 4 4

Trận đấu: ccppc

Dòng đầu ra: T 1 2 2 3 4 B 1 2 2 3 4

Trong những ví dụ này, chúng ta có thể thấy những gì

p

,

c

n

nghĩa là; về cơ bản, chúng tham chiếu đến khung và trường ngang bằng ngược lại:

*<

p

khớp với trường có giá trị chẵn lẻ đối diện trong khung trước đó> *<

c

khớp với trường có giá trị chẵn lẻ đối diện trong khung hiện tại> *<

n

khớp với trường có giá trị chẵn lẻ đối diện trong khung tiếp theo>

u / b

Sản phẩm

u

b

đối sánh có một chút đặc biệt theo nghĩa là chúng phù hợp với điều ngược lại cờ chẵn lẻ. Trong các ví dụ sau, chúng tôi giả định rằng chúng tôi hiện đang khớp với khung (Trên: 2, dưới cùng: 2). Theo trận đấu, dấu 'x' được đặt ở trên và dưới mỗi các trường phù hợp.

Với kết hợp dưới cùng (lĩnh vực=

dưới cùng

):

Phù hợp: cpnbu

xxxxx Đầu 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 Dưới cùng 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 xxxxx

Khung đầu ra: 2 1 2 2 2 2 2 2 1 3

Với kết hợp hàng đầu (lĩnh vực=

hàng đầu

):

Phù hợp: cpnbu

xxxxx Đầu 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 Dưới cùng 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 xxxxx

Khung đầu ra: 2 2 2 1 2 2 1 3 2 2

Các ví dụ

IVTC đơn giản của luồng truyền hình đầu tiên của trường hàng đầu:

fieldmatch = order = tff: combmatch = none, decimate

IVTC nâng cao, có bật dự phòng yadif đối với khung vẫn chải kỹ:

fieldmatch = order = tff: combmatch = full, yadif = deint = interlaced, decimate

điền dã Chuyển đổi thứ tự trường của video đầu vào.

Nó chấp nhận các tham số sau:

gọi món Thứ tự trường đầu ra. Giá trị hợp lệ là

tff

cho trường trên cùng đầu tiên hoặc

bff

cho dưới cùng lĩnh vực đầu tiên.

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

Việc chuyển đổi được thực hiện bằng cách chuyển nội dung hình ảnh lên hoặc xuống một dòng, và điền nội dung tranh phù hợp vào dòng còn lại. Phương pháp này nhất quán với hầu hết các bộ chuyển đổi thứ tự trường quảng bá.

Nếu video đầu vào không bị gắn cờ là bị xen kẽ hoặc video đã bị gắn cờ là thứ tự trường đầu ra bắt buộc, thì bộ lọc này không làm thay đổi video đến.

Nó rất hữu ích khi chuyển đổi sang hoặc từ vật liệu PAL DV, trước tiên là trường dưới cùng.

Ví dụ:

ffmpeg -i in.vob -vf "fieldorder = bff" out.dv

năm mươi Đệm hình ảnh đầu vào và gửi chúng khi chúng được yêu cầu.

Nó chủ yếu hữu ích khi được khung libavfilter chèn tự động.

Nó không nhận tham số.

tìm_chỉnh Tìm một vật hình chữ nhật

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

vật Đường dẫn tệp của hình ảnh đối tượng, cần có màu xám8.

ngưỡng Ngưỡng phát hiện, mặc định là 0.5.

mipmap Số lượng mipmap, mặc định là 3.

xmin, ymin, xmax, ymax Chỉ định hình chữ nhật để tìm kiếm.

Các ví dụ

· Tạo bảng màu đại diện của một video nhất định bằng cách sử dụng ffmpeg:

ffmpeg -i file.ts -vf find_rect = newref.pgm, cover_rect = cover.jpg: mode = cover new.mkv

bìa_trực tràng Che một vật hình chữ nhật

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

che Đường dẫn tệp của ảnh bìa tùy chọn, cần phải ở yuv420.

chế độ Đặt chế độ che phủ.

Nó chấp nhận các giá trị sau:

che che nó bằng hình ảnh được cung cấp

blur che nó bằng cách nội suy các pixel xung quanh

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

blur

.

Các ví dụ

· Tạo bảng màu đại diện của một video nhất định bằng cách sử dụng ffmpeg:

ffmpeg -i file.ts -vf find_rect = newref.pgm, cover_rect = cover.jpg: mode = cover new.mkv

định dạng Chuyển đổi video đầu vào sang một trong các định dạng pixel được chỉ định. Libavfilter sẽ cố gắng chọn một cái phù hợp làm đầu vào cho bộ lọc tiếp theo.

Nó chấp nhận các tham số sau:

pix_fmts Danh sách tên định dạng pixel được phân tách bằng '|', chẳng hạn như "pix_fmts = yuv420p | monow | rgb24".

Các ví dụ

· Chuyển đổi video đầu vào thành

yuv420p

định dạng

format = pix_fmts = yuv420p

Chuyển đổi video đầu vào sang bất kỳ định dạng nào trong danh sách

format = pix_fmts = yuv420p | yuv444p | yuv410p

fps Chuyển đổi video thành tốc độ khung hình cố định được chỉ định bằng cách sao chép hoặc giảm khung hình dưới dạng cần thiết.

Nó chấp nhận các tham số sau:

fps Tốc độ khung hình đầu ra mong muốn. Giá trị mặc định là 25.

tròn Phương pháp làm tròn số.

Giá trị có thể là:

không 0 vòng về XNUMX

inf làm tròn từ 0

xuống vòng về phía-vô cùng

up vòng về phía + vô cùng

ở gần vòng đến gần nhất

Mặc định là "gần".

thời gian bắt đầu Giả sử PTS đầu tiên phải là giá trị đã cho, tính bằng giây. Điều này cho phép đệm / cắt khi bắt đầu phát trực tiếp. Theo mặc định, không có giả định nào được đưa ra về PTS dự kiến ​​của khung hình đầu tiên, vì vậy không có phần đệm hoặc cắt xén nào được thực hiện. Ví dụ, điều này có thể được đặt thành 0 để mở đầu bằng các bản sao của khung hình đầu tiên nếu video luồng bắt đầu sau luồng âm thanh hoặc để cắt bất kỳ khung nào có PTS âm.

Ngoài ra, các tùy chọn có thể được chỉ định dưới dạng một chuỗi phẳng:

fps

[:

tròn

].

Xem thêm cài đặt lọc.

Các ví dụ

· Một cách sử dụng điển hình để đặt fps thành 25:

fps = fps = 25

· Đặt fps thành 24, sử dụng cách viết tắt và làm tròn để làm tròn đến gần nhất:

fps = fps = film: round = near

gói khung Gói hai luồng video khác nhau thành một video lập thể, đặt siêu dữ liệu thích hợp vào codec được hỗ trợ. Hai chế độ xem phải có cùng kích thước và tốc độ khung hình và quá trình xử lý sẽ dừng khi video ngắn hơn kết thúc. Xin lưu ý rằng bạn có thể điều chỉnh chế độ xem một cách thuận tiện thuộc tính với tỉ lệ và fps bộ lọc.

Nó chấp nhận các tham số sau:

định dạng Định dạng đóng gói mong muốn. Các giá trị được hỗ trợ là:

Sbs Các khung nhìn nằm cạnh nhau (mặc định).

chuyển hướng Các khung nhìn nằm trên đầu trang của nhau.

dòng Các lượt xem được đóng gói theo từng dòng.

cột Các chế độ xem được đóng gói theo cột.

khung hình Các chế độ xem được xen kẽ theo thời gian.

Vài ví dụ:

# Chuyển đổi chế độ xem trái và phải thành video tuần tự khung hình ffmpeg -i LEFT -i RIGHT -filter_complex framepack = frameseq OUTPUT

# Chuyển các lượt xem thành video song song với cùng độ phân giải đầu ra với đầu vào ffmpeg -i LEFT -i RIGHT -filter_complex [0: v] scale = w = iw / 2 [left], [1: v] scale = w = iw / 2 [right], [left] [right] framepack = sbs ĐẦU RA

Framerate Thay đổi tốc độ khung hình bằng cách nội suy các khung hình đầu ra video mới từ các khung hình nguồn.

Bộ lọc này không được thiết kế để hoạt động chính xác với phương tiện xen kẽ. Nếu bạn muốn thay đổi tốc độ khung hình của phương tiện xen kẽ, sau đó bạn bắt buộc phải khử xen kẽ trước khi lọc và thay thế lại sau bộ lọc này.

Sau đây là mô tả về các tùy chọn được chấp nhận.

fps Chỉ định khung hình đầu ra mỗi giây. Tùy chọn này cũng có thể được chỉ định dưới dạng giá trị một mình. Giá trị mặc định là 50.

interp_start Chỉ định điểm bắt đầu của một phạm vi nơi khung đầu ra sẽ được tạo dưới dạng tuyến tính nội suy của hai khung. Phạm vi là [0-255], mặc định là 15.

interp_end Chỉ định phần cuối của một phạm vi nơi khung đầu ra sẽ được tạo dưới dạng tuyến tính nội suy của hai khung. Phạm vi là [0-255], mặc định là 240.

bối cảnh Chỉ định mức mà tại đó thay đổi cảnh được phát hiện dưới dạng giá trị từ 0 đến 100 đến chỉ ra một cảnh mới; giá trị thấp phản ánh xác suất thấp để khung hiện tại giới thiệu một cảnh mới, trong khi giá trị cao hơn có nghĩa là khung hiện tại có nhiều khả năng trở thành một. Giá trị mặc định là 7.

cờ Chỉ định các cờ ảnh hưởng đến quá trình lọc.

Giá trị có sẵn cho

cờ

là:

cảnh_change_detect, scd Bật tính năng phát hiện thay đổi cảnh bằng cách sử dụng giá trị của tùy chọn

bối cảnh

. Lá cờ này là được bật theo mặc định.

bước khung Chọn một khung cho mỗi khung thứ N.

Bộ lọc này chấp nhận tùy chọn sau:

bước Chọn khung sau mỗi khung "bước". Giá trị được phép là số nguyên dương cao hơn hơn 0. Giá trị mặc định là 1.

miễn phí Áp dụng hiệu ứng frei0r cho video đầu vào.

Để kích hoạt biên dịch bộ lọc này, bạn cần cài đặt tiêu đề frei0r và cấu hình FFmpeg bằng "--enable-frei0r".

Nó chấp nhận các tham số sau:

tên bộ lọc Tên của hiệu ứng frei0r cần tải. Nếu biến môi trường FREI0R_PATH is được định nghĩa, hiệu ứng frei0r được tìm kiếm trong mỗi thư mục được chỉ định bởi danh sách được phân tách bằng dấu hai chấm trong FREIOR_PATH. Nếu không, các đường dẫn frei0r tiêu chuẩn là đã tìm kiếm, theo thứ tự này:

TRANG CHỦ / .frei0r-1 / lib /

,

/ usr / local / lib / frei0r-1 /

,

/ usr / lib / frei0r-1 /

.

filter_params Danh sách các tham số được phân tách bằng '|' để chuyển cho hiệu ứng frei0r.

Tham số hiệu ứng frei0r có thể là boolean (giá trị của nó là "y" hoặc "n"), kép, a màu sắc (được chỉ định là

R

/

G

/

B

, Nơi

R

,

G

B

là các số dấu phẩy động từ 0.0 đến 1.0, bao gồm) hoặc theo mô tả màu được chỉ định trong phần "Màu" trong ffmpeg- hướng dẫn sử dụng utils), một vị trí (được chỉ định là

X

/

Y

, Nơi

X

Y

là số dấu phẩy động) và / hoặc một chuỗi.

Số lượng và các loại tham số phụ thuộc vào hiệu ứng được tải. Nếu một tham số hiệu ứng là không được chỉ định, giá trị mặc định được đặt.

Các ví dụ

· Áp dụng hiệu ứng distort0r, thiết lập hai tham số kép đầu tiên:

frei0r = filter_name = distort0r: filter_params = 0.5 | 0.01

· Áp dụng hiệu ứng cân bằng màu, lấy màu làm tham số đầu tiên:

frei0r = colordistance: 0.2 / 0.3 / 0.4 frei0r = colordistance: violet frei0r = colordistance: 0x112233

· Áp dụng hiệu ứng phối cảnh, chỉ định vị trí hình ảnh trên cùng bên trái và trên cùng bên phải:

frei0r=perspective:0.2/0.2|0.8/0.2

Để biết thêm thông tin, hãy xem//frei0r.dyne.org>

fspp Áp dụng xử lý hậu kỳ nhanh chóng và đơn giản. Nó là một phiên bản nhanh hơn của spp.

Nó chia (I) DCT thành các đường chuyền ngang / dọc. Không giống như xử lý hậu kỳ đơn giản bộ lọc, một trong số chúng được thực hiện một lần trên mỗi khối, không phải trên mỗi pixel. Điều này cho phép nhiều tốc độ cao hơn.

Bộ lọc chấp nhận các tùy chọn sau:

chất lượng Đặt chất lượng. Tùy chọn này xác định số lượng cấp độ để tính trung bình. Nó chấp nhận một số nguyên trong phạm vi 4-5. Giá trị mặc định là 4.

qp Bắt buộc một tham số lượng tử hóa không đổi. Nó chấp nhận một số nguyên trong phạm vi 0-63. Nếu không , bộ lọc sẽ sử dụng QP từ luồng video (nếu có).

sức mạnh Đặt cường độ bộ lọc. Nó chấp nhận một số nguyên trong phạm vi -15 đến 32. Giá trị thấp hơn có nghĩa là nhiều hơn chi tiết nhưng cũng nhiều tạo tác hơn, trong khi giá trị cao hơn làm cho hình ảnh mượt mà hơn nhưng cũng mờ hơn. Giá trị mặc định là 0 X PSNR tối ưu.

sử dụng_bframe_qp Cho phép sử dụng QP từ Khung B nếu được đặt thành 1. Sử dụng tùy chọn này có thể gây ra nhấp nháy vì Khung B thường có QP lớn hơn. Mặc định là 0 (không được kích hoạt).

bài toán Bộ lọc chấp nhận các tùy chọn sau:

lum_expr, tùm lum Đặt biểu thức độ chói.

cb_expr, cb Đặt biểu thức màu xanh lam sắc độ.

cr_expr, cr Đặt biểu thức sắc độ đỏ.

alpha_expr, a Đặt biểu thức alpha.

red_expr, r Đặt biểu thức màu đỏ.

xanh_expr, g Đặt biểu thức màu xanh lá cây.

màu xanh_expr, b Đặt biểu thức màu xanh lam.

Không gian màu được chọn theo các tùy chọn đã chỉ định. Nếu một trong những lum_expr, cb_expr, hoặc là cr_expr các tùy chọn được chỉ định, bộ lọc sẽ tự động chọn một YCbCr không gian màu. Nếu một trong những red_expr, green_expr, hoặc là blue_expr các tùy chọn được chỉ định, nó sẽ chọn một không gian màu RGB.

Nếu một trong các biểu thức độ sáng không được xác định, nó sẽ rơi trở lại biểu thức còn lại. Nếu không biểu thức alpha được chỉ định nó sẽ đánh giá thành giá trị không rõ ràng. Nếu không có sắc độ biểu thức được chỉ định, chúng sẽ đánh giá biểu thức độ chói.

Các biểu thức có thể sử dụng các biến và hàm sau:

N Số thứ tự của khung được lọc, bắt đầu từ 0.

X Y Tọa độ của mẫu hiện tại.

W H Chiều rộng và chiều cao của hình ảnh.

SW SH Tỷ lệ chiều rộng và chiều cao tùy thuộc vào mặt phẳng hiện đang được lọc. Nó là tỷ lệ giữa số pixel mặt phẳng luma tương ứng và số pixel trên mặt phẳng hiện tại. Ví dụ đối với YUV4: 2: 0, các giá trị là "1,1" cho mặt phẳng luma và "0.5,0.5" cho mặt phẳng sắc độ.

T Thời gian của khung hiện tại, tính bằng giây.

p (x, y) Trả lại giá trị của pixel tại vị trí (

x

,

y

) của mặt phẳng hiện tại.

lum (x, y) Trả lại giá trị của pixel tại vị trí (

x

,

y

) của mặt phẳng độ chói.

cb (x, y) Trả lại giá trị của pixel tại vị trí (

x

,

y

) của mặt phẳng sắc độ khác biệt màu xanh lam. Trả về 0 nếu không có mặt phẳng nào như vậy.

cr (x, y) Trả lại giá trị của pixel tại vị trí (

x

,

y

) của mặt phẳng sắc độ khác biệt màu đỏ. Trả về 0 nếu không có mặt phẳng nào như vậy.

r (x, y) g (x, y) b (x, y) Trả lại giá trị của pixel tại vị trí (

x

,

y

) của thành phần đỏ / lục / lam. Trả về 0 nếu không có thành phần như vậy.

alpha (x, y) Trả lại giá trị của pixel tại vị trí (

x

,

y

) của mặt phẳng alpha. Trả về 0 nếu có không phải là máy bay như vậy.

Đối với các chức năng, nếu

x

y

ở bên ngoài khu vực, giá trị sẽ được tự động cắt thành các cạnh gần hơn.

Các ví dụ

· Lật hình ảnh theo chiều ngang:

geq = p (WX \, Y)

· Tạo ra sóng sin hai chiều, với góc "PI / 3" và bước sóng 100 pixel:

geq=128 + 100*sin(2*(PI/100)*(cos(PI/3)*(X-50*T) + sin(PI/3)*Y)):128:128

· Tạo ra một ánh sáng chuyển động bí ẩn lạ mắt:

nullsrc = s = 256x256, geq =ngẫu nhiên(1)/hypot(X-cos(N*0.07)*W/2-W/2\,Y-sin(N*0.09)*H/2-H/2)^2*1000000*sin(N*0.02):128:128

· Tạo hiệu ứng dập nổi nhanh chóng:

format = gray, geq = lum_expr = '(p (X, Y) + (256-p (X-4, Y-4))) / 2'

· Sửa đổi các thành phần RGB tùy thuộc vào vị trí pixel:

geq = r = 'X / W * r (X, Y)': g = '(1-X / W) * g (X, Y)': b = '(HY) / H * b (X, Y ) '

· Tạo một gradient xuyên tâm có cùng kích thước với đầu vào (cũng xem họa tiết lọc):

geq=lum=255*gauss((X/W-0.5)*3)*gauss((Y/H-0.5)*3)/gauss(0) /gauss(0), format = xám

· Tạo một gradient tuyến tính để sử dụng làm mặt nạ cho một bộ lọc khác, sau đó tạo với phủ. Trong ví dụ này, video sẽ dần dần trở nên mờ hơn từ đầu đến dưới cùng của trục y như được xác định bởi gradient tuyến tính:

ffmpeg -i input.mp4 -filter_complex "geq = lum = 255 * (Y / H), format = gray [grad]; [0: v] boxblur = 4 [mờ]; [mờ] [grad] alphamerge [alpha] ; [0: v] [alpha] lớp phủ "output.mp4

tốt nghiệp Sửa lỗi tạo tác dải đôi khi được đưa vào các vùng gần như bằng phẳng bằng cách cắt bớt đến độ sâu màu 8bit. Nội suy các gradient sẽ đi đến vị trí của các dải là, và hòa sắc chúng.

Nó chỉ được thiết kế để phát lại. Không sử dụng nó trước khi nén mất dữ liệu, bởi vì nén có xu hướng làm mất hòa sắc và mang lại các dải.

Nó chấp nhận các tham số sau:

sức mạnh Số tiền tối đa mà bộ lọc sẽ thay đổi bất kỳ một pixel nào. Đây cũng là ngưỡng phát hiện các vùng gần như bằng phẳng. Các giá trị có thể chấp nhận nằm trong khoảng từ .51 đến 64; giá trị mặc định là 1.2. Các giá trị nằm ngoài phạm vi sẽ được cắt bớt thành phạm vi hợp lệ.

bán kính Vùng lân cận để phù hợp với gradient. Bán kính lớn hơn làm cho các chuyển màu mượt mà hơn, mà còn ngăn bộ lọc sửa đổi các pixel gần các vùng chi tiết. Giá trị có thể chấp nhận là 8-32; giá trị mặc định là 16. Giá trị ngoài phạm vi sẽ là bị cắt vào phạm vi hợp lệ.

Ngoài ra, các tùy chọn có thể được chỉ định dưới dạng một chuỗi phẳng:

sức mạnh

[:

bán kính

]

Các ví dụ

· Áp dụng bộ lọc với cường độ 3.5 và bán kính 8:

gradfun = 3.5: 8

· Chỉ định bán kính, bỏ qua cường độ (sẽ trở về giá trị mặc định):

gradfun = bán kính = 8

cá sấu Áp dụng Hald CLUT cho luồng video.

Đầu vào đầu tiên là luồng video cần xử lý và đầu vào thứ hai là Hald CLUT. Hald Đầu vào CLUT có thể là một hình ảnh đơn giản hoặc một luồng video hoàn chỉnh.

Bộ lọc chấp nhận các tùy chọn sau:

ngắn nhất Buộc kết thúc khi đầu vào ngắn nhất kết thúc. Mặc định là 0.

lặp lại Tiếp tục áp dụng CLUT cuối cùng sau khi kết thúc luồng. Giá trị 0 vô hiệu hóa bộ lọc sau khi đạt đến khung cuối cùng của CLUT. Mặc định là 1.

"haldclut" cũng có các tùy chọn nội suy tương tự như lut3d (cả hai bộ lọc đều chia sẻ như nhau nội bộ).

Thông tin thêm về Hald CLUT có thể được tìm thấy trên trang web của Eskil Steenberg (Hald CLUT tác giả) tại//www.quelsolaar.com/technology/clut.html>.

Quy trình làm việc ví dụ

Luồng video Hald CLUT

Tạo danh tính Luồng Hald CLUT được thay đổi với các hiệu ứng khác nhau:

ffmpeg -f lavfi -i B = 8 -vf "hue = H = 2 * PI * t: s = sin (2 * PI * t) +1, curve = cross_process" -t 10 -c: v ffv1 clutch.nut

Lưu ý: hãy đảm bảo rằng bạn sử dụng codec không mất dữ liệu.

Sau đó, sử dụng nó với "haldclut" để áp dụng nó trên một số luồng ngẫu nhiên:

ffmpeg -f lavfi -i mandelbrot -i clutch.nut -filter_complex '[0] [1] haldclut' -t 20 mandelclut.mkv

Hald CLUT sẽ được áp dụng cho 10 giây đầu tiên (thời gian của

clutch.nut

), sau đó ảnh mới nhất của luồng CLUT đó sẽ được áp dụng cho các khung còn lại của dòng "mandelbrot".

Hald CLUT với bản xem trước

Hald CLUT được cho là hình ảnh bình phương của "Cấp độ * Cấp độ * Cấp độ" bằng Pixel "Cấp * Cấp * Cấp". Đối với một Hald CLUT nhất định, FFmpeg sẽ chọn cái lớn nhất có thể hình vuông bắt đầu ở trên cùng bên trái của hình ảnh. Các pixel đệm còn lại (dưới cùng hoặc đúng) sẽ bị bỏ qua. Khu vực này có thể được sử dụng để thêm bản xem trước của Hald CLUT.

Thông thường, Hald CLUT được tạo sau đây sẽ được hỗ trợ bởi bộ lọc "haldclut":

ffmpeg -f lavfi -i B = 8 -vf " pad = iw + 320 [padded_clut]; smptebars = s = 320x256, split [a] [b]; [padded_clut] [a] overlay = W-320: h, curve = color_negative [main]; [main] [b] overlay = W-320 "-frames: v 1 clutch.png

Nó chứa bản gốc và bản xem trước về hiệu ứng của các thanh màu CLUT: SMPTE là hiển thị ở trên cùng bên phải và bên dưới các thanh màu tương tự được xử lý bởi các thay đổi màu.

Sau đó, hiệu ứng của Hald CLUT này có thể được hình dung bằng:

ffplay input.mkv -vf "movie = clutch.png, [in] haldclut"

hflip Lật ngang video đầu vào.

Ví dụ: để lật ngang video đầu vào với ffmpeg:

ffmpeg -i in.avi -vf "hflip" out.avi

lịch sử Bộ lọc này áp dụng cân bằng biểu đồ màu toàn cục trên cơ sở mỗi khung hình.

Nó có thể được sử dụng để sửa video có dải cường độ pixel bị nén. Các bộ lọc phân phối lại cường độ pixel để cân bằng phân phối của chúng trên phạm vi cường độ. Nó có thể được xem như một "bộ lọc tương phản tự động điều chỉnh". Điều này bộ lọc chỉ hữu ích để sửa video nguồn bị giảm chất lượng hoặc bắt kém.

Bộ lọc chấp nhận các tùy chọn sau:

sức mạnh Xác định lượng cân bằng được áp dụng. Khi sức mạnh bị giảm, phân phối cường độ pixel ngày càng nhiều cách tiếp cận của khung đầu vào. Giá trị phải là một số thực trong phạm vi [0,1] và mặc định là 0.200.

cường độ Đặt cường độ tối đa có thể tạo ra và chia tỷ lệ các giá trị đầu ra thích hợp. Cường độ nên được đặt như mong muốn và sau đó cường độ có thể được hạn chế nếu cần để tránh rửa trôi. Giá trị phải là một số thực trong phạm vi [0,1] và mặc định là 0.210.

chống lại Đặt mức kháng thể. Nếu được bật, bộ lọc sẽ thay đổi ngẫu nhiên độ sáng của xuất ra một lượng nhỏ pixel để tránh phân dải biểu đồ. Giá trị có thể là "không", "yếu" hoặc "mạnh". Nó mặc định là "không có".

biểu đồ Tính toán và vẽ biểu đồ phân bố màu cho video đầu vào.

Biểu đồ được tính toán là một đại diện của sự phân bố thành phần màu trong một hình ảnh.

Bộ lọc chấp nhận các tùy chọn sau:

chế độ Đặt chế độ biểu đồ.

Nó chấp nhận các giá trị sau:

niveaux Biểu đồ tiêu chuẩn hiển thị sự phân bố các thành phần màu trong một hình ảnh. Hiển thị đồ thị màu cho từng thành phần màu. Hiển thị sự phân bố của Y, U, V, Các thành phần A hoặc R, G, B, tùy thuộc vào định dạng đầu vào, trong khung hiện tại. Phía dưới mỗi biểu đồ một thước đo tỷ lệ thành phần màu được hiển thị.

màu sắc Hiển thị các giá trị sắc độ (vị trí màu U / V) trong một biểu đồ hai chiều (là được gọi là một vectorscope). Một pixel trong kính vectơ càng sáng, thì càng nhiều pixel của khung đầu vào tương ứng với pixel đó (tức là, nhiều pixel hơn có sắc độ này giá trị). Thành phần V được hiển thị trên trục hoành (X), ngoài cùng bên trái bên là V = 0 và bên phải là V = 255. Thành phần U là được hiển thị trên trục tung (Y), với phần trên đại diện cho U = 0 và phần dưới đại diện cho U = 255.

Vị trí của một pixel màu trắng trong biểu đồ tương ứng với giá trị sắc độ của một pixel của clip đầu vào. Do đó, biểu đồ có thể được sử dụng để đọc màu sắc (màu hương vị) và độ bão hòa (sự thống trị của sắc độ trong màu sắc). Như màu sắc của một màu thay đổi, nó di chuyển xung quanh hình vuông. Tại trung tâm của hình vuông, độ bão hòa bằng XNUMX, có nghĩa là pixel tương ứng không có màu. Nếu số lượng một màu cụ thể được tăng lên (trong khi giữ nguyên các màu khác) độ bão hòa tăng lên và chỉ báo di chuyển về phía cạnh của hình vuông.

color2 Giá trị sắc độ trong vectorscope, tương tự như "màu" nhưng giá trị sắc độ thực tế là hiển thị.

dạng sóng Biểu đồ thành phần màu trên mỗi hàng / cột. Ở chế độ hàng, biểu đồ ở bên trái đại diện cho giá trị thành phần màu 0 và bên phải đại diện cho giá trị = 255. Trong chế độ cột, mặt trên biểu thị giá trị thành phần màu = 0 và mặt dưới đại diện cho giá trị = 255.

Giá trị mặc định là "cấp độ".

cấp_height Đặt chiều cao của cấp trong "cấp độ". Giá trị mặc định là 200. Phạm vi được phép là [50, 2048].

tỷ lệ_height Đặt chiều cao của thang màu trong "cấp độ". Giá trị mặc định là 12. Phạm vi được phép là [0, 40].

bước Đặt bước cho chế độ "dạng sóng". Các giá trị nhỏ hơn rất hữu ích để tìm ra có bao nhiêu giá trị của cùng một độ sáng được phân phối trên các hàng / cột đầu vào. Giá trị mặc định là 10. Phạm vi được phép là [1, 255].

dạng sóng_mode Đặt chế độ cho "dạng sóng". Có thể là "hàng" hoặc "cột". Mặc định là "hàng".

dạng sóng_gương Đặt chế độ phản chiếu cho "dạng sóng". 0 có nghĩa là không được phản chiếu, 1 có nghĩa là được sao chép. Trong nhân bản , các giá trị cao hơn sẽ được thể hiện ở bên trái cho chế độ "hàng" và ở trên cùng cho chế độ "cột". Mặc định là 0 (không theo dõi).

chế độ hiển thị Đặt chế độ hiển thị cho "dạng sóng" và "mức". Nó chấp nhận các giá trị sau:

diễu hành Hiển thị biểu đồ riêng biệt cho các thành phần màu cạnh nhau trong dạng sóng "hàng" hoặc một bên dưới chế độ kia trong chế độ dạng sóng "cột" cho biểu đồ "dạng sóng" chế độ. Đối với chế độ biểu đồ "cấp độ", các biểu đồ thành phần màu được đặt bên dưới lẫn nhau.

Sử dụng chế độ hiển thị này ở chế độ biểu đồ "dạng sóng" giúp dễ dàng xác định màu sắc tạo ra các điểm nổi bật và bóng tối của một hình ảnh, bằng cách so sánh các đường viền của đồ thị trên và dưới của mỗi dạng sóng. Vì người da trắng, xám và đen là được đặc trưng bởi số lượng chính xác bằng nhau của các vùng màu đỏ, xanh lục và xanh lam, các vùng trung tính của hình ảnh sẽ hiển thị ba dạng sóng có chiều rộng / chiều cao gần bằng nhau. Nếu không, việc hiệu chỉnh dễ dàng thực hiện bằng cách điều chỉnh mức độ của ba dạng sóng.

phủ Trình bày thông tin giống với thông tin trong "cuộc diễu hành", ngoại trừ các biểu đồ các thành phần màu đại diện được chồng trực tiếp lên nhau.

Chế độ hiển thị này ở chế độ biểu đồ "dạng sóng" giúp dễ dàng phát hiện tương đối hơn sự khác biệt hoặc tương đồng trong các khu vực chồng chéo của các thành phần màu được cho là giống hệt nhau, chẳng hạn như màu trắng trung tính, màu xám hoặc màu đen.

Mặc định là "diễu hành".

chế độ cấp độ Đặt chế độ cho "cấp độ". Có thể là "tuyến tính" hoặc "lôgarit". Mặc định là "tuyến tính".

các thành phần Đặt các thành phần màu nào sẽ hiển thị cho các "mức" chế độ. Mặc định là 7.

Các ví dụ

· Tính toán và vẽ biểu đồ:

biểu đồ ffplay -i input -vf

hqdn3d Đây là bộ lọc khử nhiễu 3d có độ chính xác / chất lượng cao. Nó nhằm mục đích giảm nhiễu hình ảnh, tạo ra hình ảnh mịn và làm cho hình ảnh tĩnh thực sự tĩnh. Nó sẽ tăng cường khả năng nén.

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

luma_spatial Một số dấu phẩy động không âm chỉ định độ bền của không gian. Nó mặc định là 4.0.

không gian sắc độ Một số dấu phẩy động không âm chỉ định cường độ sắc độ không gian. Nó mặc định là 3.0 *

luma_spatial

/ 4.0.

luma_tmp Một số dấu phẩy động chỉ định cường độ thời gian luma. Nó mặc định là 6.0 *

luma_spatial

/ 4.0.

sắc độ_tmp Một số dấu phẩy động chỉ định cường độ thời gian của sắc độ. Nó mặc định là

luma_tmp

*

không gian sắc độ

/

luma_spatial

.

hqx Áp dụng bộ lọc phóng đại chất lượng cao được thiết kế cho nghệ thuật pixel. Bộ lọc này là ban đầu được tạo ra bởi Maxim Stepin.

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

n Đặt thứ nguyên chia tỷ lệ: 2 cho "hq2x", 3 cho "hq3x" và 4 cho "hq4x". Mặc định là 3.

đóng gói Xếp chồng video đầu vào theo chiều ngang.

Tất cả các luồng phải có cùng định dạng pixel và cùng chiều cao.

Lưu ý rằng bộ lọc này nhanh hơn so với việc sử dụng phủ và tập giấy bộ lọc để tạo ra cùng một đầu ra.

Bộ lọc chấp nhận tùy chọn sau:

nb_inputs Đặt số lượng luồng đầu vào. Mặc định là 2.

sắc Sửa đổi màu sắc và / hoặc độ bão hòa của đầu vào.

Nó chấp nhận các tham số sau:

h Chỉ định góc màu dưới dạng một số độ. Nó chấp nhận một biểu thức và mặc định thành "0".

s Chỉ định độ bão hòa trong phạm vi [-10,10]. Nó chấp nhận một biểu thức và mặc định là "1/XNUMX/XNUMX".

H Chỉ định góc màu dưới dạng một số radian. Nó chấp nhận một biểu thức và mặc định thành "0".

b Chỉ định độ sáng trong phạm vi [-10,10]. Nó chấp nhận một biểu thức và mặc định là "0/XNUMX/XNUMX".

h và H loại trừ lẫn nhau và không thể được chỉ định cùng một lúc.

Sản phẩm b, h, H và s giá trị tùy chọn là biểu thức chứa các hằng số sau:

n số khung của khung đầu vào bắt đầu từ 0

Điểm dấu thời gian trình bày của khung đầu vào được biểu thị bằng đơn vị cơ sở thời gian

r tốc độ khung hình của video đầu vào, NAN nếu tốc độ khung hình đầu vào không xác định

t dấu thời gian được biểu thị bằng giây, NAN nếu dấu thời gian đầu vào không xác định

tb cơ sở thời gian của video đầu vào

Các ví dụ

· Đặt màu sắc thành 90 độ và độ bão hòa thành 1.0:

hue = h = 90: s = 1

· Cùng một lệnh nhưng biểu thị màu sắc bằng radian:

sắc độ = H = PI / 2: s = 1

· Xoay màu và làm cho độ bão hòa dao động từ 0 đến 2 trong khoảng thời gian 1 giây:

hue = "H = 2 * PI * t: s = sin (2 * PI * t) +1"

· Áp dụng hiệu ứng mờ dần độ bão hòa 3 giây bắt đầu từ 0:

hue = "s = min (t / 3 \, 1)"

Biểu thức fade-in chung có thể được viết như sau:

hue = "s = min (0 \, max ((t-START) / DURATION \, 1))"

· Áp dụng hiệu ứng mờ dần độ bão hòa 3 giây bắt đầu từ 5 giây:

hue = "s = max (0 \, min (1 \, (8-t) / 3))"

Biểu thức giảm dần chung có thể được viết như sau:

hue = "s = max (0 \, min (1 \, (START + DURATION-t) / DURATION))"

Lệnh

Bộ lọc này hỗ trợ các lệnh sau:

b s h H Sửa đổi màu sắc và / hoặc độ bão hòa và / hoặc độ sáng của video đầu vào. Các lệnh chấp nhận cùng một cú pháp của tùy chọn tương ứng.

Nếu biểu thức được chỉ định không hợp lệ, nó được giữ ở giá trị hiện tại.

lý tưởng Phát hiện loại xen kẽ video.

Bộ lọc này cố gắng phát hiện xem các khung đầu vào là xen kẽ, tăng dần, trên cùng hay dưới cùng lĩnh vực đầu tiên. Nó cũng sẽ thử và phát hiện các trường được lặp lại giữa các khung liền kề (một dấu hiệu của telecine).

Phát hiện khung đơn chỉ xem xét các khung liền kề ngay lập tức khi phân loại từng khung. Phát hiện nhiều khung hình kết hợp lịch sử phân loại của khung.

Bộ lọc sẽ ghi lại các giá trị siêu dữ liệu này:

đơn.current_frame Đã phát hiện loại khung hiện tại bằng cách sử dụng tính năng phát hiện khung đơn. Một trong số: `` tff '' (trên cùng trường đầu tiên), `` bff '' (trường dưới cùng trước), `` lũy tiến '' hoặc `` không xác định ''

độc thân.tff Số lượng khung hình tích lũy được phát hiện là trường trên cùng trước tiên bằng cách sử dụng tính năng phát hiện khung hình đơn.

nhiều.tff Số lượng khung hình tích lũy được phát hiện là trường trên cùng trước tiên bằng cách sử dụng nhiều khung hình phát hiện.

độc thân.bff Số lượng khung hình tích lũy được phát hiện là trường dưới cùng trước tiên bằng cách sử dụng khung hình đơn phát hiện.

nhiều.current_frame Đã phát hiện loại khung hiện tại bằng cách sử dụng tính năng phát hiện nhiều khung. Một trong số: `` tff '' (trên cùng trường đầu tiên), `` bff '' (trường dưới cùng trước), `` lũy tiến '' hoặc `` không xác định ''

nhiều.bff Số lượng khung hình tích lũy được phát hiện dưới dạng trường dưới cùng trước tiên bằng cách sử dụng nhiều khung hình phát hiện.

độc thân.progressive Số lượng khung hình tích lũy được phát hiện là tăng dần bằng cách sử dụng tính năng phát hiện khung hình đơn.

nhiều.progressive Số lượng khung hình tích lũy được phát hiện là tăng dần bằng cách sử dụng tính năng phát hiện nhiều khung hình.

single.undetined Số lượng khung hình tích lũy không thể được phân loại bằng cách sử dụng tính năng phát hiện khung hình đơn.

nhiều. xác định Số lượng khung hình tích lũy không thể được phân loại bằng cách sử dụng nhiều khung hình phát hiện.

repeat.current_frame Trường nào trong khung hiện tại được lặp lại từ trường cuối cùng. Một trong những `` không '', `` top '' hoặc `` bottom ''.

lặp lại. không Số lượng khung hình tích lũy không có trường lặp lại.

lặp lại. dừng lại Số lượng khung hình tích lũy với trường trên cùng được lặp lại từ phần trên cùng của khung trước đó trường.

repeat.bottom Số lượng khung hình tích lũy với trường dưới cùng được lặp lại từ khung hình trước đó trường dưới cùng.

Bộ lọc chấp nhận các tùy chọn sau:

intl_thres Đặt ngưỡng xen kẽ.

prog_thres Đặt ngưỡng lũy ​​tiến.

lặp lại_thres Ngưỡng để phát hiện trường lặp lại.

Half_life Số khung mà sau đó đóng góp của một khung nhất định vào thống kê bị giảm một nửa (tức là, nó chỉ đóng góp 0.5 vào phân loại của nó). Giá trị mặc định là 0 có nghĩa là tất cả các khung nhìn thấy đều có trọng lượng đầy đủ là 1.0 mãi mãi.

analyse_interlaced_flag Khi đây không phải là 0 thì idet sẽ sử dụng số lượng khung hình được chỉ định để xác định xem cờ xen kẽ là chính xác, nó sẽ không tính các khung không xác định. Nếu cờ được cho là chính xác, nó sẽ được sử dụng mà không cần tính toán thêm, nếu được phát hiện là không chính xác, nó sẽ bị xóa mà không cần tính toán thêm. Điều này cho phép chèn bộ lọc idet như một phương pháp tính toán thấp để làm sạch cờ xen kẽ

il Hủy xen kẽ hoặc xen kẽ các trường.

Bộ lọc này cho phép một người xử lý các trường hình ảnh xen kẽ mà không làm mất xen kẽ chúng. Quá trình khử xen kẽ chia khung đầu vào thành 2 trường (được gọi là một nửa hình ảnh). Dòng lẻ được chuyển đến nửa trên của hình ảnh đầu ra, các dòng chẵn xuống nửa dưới. Bạn có thể xử lý (lọc) chúng một cách độc lập và sau đó xen kẽ chúng lại.

Bộ lọc chấp nhận các tùy chọn sau:

luma_mode, l chế độ sắc độ, c chế độ alpha, a Các giá trị có sẵn cho

luma_mode

,

chế độ sắc độ

chế độ alpha

là:

không ai Không làm gì cả.

khử xen kẽ, d Hủy xen kẽ các trường, đặt cái này lên trên cái kia.

xen kẽ, i Các trường xen kẽ. Đảo ngược tác động của việc khử xen kẽ.

Giá trị mặc định là "không".

luma_swap, ls hoán đổi sắc độ, cs trao đổi alpha, as Hoán đổi các trường luma / chroma / alpha. Trao đổi dòng chẵn & lẻ. Giá trị mặc định là 0.

thổi phồng Áp dụng hiệu ứng thổi phồng cho video.

Bộ lọc này thay thế pixel bằng địa phương(3x3) trung bình chỉ tính đến giá trị cao hơn pixel.

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

ngưỡng 0 ngưỡng 1 ngưỡng 2 ngưỡng 3 Giới hạn thay đổi tối đa cho mỗi mặt phẳng, mặc định là 65535. Nếu 0, mặt phẳng sẽ vẫn không thay đổi.

hổn hợp Bộ lọc xen kẽ đơn giản từ các nội dung tiến bộ. Điều này xen kẽ trên (hoặc dưới) dòng từ khung hình lẻ với dòng dưới (hoặc trên) từ khung chẵn, giảm một nửa tốc độ khung hình và bảo toàn chiều cao hình ảnh.

Khung gốc mới ban đầu Khung 'j' Khung 'j + 1' (tff) \================================================== Dòng 0 ----> Khung 'j' Dòng 0 Dòng 1 Dòng 1 > Khung 'j + 1' Dòng 1 Dòng 2 -----> Khung 'j' Dòng 2 Dòng 3 Dòng 3 > Khung 'j + 1' Dòng 3 ... ... ... Khung mới + 1 sẽ được tạo bởi Khung 'j + 2' và Khung 'j + 3', v.v.

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

quét Điều này xác định xem khung hình xen kẽ được lấy từ giá trị chẵn (tff - mặc định) hay dòng lẻ (bff) của khung lũy ​​tiến.

tầm thấp Bật (mặc định) hoặc tắt bộ lọc thông thấp dọc để tránh xen kẽ giữa các twitter và giảm các mô hình chuyển động.

Kerndeint Khử xen kẽ video đầu vào bằng cách áp dụng khử xen kẽ hạt nhân thích ứng của Donald Graft. Làm việc trên các phần xen kẽ của video để tạo ra các khung hình liên tục.

Sau đây là mô tả về các tham số được chấp nhận.

đập mạnh Đặt ngưỡng ảnh hưởng đến dung sai của bộ lọc khi xác định xem một pixel dòng phải được xử lý. Nó phải là một số nguyên trong phạm vi [0,255] và mặc định là 10. Giá trị 0 sẽ dẫn đến việc áp dụng quy trình trên mọi pixel.

bản đồ Sơn các pixel vượt quá giá trị ngưỡng thành màu trắng nếu được đặt thành 1. Mặc định là 0.

gọi món Đặt thứ tự các trường. Hoán đổi các trường nếu được đặt thành 1, để nguyên các trường nếu 0. Mặc định là 0.

sắc nét Bật thêm độ sắc nét nếu được đặt thành 1. Mặc định là 0.

hai ngày Bật làm sắc nét hai chiều nếu được đặt thành 1. Mặc định là 0.

Các ví dụ

· Áp dụng các giá trị mặc định:

kerndeint=thresh=10:map=0:order=0:sharp=0:twoway=0

· Cho phép làm sắc nét bổ sung:

kerndeint = sharp = 1

· Sơn các pixel đã xử lý bằng màu trắng:

kerndeint = map = 1

thấu kính Chỉnh sửa méo thấu kính xuyên tâm

Bộ lọc này có thể được sử dụng để sửa méo xuyên tâm do sử dụng ống kính góc rộng, và do đó chỉnh sửa lại hình ảnh. Để tìm các thông số phù hợp, người ta có thể sử dụng các công cụ có sẵn, chẳng hạn như một phần của opencv hoặc chỉ đơn giản là thử-và-sai. Để sử dụng opencv sử dụng mẫu hiệu chuẩn (theo mẫu / cpp) từ các nguồn opencv và trích xuất các hệ số k1 và k2 từ ma trận kết quả.

Lưu ý rằng hiệu quả bộ lọc tương tự có sẵn trong các công cụ mã nguồn mở Krita và Digikam từ dự án KDE.

Ngược lại với họa tiết bộ lọc, cũng có thể được sử dụng để bù lỗi ống kính, cái này bộ lọc sửa chữa sự biến dạng của hình ảnh, trong khi họa tiết điều chỉnh độ sáng phân phối, vì vậy bạn có thể muốn sử dụng cả hai bộ lọc cùng nhau trong một số trường hợp nhất định, mặc dù bạn sẽ phải quan tâm đến việc đặt hàng, tức là có nên áp dụng họa tiết trước hay không sau khi chỉnh sửa ống kính.

Các lựa chọn

Bộ lọc chấp nhận các tùy chọn sau:

cx Tọa độ x tương đối của tiêu điểm của hình ảnh, và do đó là tâm của méo mó. Giá trị này có phạm vi [0,1] và được biểu thị dưới dạng các phần nhỏ của hình ảnh chiều rộng.

cy Tọa độ y tương đối của tiêu điểm của hình ảnh và do đó là tâm của méo mó. Giá trị này có phạm vi [0,1] và được biểu thị dưới dạng các phần nhỏ của hình ảnh Chiều cao.

k1 Hệ số của số hạng hiệu chỉnh bậc hai. 0.5 nghĩa là không sửa.

k2 Hệ số của số hạng hiệu chỉnh bậc hai kép. 0.5 nghĩa là không sửa.

Công thức tạo ra hiệu chỉnh là:

r_src

\=

r_tgt

* (1 +

k1

* (

r_tgt

/

r_0

) ^ 2 +

k2

* (

r_tgt

/

r_0

) ^ 4)

Ở đâu

r_0

là một nửa của đường chéo hình ảnh và

r_src

r_tgt

khoảng cách từ tiêu điểm tương ứng trong ảnh nguồn và ảnh đích.

lut3d Áp dụng 3D LUT cho video đầu vào.

Bộ lọc chấp nhận các tùy chọn sau:

hồ sơ Đặt tên tệp 3D LUT.

Các định dạng hiện được hỗ trợ:

3dl Hậu quả

khối lập phương irida

dat DaVinci

m3d Pandora

xen vào Chọn chế độ nội suy.

Các giá trị có sẵn là:

gần nhất Sử dụng các giá trị từ điểm xác định gần nhất.

tam giác Nội suy các giá trị bằng cách sử dụng 8 điểm xác định một khối lập phương.

tứ diện Nội suy các giá trị bằng cách sử dụng một tứ diện.

lu, lutrgb, lutyuv Tính toán một bảng tra cứu để liên kết mỗi giá trị đầu vào của thành phần pixel với một giá trị đầu ra, và áp dụng nó vào video đầu vào.

lutyuv

áp dụng bảng tra cứu cho video đầu vào YUV,

lutrgb

sang video đầu vào RGB.

Các bộ lọc này chấp nhận các thông số sau:

c0 đặt biểu thức thành phần pixel đầu tiên

c1 đặt biểu thức thành phần pixel thứ hai

c2 đặt biểu thức thành phần pixel thứ ba

c3 đặt biểu thức thành phần pixel thứ tư, tương ứng với thành phần alpha

r thiết lập biểu thức thành phần màu đỏ

g thiết lập biểu thức thành phần màu xanh lá cây

b đặt biểu thức thành phần màu xanh lam

a biểu thức thành phần alpha

y đặt Y / biểu thức thành phần độ sáng

u đặt biểu thức thành phần U / Cb

v thiết lập biểu thức thành phần V / Cr

Mỗi người trong số họ chỉ định biểu thức để sử dụng để tính toán bảng tra cứu cho giá trị thành phần pixel tương ứng.

Thành phần chính xác được liên kết với mỗi

c*

tùy chọn phụ thuộc vào định dạng đầu vào.

Sản phẩm

hàn

bộ lọc yêu cầu định dạng pixel YUV hoặc RGB trong đầu vào,

lutrgb

yêu cầu RGB định dạng pixel trong đầu vào và

lutyuv

yêu cầu YUV.

Các biểu thức có thể chứa các hằng số và hàm sau:

w h Chiều rộng và chiều cao đầu vào.

val Giá trị đầu vào cho thành phần pixel.

clipval Giá trị đầu vào, được cắt vào

nhỏ nhất

-

giá trị tối đa

phạm vi.

giá trị tối đa Giá trị lớn nhất cho thành phần pixel.

nhỏ nhất Giá trị tối thiểu cho thành phần pixel.

bỏ qua Giá trị phủ định cho giá trị thành phần pixel, được cắt vào

nhỏ nhất

-

giá trị tối đa

phạm vi; nó tương ứng với biểu thức "maxval-clipval + minval".

kẹp (val) Giá trị được tính trong

val

, được cắt vào

nhỏ nhất

-

giá trị tối đa

phạm vi.

gammaval (gamma) Giá trị hiệu chỉnh gamma được tính toán của giá trị thành phần pixel, được cắt vào

nhỏ nhất

-

giá trị tối đa

phạm vi. Nó tương ứng với biểu thức "pow ((clipval-minval) / (maxval-minval) \,

gamma

) * (maxval-minval) + minval "

Tất cả các biểu thức mặc định là "val".

Các ví dụ

· Điều chỉnh video đầu vào:

lutrgb = "r = maxval + minval-val: g = maxval + minval-val: b = maxval + minval-val" lutyuv = "y = maxval + minval-val: u = maxval + minval-val: v = maxval + minval-val"

Ở trên cũng giống như:

lutrgb = "r = negval: g = negval: b = negval" lutyuv = "y = negval: u = negval: v = negval"

· Giảm độ sáng:

lutyuv = y = negval

· Loại bỏ các thành phần sắc độ, biến video thành hình ảnh màu xám:

lutyuv = "u = 128: v = 128"

· Áp dụng hiệu ứng đốt cháy:

lutyuv = "y = 2 * val"

· Loại bỏ các thành phần màu xanh lá cây và xanh lam:

lutrgb = "g = 0: b = 0"

· Đặt giá trị kênh alpha không đổi trên đầu vào:

format = rgba, lutrgb = a = "maxval-minval / 2"

· Hiệu chỉnh gamma độ sáng theo hệ số 0.5:

lutyuv = y = gammaval (0.5)

· Loại bỏ các bit luma ít quan trọng nhất:

lutyuv = y = 'bitand (val, 128 + 64 + 32)'

máy bay hợp nhất Hợp nhất các thành phần kênh màu từ một số luồng video.

Bộ lọc chấp nhận tối đa 4 luồng đầu vào và hợp nhất các mặt phẳng đầu vào đã chọn với đầu ra video.

Bộ lọc này chấp nhận các tùy chọn sau:

lập bản đồ Đặt ánh xạ mặt phẳng đầu vào đến đầu ra. Mặc định là 0.

Các ánh xạ được chỉ định dưới dạng bitmap. Nó phải được chỉ định dưới dạng số thập lục phân ở dạng 0xAa [Bb [Cc [Dd]]]. 'Aa' mô tả ánh xạ cho mặt phẳng đầu tiên của luồng đầu ra. 'A' đặt số dòng đầu vào sẽ sử dụng (từ 0 đến 3) và 'a' số máy bay của đầu vào tương ứng sẽ sử dụng (từ 0 đến 3). Phân con lại của ánh xạ cũng tương tự, 'Bb' mô tả ánh xạ cho mặt phẳng thứ hai của luồng đầu ra, 'Cc' mô tả ánh xạ cho mặt phẳng thứ ba của luồng đầu ra và 'Dd' mô tả ánh xạ cho mặt phẳng thứ tư của luồng đầu ra.

định dạng Đặt định dạng pixel đầu ra. Mặc định là "yuva444p".

Các ví dụ

· Hợp nhất ba luồng video màu xám có cùng chiều rộng và chiều cao thành một luồng video:

[a0][a1][a2]mergeplanes=0x001020:yuv444p

· Hợp nhất luồng yuv1p thứ nhất và luồng video xám thứ hai thành luồng video yuva444p:

[a0][a1]mergeplanes=0x00010210:yuva444p

· Trao đổi máy bay Y và A trong luồng yuva444p:

format = yuva444p, mergeplanes = 0x03010200: yuva444p

· Hoán đổi mặt phẳng U và V trong luồng yuv420p:

format = yuv420p, mergeplanes = 0x000201: yuv420p

· Truyền một clip rgb24 sang yuv444p:

format = rgb24, mergeplanes = 0x000102: yuv444p

mcdeint Áp dụng chức năng khử xen kẽ bù chuyển động.

Nó cần một trường trên mỗi khung làm đầu vào và do đó phải được sử dụng cùng với yadif = 1/3 hoặc tương đương.

Bộ lọc này chấp nhận các tùy chọn sau:

chế độ Đặt chế độ khử xen kẽ.

Nó chấp nhận một trong các giá trị sau:

Rychle trung bình chậm sử dụng ước tính chuyển động lặp đi lặp lại

thêm_chậm Lượt thích chậm, nhưng sử dụng nhiều hệ quy chiếu.

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

tính chẵn lẻ Đặt trường hình ảnh chẵn lẻ giả định cho video đầu vào. Nó phải là một trong những các giá trị sau:

0, tff giả sử trường trên cùng đầu tiên

1, bff giả sử trường dưới cùng đầu tiên

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

qp Đặt tham số lượng tử hóa trên mỗi khối (QP) được sử dụng bởi bộ mã hóa bên trong.

Giá trị cao hơn sẽ dẫn đến trường vectơ chuyển động mượt mà hơn nhưng kém tối ưu hơn vectơ riêng lẻ. Giá trị mặc định là 1.

mpdecimate Thả các khung hình không khác nhiều so với khung hình trước đó để giảm bớt khung hình tỷ lệ.

Việc sử dụng chính của bộ lọc này là để mã hóa tốc độ bit rất thấp (ví dụ: phát trực tuyến qua quay số modem), nhưng về lý thuyết nó có thể được sử dụng để sửa các bộ phim được truyền hình ngược không chính xác.

Sau đây là mô tả về các tùy chọn được chấp nhận.

tối đa Đặt số lượng khung hình liên tiếp tối đa có thể bị loại bỏ (nếu tích cực) hoặc khoảng thời gian tối thiểu giữa các khung hình bị rơi (nếu âm). Nếu giá trị là 0, khung hình bị giảm bất kể số lượng khung hình bị giảm tuần tự trước đó.

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

hi lo áo khoác Đặt các giá trị ngưỡng giảm.

Giá trị cho hi và lo dành cho khối 8x8 pixel và đại diện cho giá trị pixel thực tế khác biệt, vì vậy ngưỡng 64 tương ứng với 1 đơn vị chênh lệch cho mỗi pixel, hoặc giống nhau trải ra khác nhau trên khối.

Khung là một ứng cử viên để giảm nếu không có khối 8x8 nào khác nhau quá ngưỡng of hi, và nếu không nhiều hơn áo khoác khối (1 nghĩa là toàn bộ hình ảnh) khác nhau hơn một ngưỡng của lo.

Giá trị mặc định cho hi là 64 * 12, giá trị mặc định cho lo là 64 * 5 và giá trị mặc định cho áo khoác là 0.33.

phủ nhận Phủ nhận video đầu vào.

Nó chấp nhận một số nguyên trong đầu vào; nếu khác XNUMX, nó phủ định thành phần alpha (nếu có). Giá trị mặc định trong đầu vào là 0.

không có định dạng Buộc libavfilter không sử dụng bất kỳ định dạng pixel nào được chỉ định cho đầu vào tiếp theo lọc.

Nó chấp nhận các tham số sau:

pix_fmts Danh sách tên định dạng pixel được phân tách bằng '|', chẳng hạn như apix_fmts = yuv420p | monow | rgb24 ".

Các ví dụ

· Buộc libavfilter sử dụng định dạng khác với

yuv420p

cho đầu vào cho vflip bộ lọc:

noformat = pix_fmts = yuv420p, vflip

· Chuyển đổi video đầu vào sang bất kỳ định dạng nào không có trong danh sách:

noformat = yuv420p | yuv444p | yuv410p

tiếng ồn Thêm tiếng ồn trên khung đầu vào video.

Bộ lọc chấp nhận các tùy chọn sau:

all_seed c0_seed c1_seed c2_seed c3_seed Đặt hạt giống nhiễu cho thành phần pixel cụ thể hoặc tất cả các thành phần pixel trong trường hợp

all_seed

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

all_sức mạnh, tất cả c0_sức mạnh, c0s c1_sức mạnh, c1s c2_sức mạnh, c2s c3_sức mạnh, c3s Đặt cường độ nhiễu cho thành phần pixel cụ thể hoặc tất cả các thành phần pixel trong trường hợp

all_sức mạnh

. Giá trị mặc định là 0. Phạm vi được phép là [0, 100].

all_flags, tất cả c0_flags, C0f c1_flags, C1f c2_flags, C2f c3_flags, C3f Đặt cờ thành phần pixel hoặc đặt cờ cho tất cả các thành phần nếu

all_flags

. Có sẵn giá trị cho các cờ thành phần là:

a tiếng ồn thời gian trung bình (mượt mà hơn)

p trộn nhiễu ngẫu nhiên với một mẫu (bán) thông thường

t nhiễu tạm thời (thay đổi kiểu nhiễu giữa các khung hình)

u tiếng ồn đồng nhất (tiếng gaussian khác)

Các ví dụ

Thêm tiếng ồn theo thời gian và đồng nhất vào video đầu vào:

tiếng ồn = alls = 20: allf = t + u

vô giá trị Chuyển nguồn video không thay đổi đến đầu ra.

ocv Áp dụng chuyển đổi video bằng libopencv.

Để bật bộ lọc này, hãy cài đặt thư viện libopencv và các tiêu đề và định cấu hình FFmpeg với "--enable-libopencv".

Nó chấp nhận các tham số sau:

tên bộ lọc Tên của bộ lọc libopencv để áp dụng.

filter_params Các tham số để chuyển đến bộ lọc libopencv. Nếu không được chỉ định, các giá trị mặc định được giả định rằng.

Tham khảo tài liệu libopencv chính thức để biết thêm thông tin chính xác: <//docs.opencv.org/master/modules/imgproc/doc/filtering.html>

Một số bộ lọc libopencv được hỗ trợ; xem các phần phụ sau đây.

giãn ra

Pha loãng hình ảnh bằng cách sử dụng một phần tử có cấu trúc cụ thể. Nó tương ứng với libopencv chức năng "cvDilate".

Nó chấp nhận các tham số:

cấu trúc_el

|

nb_iterations

.

cấu trúc_el

đại diện cho một phần tử có cấu trúc và có cú pháp:

vòng cổ

x

hàng

+

neo_x

x

neo_y

/

định hìnhvòng cổ

hàng

đại diện cho số cột và hàng của phần tử cấu trúc,

neo_x

neo_y

điểm neo, và

định hình

hình dạng cho phần tử cấu trúc.

định hình

phải là "trực tràng", "chéo", "elip" hoặc "tùy chỉnh".

Nếu giá trị cho

định hình

là "tùy chỉnh", nó phải được theo sau bởi một chuỗi biểu mẫu "=

tên tập tin

". Tệp có tên

tên tập tin

được giả định là đại diện cho một hình ảnh nhị phân, với mỗi ký tự in được tương ứng với một pixel sáng. Khi một tùy chỉnh

định hình

Được sử dụng,

vòng cổ

hàng

bị bỏ qua, số hoặc cột và hàng của tệp đã đọc được giả định thay thế.

Giá trị mặc định cho

cấu trúc_el

là "3x3 + 0x0 / direct".

nb_iterations

chỉ định số lần biến đổi được áp dụng cho hình ảnh và mặc định là 1.

Vài ví dụ:

# Sử dụng các giá trị mặc định ocv = giãn ra

# Pha loãng bằng cách sử dụng phần tử cấu trúc có dấu chéo 5x5, lặp lại hai lần ocv=filter_name=dilate:filter_params=5x5+2x2/cross|2

# Đọc hình dạng từ tệp diamond.shape, lặp lại hai lần. # Tệp diamond.shape có thể chứa một mẫu ký tự như thế này # * # *** # ***** # *** # * # Các cột và hàng được chỉ định bị bỏ qua # nhưng tọa độ điểm neo thì không ocv=dilate:0x0+2x2/custom=diamond.shape|2

xói mòn

Xóa hình ảnh bằng cách sử dụng một phần tử có cấu trúc cụ thể. Nó tương ứng với libopencv chức năng "cvErode".

Nó chấp nhận các tham số:

cấu trúc_el

:

nb_iterations

, có cùng cú pháp và ngữ nghĩa như các giãn ra lọc.

trơn tru

Làm mượt video đầu vào.

Bộ lọc nhận các tham số sau:

kiểu

|

param1

|

param2

|

param3

|

param4

.

kiểu

là loại bộ lọc mịn để áp dụng và phải là một trong các giá trị sau: "mờ", "mờ_no_scale", "trung bình", "gaussian" hoặc "song phương". Giá trị mặc định là "gaussian".

Nghĩa của

param1

,

param2

,

param3

param4

tùy thuộc vào loại mịn.

param1

param2

chấp nhận các giá trị nguyên dương hoặc 0.

param3

param4

chấp nhận dấu phẩy động các giá trị.

Giá trị mặc định cho

param1

là 3. Giá trị mặc định cho các tham số khác là 0.

Các tham số này tương ứng với các tham số được gán cho hàm libopencv "cvSmooth".

phủ Chồng một video lên trên video khác.

Nó cần hai đầu vào và có một đầu ra. Đầu vào đầu tiên là video "chính" trên đó đầu vào thứ hai được phủ lên.

Nó chấp nhận các tham số sau:

Sau đây là mô tả về các tùy chọn được chấp nhận.

x y Đặt biểu thức cho tọa độ x và y của video được phủ trên video chính băng hình. Giá trị mặc định là "0" cho cả hai biểu thức. Trong trường hợp biểu thức không hợp lệ, nó được đặt thành một giá trị lớn (có nghĩa là lớp phủ sẽ không được hiển thị trong vùng hiển thị đầu ra).

eof_action Hành động cần thực hiện khi gặp EOF trên đầu vào thứ cấp; nó chấp nhận một trong số các giá trị sau:

lặp lại Lặp lại khung cuối cùng (mặc định).

kết thúc tất cả Kết thúc cả hai luồng.

vượt qua Chuyển đầu vào chính qua.

đánh giá Đặt khi các biểu thức cho xvà y được đánh giá.

Nó chấp nhận các giá trị sau:

trong đó chỉ đánh giá các biểu thức một lần trong quá trình khởi tạo bộ lọc hoặc khi một lệnh được xử lý

khung đánh giá biểu thức cho mỗi khung hình đến

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

ngắn nhất Nếu được đặt thành 1, buộc đầu ra kết thúc khi đầu vào ngắn nhất kết thúc. Vỡ nợ giá trị là 0.

định dạng Đặt định dạng cho video đầu ra.

Nó chấp nhận các giá trị sau:

yuv420 buộc đầu ra YUV420

yuv422 buộc đầu ra YUV422

yuv444 buộc đầu ra YUV444

rgb buộc đầu ra RGB

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

rgb

(không dùng nữa)

Nếu được đặt thành 1, buộc bộ lọc chấp nhận các đầu vào trong không gian màu RGB. Giá trị mặc định là 0. Tùy chọn này không được dùng nữa, hãy sử dụng định dạng thay thế.

lặp lại Nếu được đặt thành 1, hãy buộc bộ lọc vẽ khung lớp phủ cuối cùng lên đầu vào chính cho đến khi cuối dòng. Giá trị 0 sẽ vô hiệu hóa hành vi này. Giá trị mặc định là 1.

Sản phẩm xvà y biểu thức có thể chứa các tham số sau.

chính_w, W chính_h, H Chiều rộng và chiều cao đầu vào chính.

lớp phủ_w, w lớp phủ_h, h Chiều rộng và chiều cao đầu vào lớp phủ.

x y Các giá trị được tính toán cho

x

y

. Chúng được đánh giá cho mỗi khung hình mới.

hsub vsub các giá trị mẫu con sắc độ ngang và dọc của định dạng đầu ra. Ví dụ cho định dạng pixel "yuv422p"

hsub

là 2 và

vsub

là 1.

n số lượng khung hình đầu vào, bắt đầu từ 0

gửi vị trí trong tệp của khung đầu vào, NAN nếu không xác định

t Dấu thời gian, được biểu thị bằng giây. Đó là NAN nếu dấu thời gian đầu vào không xác định.

Lưu ý rằng

n

,

gửi

,

t

các biến chỉ có sẵn khi đánh giá xong

mỗi khung

, và sẽ đánh giá với NAN khi đánh giá được thiết lập để trong đó.

Lưu ý rằng các khung hình được lấy từ mỗi video đầu vào theo thứ tự dấu thời gian, do đó, nếu dấu thời gian ban đầu khác nhau, bạn nên chuyển hai đầu vào thông qua

setpts = PTS-STARTPTS

bộ lọc để chúng bắt đầu ở cùng một dấu thời gian bằng XNUMX, như ví dụ cho

phim

bộ lọc không.

Bạn có thể xâu chuỗi các lớp phủ lại với nhau nhưng bạn nên kiểm tra hiệu quả của cách tiếp cận như vậy.

Lệnh

Bộ lọc này hỗ trợ các lệnh sau:

x y Sửa đổi x và y của đầu vào lớp phủ. Lệnh chấp nhận cùng một cú pháp của tùy chọn tương ứng.

Nếu biểu thức được chỉ định không hợp lệ, nó được giữ ở giá trị hiện tại.

Các ví dụ

· Vẽ lớp phủ ở 10 pixel từ góc dưới cùng bên phải của video chính:

overlay = main_w-overlay_w-10: main_h-overlay_h-10

Sử dụng các tùy chọn được đặt tên, ví dụ trên sẽ trở thành:

overlay = x = main_w-overlay_w-10: y = main_h-overlay_h-10

· Chèn logo PNG trong suốt ở góc dưới cùng bên trái của đầu vào, sử dụng ffmpeg công cụ với tùy chọn "-filter_complex":

ffmpeg -i input -i logo -filter_complex 'overlay = 10: main_h-overlay_h-10' output

· Chèn 2 biểu trưng PNG trong suốt khác nhau (biểu trưng thứ hai ở góc dưới bên phải) bằng cách sử dụng các ffmpeg dụng cụ:

ffmpeg -i input -i logo1 -i logo2 -filter_complex 'overlay = x = 10: y = Hh-10, overlay = x = Ww-10: y = Hh-10' output

· Thêm một lớp màu trong suốt trên đầu video chính; "WxH" phải chỉ định kích thước của đầu vào chính cho bộ lọc lớp phủ:

[email được bảo vệ]:size=WxH [trên]; [trong] [trên] lớp phủ [ngoài]

· Phát video gốc và phiên bản đã lọc (ở đây với bộ lọc deshake) cạnh nhau bên sử dụng ffplay dụng cụ:

ffplay input.avi -vf 'split [a] [b]; [a] pad = iw * 2: ih [src]; [b] deshake [filt]; [src] [filt] overlay = w '

Lệnh trên tương tự như:

ffplay input.avi -vf 'split [b], pad = iw * 2 [src], [b] deshake, [src] overlay = w'

· Tạo một lớp phủ trượt xuất hiện từ phần trên cùng bên trái sang bên phải của màn hình bắt đầu từ thời điểm 2:

overlay = x = 'if (gte (t, 2), -w + (t-2) * 20, NAN)': y = 0

· Soạn đầu ra bằng cách đặt hai video đầu vào cạnh nhau:

ffmpeg -i left.avi -i right.avi -filter_complex " nullsrc = size = 200x100 [background]; [0: v] setpts = PTS-STARTPTS, scale = 100x100 [left]; [1: v] setpts = PTS-STARTPTS, scale = 100x100 [right]; [background] [left] overlay = short = 1 [background + left]; [background + left] [right] overlay = short = 1: x = 100 [left + right] "

· Tạo mặt nạ từ 10-20 giây của video bằng cách áp dụng bộ lọc delogo cho một phần

ffmpeg -i test.avi -codec: v: 0 wmv2 -ar 11025 -b: v 9000k -vf '[in]split[split_main][split_delogo];[split_delogo]trim=start=360:end=371,delogo=0:0:640:480[delogoed];[split_main][delogoed]overlay=eof_action=pass[out]' đeo mặt nạ.avi

· Chuỗi một số lớp phủ theo tầng:

nullsrc = s = 200x200 [bg]; testsrc=s=100x100, split=4 [in0][in1][in2][in3]; [in0] lutrgb = r = 0, [bg] overlay = 0: 0 [mid0]; [in1] lutrgb = g = 0, [mid0] overlay = 100: 0 [mid1]; [in2] lutrgb = b = 0, [mid1] overlay = 0: 100 [mid2]; [in3] null, [mid2] overlay = 100: 100 [out0]

nợ nần Áp dụng bộ khử Wavelet quá đầy đủ.

Bộ lọc chấp nhận các tùy chọn sau:

chiều sâu Đặt độ sâu.

Giá trị độ sâu lớn hơn sẽ làm nhiễu các thành phần tần số thấp hơn, nhưng làm chậm sự lọc.

Phải là một số nguyên trong phạm vi 8-16, mặc định là 8.

luma_sức mạnh, ls Đặt sức mạnh luma.

Phải là một giá trị kép trong phạm vi 0-1000, mặc định là 1.0.

sắc độ_cường độ, cs Đặt cường độ sắc độ.

Phải là một giá trị kép trong phạm vi 0-1000, mặc định là 1.0.

tập giấy Thêm phần đệm vào hình ảnh đầu vào và đặt đầu vào ban đầu tại hình ảnh được cung cấp

x

,

y

tọa độ.

Nó chấp nhận các tham số sau:

chiều rộng, w Chiều cao, h Chỉ định một biểu thức cho kích thước của hình ảnh đầu ra với các phần đệm được thêm vào. Nếu giá trị cho

chiều rộng

or

cao

là 0, kích thước đầu vào tương ứng được sử dụng cho đầu ra.

Sản phẩm

chiều rộng

biểu thức có thể tham chiếu đến giá trị được đặt bởi

cao

biểu hiện, và phó mặc ngược lại.

Giá trị mặc định của

chiều rộng

cao

là 0.

x y Chỉ định các hiệu số để đặt hình ảnh đầu vào trong vùng đệm, đối với đến đường viền trên cùng / bên trái của hình ảnh đầu ra.

Sản phẩm

x

biểu thức có thể tham chiếu đến giá trị được đặt bởi

y

biểu thức và ngược lại.

Giá trị mặc định của

x

y

là 0.

màu sắc Chỉ định màu của vùng đệm. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Màu" trong hướng dẫn sử dụng ffmpeg-utils.

Giá trị mặc định của

màu sắc

là "đen".

Giá trị cho

chiều rộng

,

cao

,

x

y

các tùy chọn là các biểu thức có chứa những điều sau đây hằng số:

trong W trong_h Chiều rộng và chiều cao của video đầu vào.

iw ih Chúng giống như

trong W

trong_h

.

ra_w ra_h Chiều rộng và chiều cao đầu ra (kích thước của vùng đệm), như được chỉ định bởi

chiều rộng

cao

biểu thức.

ow oh Chúng giống như

ra_w

ra_h

.

x y Các hiệu số x và y như được chỉ định bởi

x

y

biểu thức hoặc NAN nếu chưa được chỉ định.

a giống như

iw

/

ih

sar tỷ lệ khung hình mẫu đầu vào

dar tỷ lệ khung hình hiển thị đầu vào, nó giống như (

iw

/

ih

) *

sar

hsub vsub Các giá trị mẫu con sắc độ ngang và dọc. Ví dụ đối với định dạng pixel "yuv422p"

hsub

là 2 và

vsub

là 1.

Các ví dụ

· Thêm đệm với màu "tím" vào video đầu vào. Kích thước video đầu ra là 640x480 và góc trên cùng bên trái của video đầu vào được đặt ở cột 0, hàng 40

pad = 640: 480: 0: 40: violet

Ví dụ trên tương đương với lệnh sau:

pad = width = 640: height = 480: x = 0: y = 40: color = violet

· Pad đầu vào để có đầu ra với kích thước tăng lên 3/2 và đặt đầu vào video ở trung tâm của khu vực độn:

pad="3/2*iw:3/2*ih:(ow-iw)/2:(oh-ih)/2"

· Pad đầu vào để có được đầu ra bình phương với kích thước bằng giá trị lớn nhất giữa chiều rộng và chiều cao đầu vào, đồng thời đặt video đầu vào ở giữa vùng đệm:

pad = "max (iw \, ih): ow: (ow-iw) / 2: (oh-ih) / 2"

· Pad đầu vào để có tỷ lệ w / h cuối cùng là 16: 9:

pad = "ih * 16/9: ih: (ow-iw) / 2: (oh-ih) / 2"

· Trong trường hợp video anamorphic, để đặt chính xác khía cạnh hiển thị đầu ra, nó là cần thiết để sử dụng

sar

trong biểu thức, theo quan hệ:

(ih * X / ih) * sar = đầu ra_dar X = đầu ra_dar / sar

Vì vậy, ví dụ trước đó cần được sửa đổi thành:

pad = "ih * 16/9 / sar: ih: (ow-iw) / 2: (oh-ih) / 2"

· Nhân đôi kích thước đầu ra và đặt video đầu vào ở góc dưới cùng bên phải của vùng đệm đầu ra:

pad = "2 * iw: 2 * ih: ow-iw: oh-ih"

Palette Tạo một bảng màu cho toàn bộ luồng video.

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

max_colors Đặt số lượng màu tối đa để định lượng trong bảng màu. Lưu ý: bảng màu sẽ vẫn chứa 256 màu; các mục bảng màu không sử dụng sẽ có màu đen.

Reserve_transparent Tạo một bảng màu tối đa 255 màu và dành màu cuối cùng cho độ trong suốt. Dành riêng màu trong suốt rất hữu ích cho việc tối ưu hóa GIF. Nếu không được đặt, tối đa các màu trong bảng màu sẽ là 256. Bạn có thể muốn tắt tùy chọn này cho một hình ảnh độc lập. Đặt theo mặc định.

chế độ thống kê Đặt chế độ thống kê.

Nó chấp nhận các giá trị sau:

Full Tính toán biểu đồ toàn khung hình.

khác Chỉ tính toán biểu đồ cho phần khác với khung trước đó. Điều này có thể có liên quan để mang lại tầm quan trọng hơn cho phần chuyển động của đầu vào của bạn nếu nền là tĩnh.

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

Full

.

Bộ lọc cũng xuất siêu dữ liệu khung "lavfi.color_quant_ratio" ("nb_color_in / nb_color_out ") mà bạn có thể sử dụng để đánh giá mức độ lượng tử hóa màu của bảng màu. Thông tin này cũng được hiển thị tại

Thông tin

mức độ khai thác.

Các ví dụ

· Tạo bảng màu đại diện của một video nhất định bằng cách sử dụng ffmpeg:

ffmpeg -i input.mkv -vf Palettegen Palette.png

bảng màu Sử dụng bảng màu để giảm bớt mẫu cho luồng video đầu vào.

Bộ lọc nhận hai đầu vào: một luồng video và một bảng màu. Bảng màu phải là 256 hình ảnh pixel.

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

run lên Chọn chế độ phối màu. Các thuật toán có sẵn là:

bayer Phối màu bayer 8x8 có thứ tự (xác định)

quái vật Phối màu theo định nghĩa của Paul Heckbert năm 1982 (khuếch tán lỗi đơn giản). Ghi chú: sự phối màu này đôi khi bị coi là "sai" và được đưa vào như một tài liệu tham khảo.

floyd_steinberg Phối màu Floyd và Steingberg (khuếch tán lỗi)

Sierra2 Phối màu Frankie Sierra v2 (khuếch tán lỗi)

sierra2_4a Frankie Sierra dithering v2 "Lite" (phát tán lỗi)

Mặc định là

sierra2_4a

.

bayer_scale Thời Gian

bayer

phối màu được chọn, tùy chọn này xác định tỷ lệ của mẫu (cách nhiều mô hình crosshatch có thể nhìn thấy). Giá trị thấp có nghĩa là mẫu hiển thị nhiều hơn cho ít dải hơn và giá trị cao hơn có nghĩa là ít mẫu hiển thị hơn với chi phí là nhiều dải hơn.

Tùy chọn phải là một giá trị nguyên trong phạm vi [0,5]. Mặc định là

2

.

chế độ khác biệt Nếu được đặt, hãy xác định vùng để xử lý

hình chữ nhật Chỉ hình chữ nhật thay đổi sẽ được xử lý lại. Điều này tương tự với GIF cơ chế nén cắt xén / bù trừ. Tùy chọn này có thể hữu ích cho tốc độ nếu chỉ một phần của hình ảnh đang thay đổi và có các trường hợp sử dụng như giới hạn phạm vi của lỗi khác nhau run lên đến hình chữ nhật giới hạn cảnh chuyển động (nó dẫn đến đầu ra xác định hơn nếu cảnh không thay đổi nhiều và như một giúp giảm nhiễu chuyển động và nén ảnh GIF tốt hơn).

Mặc định là

không ai

.

Các ví dụ

· Sử dụng bảng màu (được tạo ví dụ với Palette) để mã hóa GIF bằng cách sử dụng ffmpeg:

ffmpeg -i input.mkv -i Palette.png -lavfi Palletuse output.gif

quan điểm Phối cảnh chính xác của video không được quay vuông góc với màn hình.

Sau đây là mô tả về các tham số được chấp nhận.

x0 y0 x1 y1 x2 y2 x3 y3 Đặt biểu thức tọa độ cho trên cùng bên trái, trên cùng bên phải, dưới cùng bên trái và dưới cùng bên phải các góc. Các giá trị mặc định là "0: 0: W: 0: 0: H: W: H" với góc nhìn sẽ được giữ nguyên không thay đổi. Nếu tùy chọn "sense" được đặt thành "source", thì các điểm được chỉ định sẽ được gửi đến các góc của điểm đến. Nếu tùy chọn "sense" được đặt thành "đích", sau đó các góc của nguồn sẽ được gửi đến tọa độ.

Các biểu thức có thể sử dụng các biến sau:

W H chiều rộng và chiều cao của khung hình video.

phép nội suy Đặt nội suy để hiệu chỉnh phối cảnh.

Nó chấp nhận các giá trị sau:

tuyến tính khối

Giá trị mặc định là tuyến tính.

ý nghĩa Đặt giải thích các tùy chọn tọa độ.

Nó chấp nhận các giá trị sau:

0, nguồn Gửi điểm trong nguồn được chỉ định bởi các tọa độ đã cho đến các góc của Nơi Đến.

1, điểm đến Gửi các góc của nguồn đến điểm trong đích được chỉ định bởi tọa độ cho trước.

Giá trị mặc định là nguồn.

giai đoạn Trì hoãn video xen kẽ theo một trường thời gian để thứ tự trường thay đổi.

Mục đích sử dụng là để sửa các phim PAL đã được chụp với trường đối diện để chuyển phim sang video.

Sau đây là mô tả về các tham số được chấp nhận.

chế độ Đặt chế độ pha.

Nó chấp nhận các giá trị sau:

t Nắm bắt thứ tự trường từ trên xuống trước, chuyển từ dưới lên trước. Bộ lọc sẽ trì hoãn trường dưới cùng.

b Nắm bắt thứ tự trường từ dưới lên trước, chuyển từ trên xuống trước. Bộ lọc sẽ trì hoãn đầu trường.

p Chụp và chuyển với cùng một thứ tự trường. Chế độ này chỉ tồn tại cho tài liệu về các tùy chọn khác để tham khảo, nhưng nếu bạn thực sự chọn nó, bộ lọc trung thực sẽ không làm gì cả.

a Nắm bắt thứ tự trường được xác định tự động bởi cờ trường, chuyển ngược lại. Bộ lọc lựa chọn trong số t và b chế độ trên cơ sở từng khung hình bằng cách sử dụng cờ trường. Nếu như không có thông tin lĩnh vực nào có sẵn, sau đó điều này hoạt động giống như u.

u Chụp không xác định hoặc thay đổi, chuyển ngược lại. Bộ lọc lựa chọn trong số t và b trên từng khung hình trên cơ sở phân tích hình ảnh và chọn phương án thay thế tạo ra sự phù hợp tốt nhất giữa các trường.

T Chụp đầu tiên, chuyển giao không xác định hoặc thay đổi. Bộ lọc lựa chọn trong số t và p sử dụng phân tích hình ảnh.

B Chụp từ dưới lên trước, chuyển không xác định hoặc thay đổi. Bộ lọc lựa chọn trong số b và p sử dụng phân tích hình ảnh.

A Chụp được xác định bởi cờ trường, chuyển không xác định hoặc thay đổi. Bộ lọc lựa chọn trong số t, b và p sử dụng cờ trường và phân tích hình ảnh. Nếu không có thông tin trường có sẵn, sau đó điều này hoạt động giống như U. Đây là chế độ mặc định.

U Cả hai chụp và chuyển không xác định hoặc khác nhau. Bộ lọc lựa chọn trong số t, b và p chỉ sử dụng phân tích hình ảnh.

Pixdesctest Bộ lọc kiểm tra bộ mô tả định dạng pixel, chủ yếu hữu ích cho kiểm tra nội bộ. Video đầu ra phải bằng với video đầu vào.

Ví dụ:

format = monow, pixdesctest

có thể được sử dụng để kiểm tra định nghĩa bộ mô tả định dạng pixel monowhite.

pp Bật chuỗi bộ lọc con sau xử lý được chỉ định bằng libpostproc. Thư viện này sẽ được tự động chọn với bản dựng GPL ("--enable-gpl"). Bộ lọc con phải là được phân tách bằng '/' và có thể bị vô hiệu hóa bằng cách thêm dấu '-' vào trước. Mỗi bộ lọc con và một số tùy chọn có một tên ngắn và một tên dài có thể được sử dụng thay thế cho nhau, tức là dr / dering là Tương tự.

Các bộ lọc chấp nhận các tùy chọn sau:

bộ lọc con Đặt chuỗi bộ lọc con hậu xử lý.

Tất cả các bộ lọc con chia sẻ các tùy chọn chung để xác định phạm vi của chúng:

a / autoq Tuân theo các lệnh chất lượng cho bộ lọc con này.

c / crom Thực hiện lọc sắc độ (mặc định).

y / nochrom Chỉ thực hiện lọc độ sáng (không lọc sắc độ).

n / noluma Chỉ thực hiện lọc độ chói (không có độ chói).

Các tùy chọn này có thể được thêm vào sau tên bộ lọc con, được phân tách bằng dấu '|'.

Các bộ lọc con có sẵn là:

hb / hdeblock [| chênh lệch [| độ phẳng]] Bộ lọc gỡ lỗi ngang

sự khác biệt Yếu tố khác biệt trong đó giá trị cao hơn có nghĩa là nhiều gỡ lỗi hơn (mặc định: 32).

bằng phẳng Ngưỡng độ phẳng trong đó giá trị thấp hơn có nghĩa là nhiều lỗi hơn (mặc định: 39).

vb / vdeblock [| chênh lệch [| độ phẳng]] Bộ lọc gỡ lỗi dọc

sự khác biệt Yếu tố khác biệt trong đó giá trị cao hơn có nghĩa là nhiều gỡ lỗi hơn (mặc định: 32).

bằng phẳng Ngưỡng độ phẳng trong đó giá trị thấp hơn có nghĩa là nhiều lỗi hơn (mặc định: 39).

ha / hadeblock [| chênh lệch [| độ phẳng]] Bộ lọc gỡ lỗi ngang chính xác

sự khác biệt Yếu tố khác biệt trong đó giá trị cao hơn có nghĩa là nhiều gỡ lỗi hơn (mặc định: 32).

bằng phẳng Ngưỡng độ phẳng trong đó giá trị thấp hơn có nghĩa là nhiều lỗi hơn (mặc định: 39).

va / vadeblock [| chênh lệch [| độ phẳng]] Bộ lọc gỡ lỗi theo chiều dọc chính xác

sự khác biệt Yếu tố khác biệt trong đó giá trị cao hơn có nghĩa là nhiều gỡ lỗi hơn (mặc định: 32).

bằng phẳng Ngưỡng độ phẳng trong đó giá trị thấp hơn có nghĩa là nhiều lỗi hơn (mặc định: 39).

Các bộ lọc gỡ lỗi ngang và dọc chia sẻ các giá trị chênh lệch và độ phẳng để bạn không thể đặt các ngưỡng ngang và dọc khác nhau.

h1 / x1hdeblock Bộ lọc gỡ lỗi ngang thử nghiệm

v1 / x1vdeblock Bộ lọc gỡ lỗi dọc thử nghiệm

dr / dering Bộ lọc deringing

tn / tmpnoise [| ngưỡng1 [| ngưỡng2 [| ngưỡng3]]], tạm thời tiếng ồn giảm tốc ngưỡng 1 lớn hơn -> lọc mạnh hơn

ngưỡng 2 lớn hơn -> lọc mạnh hơn

ngưỡng 3 lớn hơn -> lọc mạnh hơn

al / autolevels [: f / fullrange], tự động độ sáng / Ngược lại sửa chữa f / sắp xếp đầy đủ Kéo dài độ sáng đến "0-255".

lb / linblenddeint Bộ lọc khử xen kẽ hỗn hợp tuyến tính giúp hủy xen kẽ khối đã cho bằng cách lọc tất cả dòng có bộ lọc "(1 2 1)".

li / linipoldeint Bộ lọc khử xen kẽ nội suy tuyến tính giúp hủy xen kẽ khối đã cho bởi nội suy tuyến tính mỗi dòng thứ hai.

ci / Cubipoldeint Bộ lọc khử xen kẽ nội suy khối lập phương hủy xen kẽ khối đã cho theo khối lập phương nội suy mỗi dòng thứ hai.

md / mediandeint Bộ lọc khử xen kẽ trung vị giúp hủy xen kẽ khối đã cho bằng cách áp dụng trung vị lọc đến từng dòng thứ hai.

fd / ffmpegdeint FFmpeg bộ lọc khử xen kẽ khối đã cho bằng cách lọc mọi dòng thứ hai với bộ lọc "(-1 4 2 4 -1)".

l5 / lowpass5 Bộ lọc khử xen kẽ thông thấp FIR được áp dụng theo chiều dọc giúp hủy xen kẽ khối đã cho bằng cách lọc tất cả các dòng bằng bộ lọc "(-1 2 6 2 -1)".

fq / forceQuant [| quantizer] Ghi đè bảng lượng tử từ đầu vào bằng bộ định lượng không đổi mà bạn chỉ định.

bộ định lượng Bộ định lượng để sử dụng

de / default Tổ hợp bộ lọc pp mặc định ("hb | a, vb | a, dr | a")

fa / nhanh Kết hợp bộ lọc pp nhanh ("h1 | a, v1 | a, dr | a")

ac Tổ hợp bộ lọc pp chất lượng cao ("ha | a | 128 | 7, va | a, dr | a")

Các ví dụ

· Áp dụng tính năng gỡ lỗi theo chiều ngang và dọc, độ sáng và độ tương phản tự động:

pp = hb / vb / dr / al

· Áp dụng các bộ lọc mặc định mà không cần hiệu chỉnh độ sáng / độ tương phản:

pp = de / -al

· Áp dụng các bộ lọc mặc định và bộ khử nhiễu tạm thời:

pp = default / tmpnoise | 1 | 2 | 3

· Chỉ áp dụng tính năng gỡ lỗi trên độ sáng và bật hoặc tắt tính năng gỡ lỗi theo chiều dọc tự động tùy thuộc vào thời gian có sẵn của CPU:

pp = hb | y / vb | a

pp7 Áp dụng bộ lọc Hậu xử lý 7. Nó là biến thể của spp bộ lọc, tương tự như spp = 6 với 7 điểm DCT, nơi chỉ mẫu trung tâm được sử dụng sau IDCT.

Bộ lọc chấp nhận các tùy chọn sau:

qp Bắt buộc một tham số lượng tử hóa không đổi. Nó chấp nhận một số nguyên trong phạm vi từ 0 đến 63. Nếu không được đặt, bộ lọc sẽ sử dụng QP từ luồng video (nếu có).

chế độ Đặt chế độ ngưỡng. Các chế độ khả dụng là:

cứng Đặt ngưỡng cứng.

mềm mại Đặt ngưỡng mềm (hiệu ứng khử chuông tốt hơn, nhưng có thể mờ hơn).

trung bình Đặt ngưỡng trung bình (kết quả tốt, mặc định).

psnr Có được PSNR trung bình, tối đa và tối thiểu (Tỷ lệ tín hiệu đỉnh trên tiếng ồn) giữa hai video đầu vào.

Bộ lọc này nhận đầu vào hai video đầu vào, đầu vào đầu tiên được coi là "chính" nguồn và được chuyển không thay đổi đến đầu ra. Đầu vào thứ hai được sử dụng làm "tham chiếu" video để tính toán PSNR.

Cả hai đầu vào video phải có cùng độ phân giải và định dạng pixel để bộ lọc này hoạt động một cách chính xác. Ngoài ra, nó giả định rằng cả hai đầu vào có cùng số lượng khung hình, so sánh từng cái một.

PSNR trung bình thu được được in qua hệ thống ghi nhật ký.

Bộ lọc lưu trữ MSE tích lũy (sai số bình phương trung bình) của mỗi khung hình và ở cuối của quá trình xử lý, nó được tính trung bình trên tất cả các khung như nhau và công thức sau là đã áp dụng để có được PSNR:

PSNR = 10 * log10 (MAX ^ 2 / MSE)

Trong đó MAX là giá trị trung bình của các giá trị lớn nhất của từng thành phần của hình ảnh.

Sau đây là mô tả về các tham số được chấp nhận.

tệp thống kê, f Nếu được chỉ định, bộ lọc sẽ sử dụng tệp được đặt tên để lưu PSNR của từng cá nhân khung.

Tệp được in nếu

tệp thống kê

được chọn, chứa một chuỗi các cặp khóa / giá trị của hình thức

chính

:

giá trị

cho mỗi vài khung hình được so sánh.

Mô tả của từng tham số được hiển thị như sau:

n số thứ tự của khung đầu vào, bắt đầu từ 1

mse_avg Sai số trung bình của lỗi pixel-by-pixel trung bình của các khung hình được so sánh, được tính trung bình trên tất cả các thành phần hình ảnh.

ms_y, bạn_u, mse_v, mse_r, mse_g, mse_g, mse_a Sai số trung bình của lỗi pixel-by-pixel trung bình của các khung hình được so sánh cho thành phần được chỉ định bởi hậu tố.

psnr_y, psnr_u, psnr_v, psnr_r, psnr_g, psnr_b, psnr_a Tỷ lệ tín hiệu trên nhiễu cao nhất của các khung hình được so sánh cho thành phần được chỉ định bởi hậu tố.

Ví dụ:

phim = ref_movie.mpg, setpts = PTS-STARTPTS [main]; [main] [ref] psnr = "stats_file = stats.log" [out]

Trong ví dụ này, tệp đầu vào đang được xử lý được so sánh với tệp tham chiếu

ref_movie.mpg

. PSNR của từng khung riêng lẻ được lưu trữ trong

thống kê.log

.

kéo lên Bộ lọc đảo ngược kéo xuống (telecine nghịch đảo), có khả năng xử lý telecine cứng hỗn hợp, Nội dung tiến bộ 24000/1001 khung hình / giây và 30000/1001 khung hình / giây.

Bộ lọc kéo lên được thiết kế để tận dụng bối cảnh trong tương lai trong việc đưa ra quyết định. Bộ lọc này không trạng thái theo nghĩa là nó không khóa vào một mẫu để tuân theo, nhưng thay vào đó, nó trông đợi các trường sau để xác định các kết quả phù hợp và xây dựng lại khung lũy ​​tiến.

Để tạo nội dung với tốc độ khung hình đồng đều, hãy chèn bộ lọc fps sau khi kéo lên, sử dụng "fps = 24000/1001" nếu tốc độ khung hình đầu vào là 29.97 khung hình / giây, "fps = 24" cho 30 khung hình / giây và (hiếm) đầu vào truyền hình 25 khung hình / giây.

Bộ lọc chấp nhận các tùy chọn sau:

jl jr jt jb Các tùy chọn này đặt số lượng "rác" cần bỏ qua ở bên trái, bên phải, trên cùng và dưới cùng của hình ảnh, tương ứng. Trái và phải theo đơn vị 8 pixel, trong khi trên cùng và dưới cùng là đơn vị của 2 dòng. Mặc định là 8 pixel mỗi bên.

sb Đặt thời gian nghỉ nghiêm ngặt. Đặt tùy chọn này thành 1 sẽ làm giảm cơ hội lọc đôi khi tạo ra một khung không khớp, nhưng nó cũng có thể gây ra quá nhiều khung hình bị rơi trong chuỗi chuyển động cao. Ngược lại, đặt nó thành -1 sẽ làm cho các trường đối sánh bộ lọc dễ dàng hơn. Điều này có thể giúp xử lý video ở đâu có hơi mờ giữa các trường, nhưng cũng có thể gây ra các trường xen kẽ khung trong đầu ra. Giá trị mặc định là 0.

mp Đặt mặt phẳng số liệu để sử dụng. Nó chấp nhận các giá trị sau:

l Sử dụng máy bay luma.

u Sử dụng mặt phẳng màu xanh lam.

v Sử dụng mặt phẳng màu đỏ chroma.

Tùy chọn này có thể được đặt để sử dụng mặt phẳng màu thay vì mặt phẳng luma mặc định để thực hiện tính toán của bộ lọc. Điều này có thể cải thiện độ chính xác trên tài liệu nguồn rất sạch, nhưng nhiều khả năng sẽ làm giảm độ chính xác, đặc biệt nếu có nhiễu sắc độ (cầu vồng hiệu ứng) hoặc bất kỳ video thang độ xám nào. Mục đích chính của việc thiết lập mp đến một mặt phẳng sắc độ là để giảm tải cho CPU và làm cho việc kéo lên có thể sử dụng được trong thời gian thực trên các máy chạy chậm.

Để có kết quả tốt nhất (không có khung trùng lặp trong tệp đầu ra), cần phải thay đổi tỷ lệ khung hình đầu ra. Ví dụ, để đảo ngược đầu vào NTSC telecine:

đầu vào ffmpeg -i -vf pullup -r 24000/1001 ...

qp Thay đổi thông số lượng tử hóa video (QP).

Bộ lọc chấp nhận tùy chọn sau:

qp Đặt biểu thức cho tham số lượng tử hóa.

Biểu thức được đánh giá thông qua API eval và có thể chứa, trong số các biểu thức khác, các hằng số sau:

nổi tiếng

1 nếu chỉ mục không phải là 129, 0 nếu ngược lại.

qp

Chỉ số liên tục bắt đầu từ -129 đến 128.

Các ví dụ

· Một số phương trình như:

qp = 2 + 2 * sin (PI * qp)

ngẫu nhiên Chuyển các khung video từ bộ nhớ đệm bên trong của các khung thành một thứ tự ngẫu nhiên. Không có khung là bỏ đi. Lấy cảm hứng từ miễn phí bộ lọc thần kinh.

khung Đặt kích thước theo số khung của bộ nhớ đệm bên trong, trong phạm vi từ 2 đến 512. Mặc định là 30.

hạt giống Đặt hạt giống cho trình tạo số ngẫu nhiên, phải là một số nguyên bao gồm từ 0 đến "UINT32_MAX". Nếu không được chỉ định hoặc nếu được đặt rõ ràng thành nhỏ hơn 0, bộ lọc sẽ cố gắng sử dụng một hạt giống ngẫu nhiên tốt trên cơ sở nỗ lực cao nhất.

bỏ hạt Bộ lọc loại bỏ hạt là một bộ khử không gian cho video liên tục.

m0 Đặt chế độ cho mặt phẳng đầu tiên.

m1 Đặt chế độ cho mặt phẳng thứ hai.

m2 Đặt chế độ cho mặt phẳng thứ ba.

m3 Đặt chế độ cho mặt phẳng thứ tư.

Phạm vi của chế độ là từ 0 đến 24. Mô tả của từng chế độ như sau:

0

Giữ nguyên mặt phẳng đầu vào. Vỡ nợ.

1

Cắt pixel với tối thiểu và tối đa là 8 pixel lân cận.

2

Cắt pixel với tối thiểu thứ hai và tối đa là 8 pixel lân cận.

3

Cắt pixel với tối thiểu thứ ba và tối đa là 8 pixel lân cận.

4

Cắt pixel với tối thiểu thứ tư và tối đa là 8 pixel lân cận. Điều này tương đương với một bộ lọc trung vị.

5

Cắt phân biệt dòng tạo ra sự thay đổi tối thiểu.

6

Cắt phân biệt dòng, trung gian.

7

Cắt phân biệt dòng, trung gian.

8

Cắt phân biệt dòng, trung gian.

9

Cắt phân biệt dòng trên một dòng mà pixel lân cận là gần nhất.

10

Thay thế pixel mục tiêu bằng pixel lân cận gần nhất.

11

[1 2 1] làm mờ nhân ngang và dọc.

12

Giống như chế độ 11.

13

Chế độ Bob, nội suy trường trên cùng từ dòng nơi các pixel lân cận là gần nhất.

14

Chế độ Bob, nội suy trường dưới cùng từ dòng nơi các pixel lân cận là gần nhất.

15

Chế độ Bob, nội suy trường trên cùng. Tương tự như 13 nhưng với một phép nội suy phức tạp hơn công thức.

16

Chế độ Bob, nội suy trường dưới cùng. Tương tự như 14 nhưng phức tạp hơn công thức nội suy.

17

Cắt pixel với tối thiểu và tối đa tương ứng là tối đa và tối thiểu của mỗi cặp pixel lân cận đối diện.

18

Cắt phân biệt dòng bằng cách sử dụng các hàng xóm đối diện có khoảng cách lớn nhất từ pixel hiện tại là tối thiểu.

19

Thay thế pixel bằng giá trị trung bình của 8 điểm ảnh lân cận.

20

Trung bình là 9 pixel ([1 1 1] mờ ngang và dọc).

21

Cắt pixel bằng cách sử dụng giá trị trung bình của hàng xóm đối diện.

22

Tương tự như chế độ 21 nhưng đơn giản và nhanh hơn.

23

Loại bỏ các cạnh và quầng nhỏ, nhưng có tiếng là vô dụng.

24

Tương tự như 23.

Remvelogo Loại bỏ biểu trưng của đài truyền hình, sử dụng tệp hình ảnh để xác định pixel nào bao gồm Logo. Nó hoạt động bằng cách điền vào các pixel bao gồm logo với các pixel lân cận.

Bộ lọc chấp nhận các tùy chọn sau:

tên tệp, f Đặt tệp bitmap của bộ lọc, có thể là bất kỳ định dạng hình ảnh nào được libavformat hỗ trợ. Chiều rộng và chiều cao của tệp hình ảnh phải khớp với chiều rộng và chiều cao của luồng video xử lý.

Các điểm ảnh trong hình ảnh bitmap được cung cấp có giá trị bằng XNUMX không được coi là một phần của biểu trưng, ​​các pixel khác không được coi là một phần của biểu trưng. Nếu bạn sử dụng màu trắng (255) cho logo và màu đen (0) cho phần còn lại, bạn sẽ được an toàn. Để tạo bitmap bộ lọc, nó là nên chụp ảnh màn hình khung màu đen có logo hiển thị, sau đó sử dụng bộ lọc ngưỡng, sau đó là bộ lọc xói mòn một hoặc hai lần.

Nếu cần, có thể sửa các vệt nhỏ bằng tay. Hãy nhớ rằng nếu các pixel biểu trưng thì không bị che lấp, chất lượng lọc sẽ giảm đi nhiều. Đánh dấu quá nhiều pixel là một phần của logo không ảnh hưởng nhiều, nhưng nó sẽ làm tăng lượng mờ cần thiết để che trên hình ảnh và sẽ phá hủy nhiều thông tin hơn mức cần thiết và các pixel bổ sung sẽ làm chậm mọi thứ trên một logo lớn.

trường lặp lại Bộ lọc này sử dụng cờ repeat_field từ các tiêu đề Video ES và các trường lặp lại cứng dựa trên giá trị của nó.

đảo ngược, nghịch đảo Đảo ngược một đoạn phim.

Cảnh báo: Bộ lọc này yêu cầu bộ nhớ để đệm toàn bộ clip, vì vậy bạn nên cắt bớt.

Các ví dụ

· Lấy 5 giây đầu tiên của clip và đảo ngược nó.

trim = end = 5, ngược lại

quay Xoay video theo một góc tùy ý được biểu thị bằng radian.

Bộ lọc chấp nhận các tùy chọn sau:

Sau đây là mô tả về các tham số tùy chọn.

góc, a Đặt biểu thức cho góc xoay video đầu vào theo chiều kim đồng hồ, được biểu thị bằng một số radian. Giá trị âm sẽ dẫn đến kết quả ngược chiều kim đồng hồ Vòng xoay. Theo mặc định, nó được đặt thành "0".

Biểu thức này được đánh giá cho mỗi khung.

ra_w, ow Đặt biểu thức chiều rộng đầu ra, giá trị mặc định là "iw". Biểu thức này được đánh giá chỉ một lần trong khi cấu hình.

ra_h, oh Đặt biểu thức chiều cao đầu ra, giá trị mặc định là "ih". Biểu thức này được đánh giá chỉ một lần trong khi cấu hình.

song tuyến tính Bật nội suy song tuyến nếu được đặt thành 1, giá trị 0 sẽ vô hiệu hóa nó. Giá trị mặc định là 1.

tô màu, c Đặt màu được sử dụng để lấp đầy vùng đầu ra không bị ảnh xoay. Cho cú pháp chung của tùy chọn này, hãy kiểm tra phần "Màu sắc" trong hướng dẫn sử dụng ffmpeg-utils. Nếu giá trị đặc biệt "không" được chọn thì không có nền nào được in (hữu ích cho ví dụ nếu nền không bao giờ được hiển thị).

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

Các biểu thức cho góc và kích thước đầu ra có thể chứa các hằng số sau và chức năng:

n số thứ tự của khung đầu vào, bắt đầu từ 0. Nó luôn là NAN trước khung đầu tiên được lọc.

t thời gian tính bằng giây của khung đầu vào, nó được đặt thành 0 khi bộ lọc được định cấu hình. Nó luôn là NAN trước khi khung đầu tiên được lọc.

hsub vsub các giá trị mẫu con sắc độ ngang và dọc. Ví dụ đối với định dạng pixel "yuv422p"

hsub

là 2 và

vsub

là 1.

trong W, iw trong_h, ih chiều rộng và chiều cao của video đầu vào

ra_w, ow ra_h, oh chiều rộng và chiều cao đầu ra, đó là kích thước của vùng đệm như được chỉ định bởi

chiều rộng

cao

biểu thức

thối rữa (a) roth (a) chiều rộng / chiều cao tối thiểu cần thiết để chứa hoàn toàn video đầu vào được xoay bởi

a

rađian.

Chúng chỉ khả dụng khi tính toán ra_w và ra_h biểu thức.

Các ví dụ

· Xoay đầu vào theo PI / 6 radian theo chiều kim đồng hồ:

xoay = PI / 6

· Xoay đầu vào theo PI / 6 radian ngược chiều kim đồng hồ:

xoay = -PI / 6

· Xoay đầu vào 45 độ theo chiều kim đồng hồ:

xoay = 45 * PI / 180

· Áp dụng một phép quay không đổi với chu kỳ T, bắt đầu từ một góc PI / 3:

xoay = PI / 3 + 2 * PI * t / T

· Làm cho quay video đầu vào dao động với chu kỳ T giây và biên độ của A radian:

xoay = A * sin (2 * PI / T * t)

· Xoay video, kích thước đầu ra được chọn để toàn bộ video đầu vào xoay được luôn được chứa hoàn toàn trong đầu ra:

xoay = '2 * PI * t: ow = pseud (iw, ih): oh = ow'

· Xoay video, giảm kích thước đầu ra để không có nền nào được hiển thị:

xoay = 2 * PI * t: ow = 'min (iw, ih) /câu hỏi(2) ': oh = ow: c = none

Lệnh

Bộ lọc hỗ trợ các lệnh sau:

a, góc Đặt biểu thức góc. Lệnh chấp nhận cùng một cú pháp của lệnh tương ứng tùy chọn.

Nếu biểu thức được chỉ định không hợp lệ, nó được giữ ở giá trị hiện tại.

sab Áp dụng Shape Adaptive Blur.

Bộ lọc chấp nhận các tùy chọn sau:

bán kính luma_radius, lr Đặt cường độ bộ lọc làm mờ luma, phải là một giá trị trong phạm vi 0.1-4.0, giá trị mặc định là 1.0. Giá trị lớn hơn sẽ dẫn đến hình ảnh mờ hơn và xử lý chậm hơn.

độ sáng_pre_filter_radius, lpfr Đặt bán kính bộ lọc trước luma, phải là một giá trị trong phạm vi 0.1-2.0, giá trị mặc định là 1.0.

luma_sức mạnh, ls Đặt chênh lệch tối đa luma giữa các pixel vẫn được xem xét, phải là một giá trị trong phạm vi 0.1-100.0, giá trị mặc định là 1.0.

bán kính sắc độ, cr Đặt cường độ bộ lọc làm mờ sắc độ, phải là một giá trị trong phạm vi 0.1-4.0. Một giá trị lớn hơn sẽ dẫn đến hình ảnh bị mờ hơn và xử lý chậm hơn.

sắc độ_pre_filter_radius, cpfr Đặt bán kính bộ lọc trước sắc độ, phải là một giá trị trong phạm vi 0.1-2.0.

sắc độ_cường độ, cs Đặt chênh lệch tối đa về sắc độ giữa các pixel vẫn được xem xét, phải là một giá trị trong khoảng 0.1-100.0.

Mỗi giá trị tùy chọn sắc độ, nếu không được chỉ định rõ ràng, được đặt thành luma tương ứng giá trị tùy chọn.

tỉ lệ Chia tỷ lệ (thay đổi kích thước) video đầu vào, sử dụng thư viện libswscale.

Bộ lọc tỷ lệ buộc tỷ lệ khung hình hiển thị đầu ra giống với đầu vào, bằng cách thay đổi tỷ lệ co của mẫu đầu ra.

Nếu định dạng hình ảnh đầu vào khác với định dạng được yêu cầu bởi bộ lọc tiếp theo, bộ lọc tỷ lệ sẽ chuyển đổi đầu vào sang định dạng được yêu cầu.

Các lựa chọn

Bộ lọc chấp nhận các tùy chọn sau hoặc bất kỳ tùy chọn nào được hỗ trợ bởi thang đo libswscale.

Xem các quy mô ffmpeg nhãn hiệu để có danh sách đầy đủ các tùy chọn tỷ lệ.

chiều rộng, w Chiều cao, h Đặt biểu thức kích thước video đầu ra. Giá trị mặc định là thứ nguyên đầu vào.

Nếu giá trị là 0, chiều rộng đầu vào được sử dụng cho đầu ra.

Nếu một trong các giá trị là -1, bộ lọc tỷ lệ sẽ sử dụng giá trị duy trì tỷ lệ khung hình của hình ảnh đầu vào, được tính từ kích thước được chỉ định khác. Nếu như cả hai đều là -1, kích thước đầu vào được sử dụng

Nếu một trong các giá trị là -n với n> 1, bộ lọc tỷ lệ cũng sẽ sử dụng giá trị duy trì tỷ lệ khung hình của hình ảnh đầu vào, được tính toán từ tỷ lệ được chỉ định khác kích thước. Tuy nhiên, sau đó nó sẽ đảm bảo rằng thứ nguyên được tính toán là chia hết cho n và điều chỉnh giá trị nếu cần.

Xem bên dưới để biết danh sách các hằng số được chấp nhận để sử dụng trong biểu thức thứ nguyên.

xen vào Đặt chế độ xen kẽ. Nó chấp nhận các giá trị sau:

1 Buộc mở rộng quy mô nhận biết xen kẽ.

0 Không áp dụng tỷ lệ xen kẽ.

-1 Chọn tỷ lệ nhận biết xen kẽ tùy thuộc vào việc các khung nguồn có được gắn cờ hay không như xen kẽ hay không.

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

cờ Đặt cờ tỷ lệ libswscale. Nhìn thấy các quy mô ffmpeg nhãn hiệu để có danh sách đầy đủ các giá trị. Nếu không được chỉ định rõ ràng, bộ lọc sẽ áp dụng các cờ mặc định.

kích thước, s Đặt kích thước video. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu.

in_color_matrix out_color_matrix Đặt kiểu không gian màu YCbCr vào / ra.

Điều này cho phép ghi đè giá trị được phát hiện tự động cũng như cho phép buộc giá trị cụ thể được sử dụng cho đầu ra và bộ mã hóa.

Nếu không được chỉ định, loại không gian màu phụ thuộc vào định dạng pixel.

Những giá trị khả thi:

tự động Chọn tự động.

bt709 Định dạng phù hợp với Khuyến nghị của Liên minh Viễn thông Quốc tế (ITU) BT.709.

Fcc Đặt không gian màu tuân theo Ủy ban Truyền thông Liên bang Hoa Kỳ (FCC) Bộ luật Quy định Liên bang (CFR) Tiêu đề 47 (2003) 73.682 (a).

bt601 Đặt không gian màu tuân theo:

· Khuyến nghị về lĩnh vực thông tin vô tuyến của ITU (ITU-R) BT.601

· ITU-R Rec. BT.470-6 (1998) Hệ B, B1 và ​​G

· Hiệp hội Kỹ sư Điện ảnh và Truyền hình (SMPTE) ST 170: 2004

smpte240m Đặt không gian màu phù hợp với SMPTE ST 240: 1999.

trong phạm vi ngoài_phạm vi Đặt phạm vi mẫu YCbCr đầu vào / đầu ra.

Điều này cho phép ghi đè giá trị được phát hiện tự động cũng như cho phép buộc giá trị cụ thể được sử dụng cho đầu ra và bộ mã hóa. Nếu không được chỉ định, phạm vi phụ thuộc vào định dạng pixel. Những giá trị khả thi:

tự động Chọn tự động.

jpeg / đầy đủ / máy tính Đặt toàn dải (0-255 trong trường hợp luma 8-bit).

mpeg / tv Đặt phạm vi "MPEG" (16-235 trong trường hợp luma 8 bit).

force_ original_aspect_ratio Bật giảm hoặc tăng chiều rộng hoặc chiều cao video đầu ra nếu cần thiết để giữ tỷ lệ khung hình gốc. Những giá trị khả thi:

vô hiệu hóa Chia tỷ lệ video như được chỉ định và tắt tính năng này.

giảm Kích thước video đầu ra sẽ tự động giảm nếu cần.

tăng Kích thước video đầu ra sẽ tự động được tăng lên nếu cần.

Một ví dụ hữu ích của tùy chọn này là khi bạn biết mức tối đa của một thiết bị cụ thể độ phân giải cho phép, bạn có thể sử dụng điều này để giới hạn video đầu ra ở mức đó, trong khi vẫn giữ nguyên tỷ lệ khung hình. Ví dụ: thiết bị A cho phép phát lại 1280x720 và video có kích thước 1920x800. Sử dụng tùy chọn này (đặt nó thành giảm) và chỉ định 1280x720 thành dòng lệnh tạo ra đầu ra 1280x533.

Xin lưu ý rằng đây là một điều khác với việc chỉ định -1 cho w or h, bạn vẫn cần chỉ định độ phân giải đầu ra để tùy chọn này hoạt động.

Các giá trị của w và h các tùy chọn là các biểu thức có chứa các hằng số sau:

trong W trong_h

Chiều rộng và chiều cao đầu vào

iw ih

Chúng giống như

trong W

trong_h

.

ra_w ra_h

Chiều rộng và chiều cao đầu ra (được chia tỷ lệ)

ow oh

Chúng giống như

ra_w

ra_ha

Giống như

iw

/

ihsar

tỷ lệ khung hình mẫu đầu vào

dar

Tỷ lệ khung hình hiển thị đầu vào. Tính từ "(iw / ih) * sar".

hsub vsub

các giá trị mẫu con sắc độ đầu vào ngang và dọc. Ví dụ cho pixel định dạng "yuv422p"

hsub

là 2 và

vsub

là 1.

ồ phụ trứng phụ

các giá trị mẫu con màu đầu ra theo chiều ngang và chiều dọc. Ví dụ cho pixel định dạng "yuv422p"

hsub

là 2 và

vsub

là 1.

Các ví dụ

· Chia tỷ lệ video đầu vào thành kích thước 200x100

thang đo = w = 200: h = 100

Điều này tương đương với:

tỷ lệ = 200: 100

hoặc:

tỷ lệ = 200x100

· Chỉ định một chữ viết tắt kích thước cho kích thước đầu ra:

scale = qcif

cũng có thể được viết là:

scale = size = qcif

· Quy mô đầu vào thành 2x:

scale = w = 2 * iw: h = 2 * ih

· Ở trên giống như:

scale = 2 * in_w: 2 * in_h

· Quy mô đầu vào thành 2x với tỷ lệ xen kẽ bắt buộc:

scale = 2 * iw: 2 * ih: interl = 1

· Quy mô đầu vào thành một nửa kích thước:

scale = w = iw / 2: h = ih / 2

· Tăng chiều rộng và đặt chiều cao bằng cùng một kích thước:

scale = 3/2 * iw: ow

· Tìm kiếm sự hòa hợp tiếng Hy Lạp:

scale = iw: 1 / PHI * iw scale = ih * PHI: ih

· Tăng chiều cao và đặt chiều rộng thành 3/2 chiều cao:

quy mô = w = 3/2 * ồ: h = 3/5 * ih

· Tăng kích thước, làm cho kích thước trở thành bội số của các giá trị mẫu con sắc độ:

scale = "trunc (3/2 * iw / hsub) * hsub: trunc (3/2 * ih / vsub) * vsub"

· Tăng chiều rộng lên tối đa 500 pixel, giữ nguyên tỷ lệ khung hình như đầu vào:

scale = w = 'min (500 \, iw * 3/2): h = -1'

Lệnh

Bộ lọc này hỗ trợ các lệnh sau:

chiều rộng, w Chiều cao, h Đặt biểu thức kích thước video đầu ra. Lệnh chấp nhận cùng một cú pháp của tùy chọn tương ứng.

Nếu biểu thức được chỉ định không hợp lệ, nó được giữ ở giá trị hiện tại.

quy mô2ref Chia tỷ lệ (thay đổi kích thước) video đầu vào, dựa trên video tham chiếu.

Xem bộ lọc tỷ lệ để biết các tùy chọn có sẵn, scale2ref hỗ trợ tương tự nhưng sử dụng video tham chiếu thay vì đầu vào chính làm cơ sở.

Các ví dụ

· Chia tỷ lệ luồng phụ đề để khớp với kích thước video chính trước khi phủ

'scale2ref [b] [a]; [a] [b] overlay'

các trường riêng biệt "Các trường riêng biệt" nhận đầu vào video dựa trên khung hình và chia từng khung hình thành các trường thành phần, tạo ra một clip nửa chiều cao mới với tốc độ khung hình gấp đôi và gấp đôi số lượng khung hình.

Bộ lọc này sử dụng thông tin thống trị trường trong khung để quyết định cặp nào trong số mỗi cặp các trường để đặt đầu tiên trong đầu ra. Nếu nó sử dụng sai sân trường lọc trước bộ lọc "riêng biệt".

thiết lập, setar Bộ lọc "setdar" đặt Tỷ lệ khung hình hiển thị cho video đầu ra của bộ lọc.

Điều này được thực hiện bằng cách thay đổi Tỷ lệ khung hình mẫu (còn gọi là Pixel) được chỉ định, theo phương trình sau:

\= / *

Hãy nhớ rằng bộ lọc "setdar" không sửa đổi kích thước pixel của video khung. Ngoài ra, tỷ lệ khung hình hiển thị do bộ lọc này đặt có thể được thay đổi bởi các bộ lọc sau trong chuỗi bộ lọc, ví dụ như trong trường hợp mở rộng quy mô hoặc nếu một bộ lọc "setdar" hoặc "setar" khác là đã áp dụng.

Bộ lọc "setar" đặt Tỷ lệ khung hình mẫu (còn gọi là Pixel) cho video đầu ra của bộ lọc.

Lưu ý rằng do ứng dụng của bộ lọc này, khía cạnh hiển thị đầu ra tỷ lệ sẽ thay đổi theo phương trình trên.

Hãy nhớ rằng tỷ lệ co mẫu do bộ lọc "setar" đặt có thể được thay đổi bởi các bộ lọc sau trong chuỗi bộ lọc, ví dụ: nếu một bộ lọc "setar" hoặc "setdar" khác là đã áp dụng.

Nó chấp nhận các tham số sau:

r, tỉ lệ, dar ("setdar" chỉ một), sar (

"setar"

chỉ) Đặt tỷ lệ khung hình được bộ lọc sử dụng.

Tham số có thể là một chuỗi số dấu phẩy động, một biểu thức hoặc một chuỗi hình thức

num

:

ngày

, Nơi

num

ngày

là tử số và mẫu số của tỷ lệ khung hình. Nếu tham số không được chỉ định, nó được giả định là giá trị "0". Trong trường hợp biểu mẫu "

num

:

ngày

"được sử dụng, ký tự": "phải được thoát.

tối đa Đặt giá trị số nguyên lớn nhất được sử dụng để biểu thị tử số và mẫu số khi giảm tỷ lệ khung hình được biểu thị xuống hợp lý. Giá trị mặc định là 100.

Thông số

sar

là một biểu thức chứa các hằng số sau:

E, SỐ PI, PHI Đây là các giá trị gần đúng cho các hằng số toán học e (số Euler), pi (Số pi trong tiếng Hy Lạp) và phi (tỷ lệ vàng).

w, h Chiều rộng và chiều cao đầu vào.

a Chúng giống như

w

/

h

.

sar Tỷ lệ co của mẫu đầu vào.

dar Tỷ lệ khung hình hiển thị đầu vào. Nó giống như (

w

/

h

) *

sar

.

hsub, vsub Các giá trị mẫu con sắc độ ngang và dọc. Ví dụ: đối với định dạng pixel "yuv422p"

hsub

là 2 và

vsub

là 1.

Các ví dụ

· Để thay đổi tỷ lệ khung hình hiển thị thành 16: 9, hãy chỉ định một trong những điều sau:

setdar = dar = 1.77777 setdar = dar = 16/9 setdar = dar = 1.77777

· Để thay đổi tỷ lệ khung hình mẫu thành 10:11, hãy chỉ định:

setar = sar = 10/11

· Để đặt tỷ lệ khung hình hiển thị là 16: 9 và chỉ định giá trị số nguyên tối đa là 1000 in giảm tỷ lệ khung hình, sử dụng lệnh:

setdar = ratio = 16/9: max = 1000

sân trường Trường lực cho khung video đầu ra.

Bộ lọc "setfield" đánh dấu trường loại xen kẽ cho các khung đầu ra. Nó không thay đổi khung đầu vào, nhưng chỉ đặt thuộc tính tương ứng, điều này ảnh hưởng đến cách khung được xử lý bằng các bộ lọc sau (ví dụ: "fieldorder" hoặc "yadif").

Bộ lọc chấp nhận các tùy chọn sau:

chế độ Các giá trị có sẵn là:

tự động Giữ cùng một thuộc tính trường.

bff Đánh dấu khung là trường dưới cùng-đầu tiên.

tff Đánh dấu khung là trường trên cùng-đầu tiên.

ăn xin Đánh dấu khung là tiến bộ.

ShowInfo Hiển thị một dòng chứa nhiều thông tin khác nhau cho mỗi khung video đầu vào. Video đầu vào là không sửa đổi.

Dòng hiển thị chứa một chuỗi các cặp khóa / giá trị của biểu mẫu

chính

:

giá trị

.

Các giá trị sau được hiển thị trong đầu ra:

n Số (tuần tự) của khung đầu vào, bắt đầu từ 0.

Điểm Bộ thời gian trình bày của khung đầu vào, được biểu thị bằng một số cơ sở thời gian các đơn vị. Đơn vị cơ sở thời gian phụ thuộc vào đệm đầu vào của bộ lọc.

pts_time Bộ thời gian trình bày của khung đầu vào, được biểu thị bằng số giây.

gửi Vị trí của khung trong luồng đầu vào hoặc -1 nếu thông tin này là không khả dụng và / hoặc vô nghĩa (ví dụ: trong trường hợp video tổng hợp).

fmt Tên định dạng pixel.

sar Tỷ lệ co mẫu của khung đầu vào, được biểu thị trong biểu mẫu

num

/

ngày

.

s Kích thước của khung đầu vào. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu.

i Loại chế độ xen kẽ ("P" cho "lũy tiến", "T" cho trường trên cùng trước, "B" cho trường dưới cùng đầu tiên).

là chìa khóa Đây là 1 nếu khung là khung chính, 0 nếu ngược lại.

kiểu Loại hình ảnh của khung đầu vào ("I" cho khung I, "P" cho khung P, "B" cho Khung B hoặc "?" cho một loại không xác định). Cũng tham khảo tài liệu của Enum "AVPictureType" và của hàm "av_get_picture_type_char" được xác định trong

libavutil / avutil.h

.

checksum Tổng kiểm tra Adler-32 (được in dưới dạng thập lục phân) của tất cả các mặt phẳng của khung đầu vào.

mặt phẳng_checksum Tổng kiểm tra Adler-32 (được in dưới dạng thập lục phân) của mỗi mặt phẳng của khung đầu vào, được thể hiện dưới dạng "[

c0 c1 c2 c3

] ".

bảng trưng bày Hiển thị bảng 256 màu của mỗi khung. Bộ lọc này chỉ phù hợp với

bạn8

điểm ảnh định dạng khung.

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

s Đặt kích thước của hộp được sử dụng để thể hiện một mục nhập màu của bảng màu. Mặc định là 30 (cho hộp pixel "30x30").

máy bay xáo trộn Sắp xếp lại và / hoặc sao chép các mặt phẳng video.

Nó chấp nhận các tham số sau:

map0 Chỉ số của mặt phẳng đầu vào sẽ được sử dụng làm mặt phẳng đầu ra đầu tiên.

map1 Chỉ số của mặt phẳng đầu vào sẽ được sử dụng làm mặt phẳng đầu ra thứ hai.

map2 Chỉ số của mặt phẳng đầu vào được sử dụng làm mặt phẳng đầu ra thứ ba.

map3 Chỉ số của mặt phẳng đầu vào được sử dụng làm mặt phẳng đầu ra thứ tư.

Mặt phẳng đầu tiên có chỉ số 0. Mặc định là giữ nguyên giá trị đầu vào.

Hoán đổi mặt phẳng thứ hai và thứ ba của đầu vào:

ffmpeg -i INPUT -vf shuffleplanes = 0: 2: 1: 3 OUTPUT

trạng thái tín hiệu Đánh giá các số liệu trực quan khác nhau giúp xác định các vấn đề liên quan đến số hóa phương tiện video analog.

Theo mặc định, bộ lọc sẽ ghi lại các giá trị siêu dữ liệu này:

YMIN Hiển thị giá trị Y tối thiểu có trong khung đầu vào. Thể hiện trong phạm vi [0-255].

VÀNG Hiển thị giá trị Y ở phân vị 10% trong khung đầu vào. Thể hiện trong phạm vi trong tổng số [0-255].

YAVG Hiển thị giá trị Y trung bình trong khung đầu vào. Được thể hiện trong phạm vi [0-255].

YÊU Hiển thị giá trị Y ở phân vị 90% trong khung đầu vào. Thể hiện trong phạm vi trong tổng số [0-255].

YMAX Hiển thị giá trị Y lớn nhất có trong khung đầu vào. Thể hiện trong phạm vi [0-255].

UMIN Hiển thị giá trị U tối thiểu có trong khung đầu vào. Thể hiện trong phạm vi [0-255].

THẤP Hiển thị giá trị U ở phân vị 10% trong khung đầu vào. Thể hiện trong phạm vi trong tổng số [0-255].

máy bay không người lái Hiển thị giá trị U trung bình trong khung đầu vào. Được thể hiện trong phạm vi [0-255].

TUYỆT VỜI Hiển thị giá trị U ở phân vị 90% trong khung đầu vào. Thể hiện trong phạm vi trong tổng số [0-255].

UMAX Hiển thị giá trị U lớn nhất có trong khung đầu vào. Thể hiện trong phạm vi [0-255].

VMIN Hiển thị giá trị V tối thiểu có trong khung đầu vào. Thể hiện trong phạm vi [0-255].

VLOW Hiển thị giá trị V ở phân vị 10% trong khung đầu vào. Thể hiện trong phạm vi trong tổng số [0-255].

VAVG Hiển thị giá trị V trung bình trong khung đầu vào. Được thể hiện trong phạm vi [0-255].

VHGH Hiển thị giá trị V ở phân vị 90% trong khung đầu vào. Thể hiện trong phạm vi trong tổng số [0-255].

VMAX Hiển thị giá trị V lớn nhất có trong khung đầu vào. Thể hiện trong phạm vi [0-255].

SATMIN Hiển thị giá trị bão hòa tối thiểu có trong khung đầu vào. Thể hiện trong phạm vi [0- ~ 181.02].

SATLOW Hiển thị giá trị bão hòa ở phân vị 10% trong khung đầu vào. Bày tỏ trong khoảng [0- ~ 181.02].

SATAVG Hiển thị giá trị bão hòa trung bình trong khung đầu vào. Thể hiện trong phạm vi [0- ~ 181.02].

THƯỢNG Hiển thị giá trị bão hòa ở phân vị 90% trong khung đầu vào. Bày tỏ trong khoảng [0- ~ 181.02].

SATMAX Hiển thị giá trị bão hòa tối đa có trong khung đầu vào. Thể hiện trong phạm vi [0- ~ 181.02].

HUEMED Hiển thị giá trị trung bình cho màu sắc trong khung đầu vào. Thể hiện trong phạm vi [0-360].

HUEAVG Hiển thị giá trị trung bình cho màu sắc trong khung đầu vào. Thể hiện trong phạm vi [0-360].

YDIF Hiển thị giá trị trung bình của sự khác biệt giá trị mẫu giữa tất cả các giá trị của mặt phẳng Y trong khung hiện tại và các giá trị tương ứng của khung đầu vào trước đó. Thể hiện trong phạm vi [0-255].

UDIF Hiển thị giá trị trung bình của sự khác biệt giá trị mẫu giữa tất cả các giá trị của mặt phẳng U trong khung hiện tại và các giá trị tương ứng của khung đầu vào trước đó. Thể hiện trong phạm vi [0-255].

VDIF Hiển thị giá trị trung bình của sự khác biệt giá trị mẫu giữa tất cả các giá trị của mặt phẳng V trong khung hiện tại và các giá trị tương ứng của khung đầu vào trước đó. Thể hiện trong phạm vi [0-255].

Bộ lọc chấp nhận các tùy chọn sau:

stat ra stat chỉ định một hình thức phân tích hình ảnh bổ sung. ra đầu ra video với loại pixel được chỉ định được đánh dấu.

Cả hai tùy chọn đều chấp nhận các giá trị sau:

tất cả Xác định

tạm thời ngoại lệ

điểm ảnh. MỘT

tạm thời ngoại lệ

là một pixel không giống như các pixel lân cận của cùng một trường. Ví dụ về các ngoại lệ theo thời gian bao gồm kết quả của việc bỏ qua video, tắc nghẽn đầu hoặc các vấn đề theo dõi băng.

vrep Xác định

thẳng đứng hàng lặp đi lặp lại

. Lặp lại dòng dọc bao gồm các hàng tương tự pixel trong một khung. Trong video kỹ thuật số bẩm sinh, sự lặp lại dòng dọc là phổ biến, nhưng kiểu này không phổ biến trong video số hóa từ nguồn analog. Khi nó xuất hiện trong video là kết quả của việc số hóa một nguồn analog, nó có thể chỉ ra sự che giấu đối với người bỏ học bù đắp.

mang Xác định các pixel nằm ngoài phạm vi phát sóng hợp pháp.

màu sắc, c Đặt màu đánh dấu cho ra lựa chọn. Màu mặc định là màu vàng.

Các ví dụ

· Dữ liệu đầu ra của các số liệu video khác nhau:

ffprobe -f lavfi movie = example.mov, signalstats = "stat = tout + vrep + brng" -show_frames

· Xuất dữ liệu cụ thể về các giá trị tối thiểu và tối đa của mặt phẳng Y trên mỗi khung hình:

ffprobe -f lavfi movie = example.mov, signalstats -show_entries frame_tags = lavfi.signalstats.YMAX, lavfi.signalstats.YMIN

· Phát lại video trong khi tô sáng các pixel nằm ngoài phạm vi phát sóng bằng màu đỏ.

ffplay example.mov -vf signalstats = "out = brng: color = red"

· Phát lại video với siêu dữ liệu trạng thái tín hiệu được vẽ trên khung.

ffplay example.mov -vf signalstats = stat = brng + vrep + tout, drawtext = fontfile = FreeSerif.ttf: textfile = signalstat_drawtext.txt

Nội dung của signalstat_drawtext.txt được sử dụng trong lệnh là:

thời gian% {pts: hms} Y (% {siêu dữ liệu: lavfi.signalstats.YMIN} -% {siêu dữ liệu: lavfi.signalstats.YMAX}) U (% {siêu dữ liệu: lavfi.signalstats.UMIN} -% {siêu dữ liệu: lavfi.signalstats.UMAX}) V (% {siêu dữ liệu: lavfi.signalstats.VMIN} -% {siêu dữ liệu: lavfi.signalstats.VMAX}) độ bão hòa tối đa:% {siêu dữ liệu: lavfi.signalstats.SATMAX}

người thông minh Làm mờ video đầu vào mà không ảnh hưởng đến đường viền.

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

bán kính luma_radius, lr Đặt bán kính luma. Giá trị tùy chọn phải là một số thực trong phạm vi [0.1,5.0] chỉ định phương sai của bộ lọc gaussian được sử dụng để làm mờ hình ảnh (chậm hơn nếu lớn hơn). Giá trị mặc định là 1.0.

luma_sức mạnh, ls Đặt cường độ luma. Giá trị tùy chọn phải là một số thực trong phạm vi [-1.0,1.0] cấu hình làm mờ. Giá trị có trong [0.0,1.0] sẽ làm mờ hình ảnh trong khi giá trị được bao gồm trong [-1.0,0.0] sẽ làm sắc nét hình ảnh. Giá trị mặc định là 1.0.

độ sáng_threshold, lt Đặt ngưỡng luma được sử dụng làm hệ số để xác định xem một pixel có phải là mờ hoặc không. Giá trị tùy chọn phải là một số nguyên trong phạm vi [-30,30]. Một giá trị của 0 sẽ lọc tất cả hình ảnh, một giá trị được bao gồm trong [0,30] sẽ lọc các khu vực phẳng và giá trị bao gồm trong [-30,0] sẽ lọc các cạnh. Giá trị mặc định là 0.

bán kính sắc độ, cr Đặt bán kính sắc độ. Giá trị tùy chọn phải là một số thực trong phạm vi [0.1,5.0] chỉ định phương sai của bộ lọc gaussian được sử dụng để làm mờ hình ảnh (chậm hơn nếu lớn hơn). Giá trị mặc định là 1.0.

sắc độ_cường độ, cs Đặt cường độ sắc độ. Giá trị tùy chọn phải là một số thực trong phạm vi [-1.0,1.0] định cấu hình làm mờ. Giá trị được bao gồm trong [0.0,1.0] sẽ làm mờ hình ảnh trong khi giá trị được bao gồm trong [-1.0,0.0] sẽ làm sắc nét hình ảnh. Giá trị mặc định là 1.0.

sắc_threshold, ct Đặt ngưỡng sắc độ được sử dụng làm hệ số để xác định xem một pixel có phải là mờ hoặc không. Giá trị tùy chọn phải là một số nguyên trong phạm vi [-30,30]. Một giá trị của 0 sẽ lọc tất cả hình ảnh, một giá trị được bao gồm trong [0,30] sẽ lọc các khu vực phẳng và giá trị bao gồm trong [-30,0] sẽ lọc các cạnh. Giá trị mặc định là 0.

Nếu một tùy chọn màu sắc không được đặt rõ ràng, giá trị luma tương ứng sẽ được đặt.

ssim Nhận SSIM (Chỉ số SImilarity cấu trúc) giữa hai video đầu vào.

Bộ lọc này nhận đầu vào hai video đầu vào, đầu vào đầu tiên được coi là "chính" nguồn và được chuyển không thay đổi đến đầu ra. Đầu vào thứ hai được sử dụng làm "tham chiếu" video để tính toán SSIM.

Cả hai đầu vào video phải có cùng độ phân giải và định dạng pixel để bộ lọc này hoạt động một cách chính xác. Ngoài ra, nó giả định rằng cả hai đầu vào có cùng số lượng khung hình, so sánh từng cái một.

Bộ lọc lưu trữ SSIM được tính toán của mỗi khung.

Sau đây là mô tả về các tham số được chấp nhận.

tệp thống kê, f Nếu được chỉ định, bộ lọc sẽ sử dụng tệp được đặt tên để lưu SSIM của từng cá nhân khung.

Tệp được in nếu

tệp thống kê

được chọn, chứa một chuỗi các cặp khóa / giá trị của hình thức

chính

:

giá trị

cho mỗi vài khung hình được so sánh.

Mô tả của từng tham số được hiển thị như sau:

n số thứ tự của khung đầu vào, bắt đầu từ 1

Y, U, V, R, G, B SSIM của các khung được so sánh cho thành phần được chỉ định bởi hậu tố.

Tất cả SSIM của các khung được so sánh cho toàn bộ khung.

dB Tương tự như trên nhưng biểu diễn theo dB.

Ví dụ:

phim = ref_movie.mpg, setpts = PTS-STARTPTS [main]; [main] [ref] ssim = "stats_file = stats.log" [out]

Trong ví dụ này, tệp đầu vào đang được xử lý được so sánh với tệp tham chiếu

ref_movie.mpg

. SSIM của từng khung riêng lẻ được lưu trữ trong

thống kê.log

.

Một ví dụ khác với cả psnr và ssim cùng lúc:

ffmpeg -i main.mpg -i ref.mpg -lavfi "ssim; [0: v] [1: v] psnr" -f null -

âm thanh nổi3d Chuyển đổi giữa các định dạng hình ảnh lập thể khác nhau.

Các bộ lọc chấp nhận các tùy chọn sau:

in Đặt định dạng hình ảnh lập thể của đầu vào.

Các giá trị có sẵn cho các định dạng hình ảnh đầu vào là:

ssl song song cạnh nhau (mắt trái bên trái, mắt phải bên phải)

ssr mắt chéo bên nhau (mắt phải trái, mắt trái phải)

sbs2l cạnh nhau song song với độ phân giải nửa chiều rộng (mắt trái bên trái, mắt phải bên phải)

sbs2r mắt chéo cạnh nhau với độ phân giải nửa chiều rộng (mắt phải trái, mắt trái phải)

abl trên-dưới (mắt trái ở trên, mắt phải ở dưới)

tháng tư trên-dưới (mắt phải ở trên, mắt trái ở dưới)

ab2l trên-dưới với độ phân giải nửa chiều cao (mắt trái ở trên, mắt phải ở dưới)

ab2r trên-dưới với độ phân giải nửa chiều cao (mắt phải ở trên, mắt trái ở dưới)

al khung xen kẽ (mắt trái trước, mắt phải thứ hai)

ar khung xen kẽ (mắt phải trước, mắt trái thứ hai)

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

ra Đặt định dạng hình ảnh lập thể của đầu ra.

Các giá trị có sẵn cho các định dạng hình ảnh đầu ra là tất cả các định dạng đầu vào cũng như:

arbg anaglyph đỏ / xanh xám (bộ lọc màu đỏ ở mắt trái, bộ lọc màu xanh ở mắt phải)

lập luận anaglyph đỏ / xanh xám (bộ lọc màu đỏ ở mắt trái, bộ lọc màu xanh lá cây ở mắt phải)

vòng cung anaglyph đỏ / xám lục lam (bộ lọc màu đỏ ở mắt trái, bộ lọc màu lục lam ở mắt phải)

arch màu đỏ anaglyph / nửa màu lục lam (bộ lọc màu đỏ ở mắt trái, bộ lọc màu lục lam ở mắt phải)

vòng cung màu đỏ / lục lam anaglyph (bộ lọc màu đỏ ở mắt trái, bộ lọc màu lục lam ở mắt phải)

vòng cung màu đỏ / lục lam anaglyph được tối ưu hóa với phép chiếu hình vuông nhỏ nhất của dubois (màu đỏ bộ lọc ở mắt trái, bộ lọc màu lục lam ở mắt phải)

ôi trời màu xanh lá cây anaglyph / màu xám đỏ tươi (bộ lọc màu xanh lục ở mắt trái, bộ lọc màu đỏ tươi ở bên phải con mắt)

ôi trời màu xanh lá cây anaglyph / nửa màu đỏ tươi (bộ lọc màu xanh lục ở mắt trái, bộ lọc màu đỏ tươi đang bật mắt phải)

agmc màu xanh lá cây / đỏ tươi anaglyph (bộ lọc màu xanh lục ở mắt trái, bộ lọc màu đỏ tươi ở bên phải con mắt)

agmd Màu xanh lá cây / đỏ tươi anaglyph được tối ưu hóa với phép chiếu hình vuông nhỏ nhất của dubois (bộ lọc màu xanh lá cây ở mắt trái, bộ lọc màu đỏ tươi ở mắt phải)

aybg anaglyph màu vàng / xám xanh (bộ lọc màu vàng ở mắt trái, bộ lọc màu xanh lam ở mắt phải)

ôi anaglyph màu vàng / nửa màu xanh lam (bộ lọc màu vàng ở mắt trái, bộ lọc màu xanh lam ở bên phải con mắt)

aybc anaglyph màu vàng / xanh lam (bộ lọc màu vàng ở mắt trái, bộ lọc màu xanh lam ở mắt phải)

aybd Màu vàng / xanh anaglyph được tối ưu hóa với phép chiếu hình vuông nhỏ nhất của dubois (bộ lọc màu vàng ở mắt trái, bộ lọc màu xanh lam ở mắt phải)

irl các hàng xen kẽ (mắt trái có hàng trên cùng, mắt phải bắt đầu ở hàng tiếp theo)

nước mắt các hàng xen kẽ (mắt phải có hàng trên cùng, mắt trái bắt đầu ở hàng tiếp theo)

ml đầu ra đơn sắc (chỉ mắt trái)

mr đầu ra đơn sắc (chỉ mắt phải)

Giá trị mặc định là vòng cung.

Các ví dụ

· Chuyển đổi video đầu vào song song với nhau sang hai màu vàng / xanh dương anaglyph:

stereo3d = sbsl: aybd

· Chuyển đổi video đầu vào từ trên xuống (mắt trái ở trên, mắt phải ở dưới) sang song song mắt chéo.

stereo3d = abl: sbsr

spp Áp dụng một bộ lọc xử lý hậu kỳ đơn giản để nén và giải nén hình ảnh ở một số (hoặc - trong trường hợp chất lượng mức 6 - tất cả) thay đổi và tính trung bình các kết quả.

Bộ lọc chấp nhận các tùy chọn sau:

chất lượng Đặt chất lượng. Tùy chọn này xác định số lượng cấp độ để tính trung bình. Nó chấp nhận một số nguyên trong phạm vi 0-6. Nếu được đặt thành 0, bộ lọc sẽ không có hiệu lực. Giá trị 6 có nghĩa là chất lượng cao hơn. Đối với mỗi gia số của giá trị đó, tốc độ giảm đi một hệ số của khoảng 2. Giá trị mặc định là 3.

qp Bắt buộc một tham số lượng tử hóa không đổi. Nếu không được đặt, bộ lọc sẽ sử dụng QP từ luồng video (nếu có).

chế độ Đặt chế độ ngưỡng. Các chế độ khả dụng là:

cứng Đặt ngưỡng cứng (mặc định).

mềm mại Đặt ngưỡng mềm (hiệu ứng khử chuông tốt hơn, nhưng có thể mờ hơn).

sử dụng_bframe_qp Cho phép sử dụng QP từ Khung B nếu được đặt thành 1. Sử dụng tùy chọn này có thể gây ra nhấp nháy vì Khung B thường có QP lớn hơn. Mặc định là 0 (không được kích hoạt).

phụ đề Vẽ phụ đề ở đầu video đầu vào bằng thư viện libass.

Để kích hoạt biên dịch bộ lọc này, bạn cần cấu hình FFmpeg bằng "--enable-libass". Bộ lọc này cũng yêu cầu một bản dựng với libavcodec và libavformat để chuyển đổi tệp phụ đề sang định dạng phụ đề ASS (Advanced Substation Alpha).

Bộ lọc chấp nhận các tùy chọn sau:

tên tệp, f Đặt tên tệp của tệp phụ đề để đọc. Nó phải được chỉ định.

kích thước nguyên mẫu Chỉ định kích thước của video gốc, video mà tệp ASS được tạo. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu. Do thiết kế sai trong số học tỷ lệ khung hình ASS, điều này là cần thiết để chia tỷ lệ phông chữ một cách chính xác nếu tỷ lệ khung hình đã được thay đổi.

fontdir Đặt đường dẫn thư mục chứa các phông chữ có thể được sử dụng bởi bộ lọc. Những phông chữ này sẽ được sử dụng ngoài bất kỳ thứ gì mà nhà cung cấp phông chữ sử dụng.

charenc Đặt mã hóa ký tự đầu vào phụ đề. chỉ bộ lọc "phụ đề". Chỉ hữu ích nếu không UTF-8.

luồng_index, si Đặt chỉ mục luồng phụ đề. chỉ bộ lọc "phụ đề".

lực_kiểu Ghi đè các tham số thông tin tập lệnh hoặc kiểu mặc định của phụ đề. Nó chấp nhận một chuỗi chứa định dạng kiểu ASS "KEY = VALUE" các cặp được phân tách bằng ",".

Nếu khóa đầu tiên không được chỉ định, thì giả sử rằng giá trị đầu tiên chỉ định tên tập tin.

Ví dụ: để hiển thị tệp

sub.srt

trên đầu video đầu vào, sử dụng lệnh:

subtitles = sub.srt

tương đương với:

subtitles = filename = sub.srt

Để hiển thị luồng phụ đề mặc định từ tệp

video.mkv

, sử dụng:

subtitles = video.mkv

Để hiển thị luồng phụ đề thứ hai từ tệp đó, hãy sử dụng:

subtitles = video.mkv: si = 1

Để tạo phụ đề phát trực tuyến từ

sub.srt

xuất hiện trong "DejaVu Serif" màu xanh lá cây trong suốt, sử dụng:

subtitles = sub.srt: force_style = 'FontName = DejaVu Serif, PrimaryColour = & HAA00FF00'

super2xsai Chia tỷ lệ đầu vào gấp 2 lần và làm mịn bằng cách sử dụng nghệ thuật pixel Super2xSaI (Tỷ lệ và nội suy) thuật toán chia tỷ lệ.

Hữu ích để phóng to hình ảnh nghệ thuật pixel mà không làm giảm độ sắc nét.

tráo đổi Hoán đổi máy bay U & V.

telecine Áp dụng quy trình telecine cho video.

Bộ lọc này chấp nhận các tùy chọn sau:

trường đầu tiên hàng đầu, t trường trên cùng đầu tiên

đáy, b trường dưới cùng đầu tiên Giá trị mặc định là "trên cùng".

Belt Hold Chuỗi số đại diện cho kiểu kéo xuống mà bạn muốn áp dụng. Mặc định giá trị là 23.

Một số mẫu tiêu biểu:

Đầu ra NTSC (30i): 27.5p: 32222 24p: 23 (cổ điển) 24p: 2332 (ưu tiên) 20p: 33 18p: 334 16p: 3444

Đầu ra PAL (25i): 27.5p: 12222 24p: 222222222223 ("Euro kéo xuống") 16.67p: 33 16p: 33333334

thumbnail Chọn khung hình tiêu biểu nhất trong một chuỗi các khung hình liên tiếp nhất định.

Bộ lọc chấp nhận các tùy chọn sau:

n Đặt kích thước lô khung để phân tích; trong một tập hợp của

n

khung, bộ lọc sẽ chọn một trong số đó, và sau đó xử lý lô tiếp theo của

n

khung cho đến khi kết thúc. Mặc định là 100.

Vì bộ lọc theo dõi toàn bộ chuỗi khung hình, nên

n

giá trị sẽ dẫn đến sử dụng bộ nhớ cao hơn, vì vậy giá trị cao không được khuyến khích.

Các ví dụ

· Trích xuất một hình ảnh mỗi 50 khung hình:

thumbnail = 50

· Toàn bộ ví dụ về tạo hình thu nhỏ với ffmpeg:

ffmpeg -i in.avi -vf thumbnail, scale = 300: 200 -frames: v 1 out.png

gạch Xếp nhiều khung liên tiếp với nhau.

Bộ lọc chấp nhận các tùy chọn sau:

bố trí Đặt kích thước lưới (tức là số dòng và cột). Đối với cú pháp của điều này tùy chọn, kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu.

nb_frames Đặt số lượng khung hình tối đa để hiển thị trong khu vực nhất định. Nó phải nhỏ hơn hoặc tương đương với

w

x

h

. Giá trị mặc định là 0, có nghĩa là tất cả các khu vực sẽ được sử dụng.

tỷ suất lợi nhuận Đặt lề đường viền bên ngoài tính bằng pixel.

đệm Đặt độ dày đường viền bên trong (tức là số pixel giữa các khung hình). Để biết thêm các tùy chọn đệm nâng cao (chẳng hạn như có các giá trị khác nhau cho các cạnh), hãy tham khảo bộ lọc video pad.

màu sắc Chỉ định màu của khu vực không sử dụng. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Màu" trong hướng dẫn sử dụng ffmpeg-utils. Giá trị mặc định của

màu sắc

là "đen".

Các ví dụ

· Sản xuất ô 8x8 PNG cho tất cả các khung hình chính (-skip_frame không cần thiết) trong một bộ phim:

ffmpeg -skip_frame nokey -i file.avi -vf 'scale = 128: 72, tile = 8x8' -an -vsync 0 keyframe% 03d.png

Sản phẩm -vsync 0 là cần thiết để ngăn chặn ffmpeg từ sao chép từng khung đầu ra đến điều chỉnh tốc độ khung hình được phát hiện ban đầu.

· Hiển thị 5 hình ảnh trong khu vực khung hình "3x2", với 7 pixel giữa chúng và 2 pixel của lề ban đầu, sử dụng các tùy chọn phẳng và có tên hỗn hợp:

tile=3x2:nb_frames=5:padding=7:margin=2

đan xen Thực hiện các kiểu xen kẽ trường thời gian.

Các khung được tính bắt đầu từ 1, vì vậy khung đầu vào đầu tiên được coi là lẻ.

Bộ lọc chấp nhận các tùy chọn sau:

chế độ Chỉ định chế độ xen kẽ. Tùy chọn này cũng có thể được chỉ định dưới dạng giá trị một mình. Xem bên dưới để biết danh sách các giá trị cho tùy chọn này.

Các giá trị có sẵn là:

hợp nhất, 0 Di chuyển các khung hình lẻ vào trường phía trên, thậm chí vào trường phía dưới, tạo ra một khung chiều cao gấp đôi ở một nửa tốc độ khung hình.

--> thời gian Đầu vào: Khung 1 Khung 2 Khung 3 Khung 4

11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444

Đầu ra: 11111 33333 22222 44444 11111 33333 22222 44444 11111 33333 22222 44444 11111 33333 22222 44444

thả_lẻ, 1 Chỉ xuất các khung hình chẵn, các khung hình lẻ bị loại bỏ, tạo ra một khung hình không thay đổi chiều cao ở một nửa tốc độ khung hình.

--> thời gian Đầu vào: Khung 1 Khung 2 Khung 3 Khung 4

11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444

Đầu ra: 22222 44444 22222 44444 22222 44444 22222 44444

thả_thậm chí, 2 Chỉ xuất các khung hình lẻ, các khung hình chẵn bị loại bỏ, tạo ra một khung hình không thay đổi chiều cao ở một nửa tốc độ khung hình.

--> thời gian Đầu vào: Khung 1 Khung 2 Khung 3 Khung 4

11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444

Đầu ra: 11111 33333 11111 33333 11111 33333 11111 33333

tập giấy, 3 Mở rộng từng khung hình đến chiều cao đầy đủ, nhưng chèn các dòng xen kẽ bằng màu đen, tạo ra khung có chiều cao gấp đôi ở cùng tốc độ khung hình đầu vào.

--> thời gian Đầu vào: Khung 1 Khung 2 Khung 3 Khung 4

11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444

Đầu ra: 11111.....33333..... .....22222.....44444 11111.....33333..... .....22222.....44444 11111.....33333..... .....22222.....44444 11111.....33333..... .....22222.....44444

xen kẽ_top, 4 Xen trường phía trên từ các khung lẻ với trường phía dưới từ các khung chẵn, tạo khung có chiều cao không thay đổi ở một nửa tốc độ khung hình.

--> thời gian Đầu vào: Khung 1 Khung 2 Khung 3 Khung 4

11111 <- 22222 33333 <- 44444 11111 22222 <- 33333 44444 <- 11111 <- 22222 33333 <- 44444 11111 22222 <- 33333 44444 <-

Đầu ra: 11111 33333 22222 44444 11111 33333 22222 44444

xen kẽ_bottom, 5 Xen trường dưới từ các khung lẻ với trường trên từ các khung chẵn, tạo khung có chiều cao không thay đổi ở một nửa tốc độ khung hình.

--> thời gian Đầu vào: Khung 1 Khung 2 Khung 3 Khung 4

11111 22222 <- 33333 44444 <- 11111 <- 22222 33333 <- 44444 11111 22222 <- 33333 44444 <- 11111 <- 22222 33333 <- 44444

Đầu ra: 22222 44444 11111 33333 22222 44444 11111 33333

xen kẽ2, 6 Tốc độ khung hình gấp đôi với chiều cao không thay đổi. Mỗi khung được chèn vào có chứa trường thời gian thứ hai từ khung đầu vào trước đó và trường thời gian đầu tiên từ khung đầu vào tiếp theo. Chế độ này dựa trên cờ top_field_first. Có ích cho các màn hình video xen kẽ mà không có trường đồng bộ hóa.

--> thời gian Đầu vào: Khung 1 Khung 2 Khung 3 Khung 4

11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444

Đầu ra: 11111 22222 22222 33333 33333 44444 44444 11111 11111 22222 22222 33333 33333 44444 11111 22222 22222 33333 33333 44444 44444 11111 11111 22222 22222 33333 33333 44444

Giá trị số không được dùng nữa nhưng được chấp nhận vì lý do tương thích ngược.

Chế độ mặc định là "hợp nhất".

cờ Chỉ định các cờ ảnh hưởng đến quá trình lọc.

Giá trị có sẵn cho

cờ

là:

low_pass_filter, vlfp Bật tính năng lọc thông thấp theo chiều dọc trong bộ lọc. Lọc thông thấp theo chiều dọc mới là bắt buộc khi tạo đích xen kẽ từ một nguồn tiến bộ chứa chi tiết dọc tần số cao. Lọc sẽ làm giảm 'twitter' xen kẽ và Mô hình Moire.

Tính năng lọc thông thấp theo chiều dọc chỉ có thể được bật cho chế độ

xen kẽ_top

xen kẽ_bottom

.

hoán vị Chuyển đổi các hàng với các cột trong video đầu vào và tùy chọn lật nó.

Nó chấp nhận các tham số sau:

dir Chỉ định hướng chuyển vị.

Có thể giả định các giá trị sau:

0, 4, cclock_flip Xoay 90 độ ngược chiều kim đồng hồ và lật dọc (mặc định), nghĩa là:

LR Ll . . ->. . lr Rr

1, 5, đồng hồ Xoay 90 độ theo chiều kim đồng hồ, nghĩa là:

LR lL . . ->. . lr rR

2, 6, đồng hồ Xoay 90 độ ngược chiều kim đồng hồ, nghĩa là:

LR Rr . . ->. . lr Ll

3, 7, đồng hồ_flip Xoay 90 độ theo chiều kim đồng hồ và lật theo chiều dọc, nghĩa là:

LR rR . . ->. . lr lL

Đối với các giá trị từ 4-7, việc chuyển vị chỉ được thực hiện nếu hình dạng video đầu vào là chân dung và không phong cảnh. Các giá trị này không được dùng nữa, tùy chọn "chuyển qua" nên được sử dụng thay thế.

Các giá trị số không được dùng nữa và sẽ được loại bỏ để có lợi cho các hằng số tượng trưng.

chuyển qua Không áp dụng phép chuyển vị nếu hình dạng đầu vào khớp với hình được chỉ định bởi giá trị xác định. Nó chấp nhận các giá trị sau:

không ai Luôn áp dụng phép chuyển vị.

chân dung Bảo tồn hình dạng dọc (khi

cao

\>=

chiều rộng

).

cảnh quan Bảo tồn hình dạng ngang (khi

chiều rộng

\>=

cao

).

Giá trị mặc định là "không".

Ví dụ để xoay 90 độ theo chiều kim đồng hồ và giữ nguyên bố cục dọc:

Transpose = dir = 1: passthrough = dọc

Lệnh trên cũng có thể được chỉ định là:

chuyển vị = 1: dọc

tỉa Cắt đầu vào để đầu ra chứa một phần con liên tục của đầu vào.

Nó chấp nhận các tham số sau:

Bắt đầu Chỉ định thời gian bắt đầu phần được lưu giữ, tức là khung có dấu thời gian

Bắt đầu

sẽ là khung đầu tiên trong đầu ra.

cuối Chỉ định thời gian của khung hình đầu tiên sẽ bị xóa, tức là khung hình ngay lập tức trước cái có dấu thời gian

cuối

sẽ là khung cuối cùng trong đầu ra.

điểm bắt đầu Điều này cũng giống như

Bắt đầu

, ngoại trừ tùy chọn này đặt dấu thời gian bắt đầu trong cơ sở thời gian đơn vị thay vì giây.

end_pts Điều này cũng giống như

cuối

, ngoại trừ tùy chọn này đặt dấu thời gian kết thúc trong các đơn vị cơ sở thời gian thay vì giây.

thời gian Thời lượng tối đa của đầu ra tính bằng giây.

khung bắt đầu Số lượng khung hình đầu tiên sẽ được chuyển đến đầu ra.

end_frame Số lượng khung hình đầu tiên sẽ bị loại bỏ.

Bắt đầu, cuốivà thời gian được thể hiện dưới dạng thông số kỹ thuật về khoảng thời gian; Thấy chưa các Thời gian thời gian phần in các

ffmpeg-utils

(1) nhãn hiệu cho cú pháp được chấp nhận.

Lưu ý rằng hai tập hợp đầu tiên của các tùy chọn bắt đầu / kết thúc và thời gian tùy chọn nhìn vào dấu thời gian khung, trong khi các biến thể _frame chỉ đếm số khung đi qua lọc. Cũng lưu ý rằng bộ lọc này không sửa đổi dấu thời gian. Nếu bạn muốn xuất dấu thời gian để bắt đầu từ XNUMX, chèn bộ lọc setpts sau bộ lọc cắt.

Nếu nhiều tùy chọn bắt đầu hoặc kết thúc được đặt, bộ lọc này sẽ cố gắng tham lam và giữ tất cả khung phù hợp với ít nhất một trong các ràng buộc được chỉ định. Để chỉ giữ lại phần khớp với tất cả các ràng buộc cùng một lúc, chuỗi nhiều bộ lọc cắt.

Các giá trị mặc định được giữ nguyên. Vì vậy, có thể đặt ví dụ: chỉ giá trị kết thúc để giữ mọi thứ trước thời gian quy định.

Ví dụ:

· Bỏ tất cả mọi thứ ngoại trừ phút thứ hai của đầu vào:

ffmpeg -i INPUT -vf trim = 60: 120

· Chỉ giữ lại giây đầu tiên:

ffmpeg -i INPUT -vf trim = thời lượng = 1

không nói gì Làm sắc nét hoặc làm mờ video đầu vào.

Nó chấp nhận các tham số sau:

luma_msize_x, lx Đặt kích thước ngang của ma trận luma. Nó phải là một số nguyên lẻ từ 3 đến 63. giá trị mặc định là 5.

luma_msize_y, ly Đặt kích thước theo chiều dọc của ma trận luma. Nó phải là một số nguyên lẻ từ 3 đến 63. giá trị mặc định là 5.

luma_số lượng, la Đặt cường độ hiệu ứng luma. Nó phải là một số dấu phẩy động, các giá trị hợp lý nằm trong khoảng -1.5 đến 1.5.

Giá trị âm sẽ làm mờ video đầu vào, trong khi giá trị dương sẽ làm sắc nét video, a giá trị bằng không sẽ vô hiệu hóa hiệu ứng.

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

sắc độ_msize_x, cx Đặt kích thước ngang của ma trận sắc độ. Nó phải là một số nguyên lẻ từ 3 đến 63. giá trị mặc định là 5.

sắc độ_msize_y, cy Đặt kích thước dọc của ma trận sắc độ. Nó phải là một số nguyên lẻ từ 3 đến 63. giá trị mặc định là 5.

sắc_lượng, ca Đặt cường độ hiệu ứng sắc độ. Nó phải là một số dấu phẩy động, các giá trị hợp lý nằm trong khoảng -1.5 đến 1.5.

Giá trị âm sẽ làm mờ video đầu vào, trong khi giá trị dương sẽ làm sắc nét video, a giá trị bằng không sẽ vô hiệu hóa hiệu ứng.

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

mởcl Nếu được đặt thành 1, hãy chỉ định bằng cách sử dụng các khả năng OpenCL, chỉ khả dụng nếu FFmpeg là được định cấu hình bằng "--enable-opencl". Giá trị mặc định là 0.

Tất cả các tham số là tùy chọn và mặc định tương đương với chuỗi '5: 5: 1.0: 5: 5: 0.0'.

Các ví dụ

· Áp dụng hiệu ứng làm sắc nét mạnh mẽ:

unsharp = luma_msize_x = 7: luma_msize_y = 7: luma_amount = 2.5

· Áp dụng hiệu ứng mờ mạnh của cả thông số luma và chroma:

unsharp=7:7:-2:7:7:-2

uspp Áp dụng bộ lọc hậu xử lý cực chậm / đơn giản để nén và giải nén hình ảnh tại một số (hoặc - trong trường hợp chất lượng mức 8 - tất cả) thay đổi và tính trung bình các kết quả.

Cách điều này khác với hành vi của spp là uspp thực sự mã hóa và giải mã từng trường hợp với libavcodec Snow, trong khi spp sử dụng một DCT đơn giản chỉ 8x8 tương tự như MJPEG.

Bộ lọc chấp nhận các tùy chọn sau:

chất lượng Đặt chất lượng. Tùy chọn này xác định số lượng cấp độ để tính trung bình. Nó chấp nhận một số nguyên trong phạm vi 0-8. Nếu được đặt thành 0, bộ lọc sẽ không có hiệu lực. Giá trị 8 có nghĩa là chất lượng cao hơn. Đối với mỗi gia số của giá trị đó, tốc độ giảm đi một hệ số của khoảng 2. Giá trị mặc định là 3.

qp Bắt buộc một tham số lượng tử hóa không đổi. Nếu không được đặt, bộ lọc sẽ sử dụng QP từ luồng video (nếu có).

vectorscope Hiển thị 2 giá trị thành phần màu trong biểu đồ hai chiều (được gọi là kính vectơ).

Bộ lọc này chấp nhận các tùy chọn sau:

chế độ, m Đặt chế độ vectorscope.

Nó chấp nhận các giá trị sau:

màu xám Các giá trị màu xám được hiển thị trên biểu đồ, độ sáng cao hơn có nghĩa là có nhiều điểm ảnh hơn giá trị màu thành phần trên vị trí trong biểu đồ. Đây là chế độ mặc định.

màu sắc Giá trị màu xám được hiển thị trên đồ thị. Các giá trị pixel xung quanh không hiện tại trong khung video được vẽ bằng gradient của 2 thành phần màu được thiết lập theo tùy chọn "x" và "y".

color2 Các giá trị thành phần màu thực tế có trong khung hình video được hiển thị trên biểu đồ.

color3 Tương tự như color2 nhưng tần suất cao hơn của các giá trị giống nhau "x" và "y" trên biểu đồ tăng giá trị của một thành phần màu khác, đó là độ chói theo các giá trị mặc định của "x" và "y".

color4 Màu sắc thực tế có trong khung hình video được hiển thị trên biểu đồ. Nếu hai khác nhau màu sắc ánh xạ đến cùng một vị trí trên biểu đồ sau đó tô màu với giá trị cao hơn của thành phần không hiện trong biểu đồ được chọn.

x Đặt thành phần màu nào sẽ được thể hiện trên trục X. Mặc định là 1.

y Đặt thành phần màu nào sẽ được thể hiện trên trục Y. Mặc định là 2.

cường độ, i Đặt cường độ, được sử dụng theo các chế độ: xám, màu và màu 3 để tăng độ sáng của thành phần màu đại diện cho tần suất của (X, Y) vị trí trong biểu đồ.

phong bì, e không ai Không có phong bì, đây là mặc định.

ngay lập tức Phong bì tức thì, ngay cả điểm ảnh đơn tối nhất cũng sẽ được tô sáng rõ ràng.

đỉnh Giữ các giá trị tối đa và tối thiểu được trình bày trong biểu đồ theo thời gian. Bằng cách này bạn có thể vẫn phát hiện ra các giá trị nằm ngoài phạm vi mà không cần liên tục nhìn vào vectorscope.

cao điểm + tức thì Đỉnh và phong bì tức thì kết hợp với nhau.

phát hiện vidstab Phân tích ổn định / khử rung video. Thực hiện vượt qua 1 trong 2, xem vidstabtransform để vượt qua 2.

Bộ lọc này tạo một tệp với thông tin dịch và chuyển đổi xoay tương đối về các khung tiếp theo, sau đó được sử dụng bởi vidstabtransform lọc.

Để kích hoạt biên dịch bộ lọc này, bạn cần cấu hình FFmpeg với "--enable-libvidstab".

Bộ lọc này chấp nhận các tùy chọn sau:

kết quả Đặt đường dẫn đến tệp được sử dụng để ghi thông tin chuyển đổi. Giá trị mặc định là

biến đổi.trf

.

run rẩy Đặt mức độ rung của video và tốc độ quay của máy ảnh. Nó chấp nhận một số nguyên trong phạm vi 1-10, giá trị 1 có nghĩa là ít rung chuyển, giá trị 10 có nghĩa là rung lắc mạnh. Giá trị mặc định là 5.

chính xác Đặt độ chính xác của quá trình phát hiện. Nó phải là một giá trị trong phạm vi 1-15. MỘT giá trị 1 có nghĩa là độ chính xác thấp, giá trị 15 có nghĩa là độ chính xác cao. Giá trị mặc định là 15.

cỡ bước chân Đặt kích thước các bước của quá trình tìm kiếm. Vùng xung quanh tối thiểu được quét với 1 pixel nghị quyết. Giá trị mặc định là 6.

tương phản nhỏ Đặt độ tương phản tối thiểu. Dưới giá trị này, một trường đo lường cục bộ bị loại bỏ. Cần phải một giá trị dấu phẩy động trong phạm vi 0-1. Giá trị mặc định là 0.3.

giá ba chân Đặt số khung tham chiếu cho chế độ giá ba chân.

Nếu được bật, chuyển động của các khung được so sánh với hệ quy chiếu trong bộ lọc luồng, được xác định bằng số đã chỉ định. Ý tưởng là bù đắp tất cả các chuyển động trong cảnh tĩnh ít nhiều và giữ cho chế độ xem máy ảnh tĩnh tuyệt đối.

Nếu được đặt thành 0, nó sẽ bị vô hiệu hóa. Các khung được tính bắt đầu từ 1.

hiển thị Hiển thị các trường và chuyển đổi trong các khung kết quả. Nó chấp nhận một số nguyên trong phạm vi 0-2. Giá trị mặc định là 0, giá trị này sẽ vô hiệu hóa mọi hình ảnh hóa.

Các ví dụ

· Sử dụng các giá trị mặc định:

phát hiện vidstab

· Phân tích phim bị rung mạnh và đưa kết quả vào tệp

mytransforms.trf

:

vidstabdetect = shakiness = 10: precision = 15: result = "mytransforms.trf"

· Hình dung kết quả của các phép biến đổi bên trong trong video kết quả:

vidstabdetect = show = 1

· Phân tích video có độ rung trung bình bằng cách sử dụng ffmpeg:

ffmpeg -i input -vf vidstabdetect = shakiness = 5: show = 1 dummy.avi

vidstabtransform Ổn định / khử rung video: vượt qua 2/2, xem phát hiện vidstab cho vượt qua 1.

Đọc tệp với thông tin biến đổi cho từng khung hình và áp dụng / bù đắp chúng. Cùng với nhau với phát hiện vidstab bộ lọc này có thể được sử dụng để giải mã video. Xem thêm <//public.hronopik.de/vid.stab>. Điều quan trọng là cũng sử dụng không nói gì lọc, xem phía dưới.

Để kích hoạt biên dịch bộ lọc này, bạn cần cấu hình FFmpeg với "--enable-libvidstab".

Các lựa chọn

đầu vào Đặt đường dẫn đến tệp được sử dụng để đọc các biến đổi. Giá trị mặc định là

biến đổi.trf

.

làm mịn Đặt số khung hình (giá trị * 2 + 1) được sử dụng để lọc thông thấp cho máy ảnh sự di chuyển. Giá trị mặc định là 10.

Ví dụ: số 10 có nghĩa là 21 khung hình được sử dụng (10 trong quá khứ và 10 trong tương lai) để làm mượt chuyển động trong video. Giá trị lớn hơn dẫn đến video mượt mà hơn, nhưng hạn chế khả năng tăng tốc của máy ảnh (chuyển động xoay / nghiêng). 0 là một trường hợp đặc biệt nơi một máy ảnh tĩnh được mô phỏng.

quang học Đặt thuật toán tối ưu hóa đường dẫn camera.

Các giá trị được chấp nhận là:

gauss bộ lọc thông thấp của hạt nhân gaussian trên chuyển động của camera (mặc định)

trung bình tính trung bình trên các phép biến đổi

sang số tối đa Đặt số lượng pixel tối đa để dịch khung hình. Giá trị mặc định là -1, nghĩa là không giới hạn.

góc tối đa Đặt góc tối đa tính bằng radian (độ * PI / 180) để xoay khung. Giá trị mặc định là -1, nghĩa là không có giới hạn.

cây trồng Chỉ định cách xử lý các đường viền có thể hiển thị do bù dịch chuyển.

Các giá trị có sẵn là:

giữ giữ thông tin hình ảnh từ khung trước (mặc định)

đen tô màu đen viền

đảo ngược Đảo ngược các phép biến đổi nếu được đặt thành 1. Giá trị mặc định là 0.

tương đối Coi các biến đổi là tương đối so với khung trước đó nếu được đặt thành 1, tuyệt đối nếu được đặt thành 0. Giá trị mặc định là 0.

thu phóng Đặt tỷ lệ phần trăm để thu phóng. Giá trị dương sẽ dẫn đến hiệu ứng phóng to, giá trị âm giá trị trong hiệu ứng thu nhỏ. Giá trị mặc định là 0 (không thu phóng).

zoom tối ưu Đặt mức thu phóng tối ưu để tránh các đường viền.

Các giá trị được chấp nhận là:

0 bị vô hiệu hóa

1 giá trị thu phóng tĩnh tối ưu được xác định (chỉ những chuyển động rất mạnh mới dẫn đến đường viền hiển thị) (mặc định)

2 giá trị thu phóng thích ứng tối ưu được xác định (không có đường viền sẽ hiển thị), xem phóng to

Lưu ý rằng giá trị được đưa ra khi thu phóng được thêm vào giá trị được tính ở đây.

phóng to Đặt phần trăm để thu phóng tối đa từng khung hình (được bật khi zoom tối ưu được đặt thành 2). Phạm vi là từ 0 đến 5, giá trị mặc định là 0.25.

nội suy Chỉ định loại nội suy.

Các giá trị có sẵn là:

Không không có nội suy

tuyến tính tuyến tính chỉ ngang

song tuyến tính tuyến tính theo cả hai hướng (mặc định)

lưỡng tính khối theo cả hai hướng (chậm)

giá ba chân Bật chế độ chân máy ảo nếu được đặt thành 1, tương đương với "tương đối = 0: làm mịn = 0". Giá trị mặc định là 0.

Cũng sử dụng tùy chọn "giá ba chân" của phát hiện vidstab.

gỡ lỗi Tăng độ chi tiết của nhật ký nếu được đặt thành 1. Ngoài ra, các chuyển động chung được phát hiện cũng được ghi vào tập tin tạm thời

toàn cầu_motions.trf

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

Các ví dụ

· Sử dụng ffmpeg để có sự ổn định điển hình với các giá trị mặc định:

ffmpeg -i inp.mpeg -vf vidstabtransform, unsharp = 5: 5: 0.8: 3: 3: 0.4 inp_stabilized.mpeg

Lưu ý việc sử dụng không nói gì bộ lọc luôn được khuyến khích.

· Phóng to hơn một chút và tải dữ liệu chuyển đổi từ một tệp nhất định:

vidstabtransform = zoom = 5: input = "mytransforms.trf"

· Làm mượt video hơn nữa:

vidstabtransform = smoothing = 30

vflip Lật video đầu vào theo chiều dọc.

Ví dụ: để lật video theo chiều dọc với ffmpeg:

ffmpeg -i in.avi -vf "vflip" out.avi

họa tiết Tạo hoặc đảo ngược hiệu ứng tạo họa tiết tự nhiên.

Bộ lọc chấp nhận các tùy chọn sau:

góc, a Đặt biểu thức góc thấu kính dưới dạng một số rađian.

Giá trị được cắt bớt trong phạm vi "[0, PI / 2]".

Giá trị mặc định: "PI / 5"

x0 y0 Đặt biểu thức tọa độ tâm. Tương ứng "w / 2" và "h / 2" theo mặc định.

chế độ Đặt chế độ tiến / lùi.

Các chế độ khả dụng là:

phía trước Khoảng cách từ điểm trung tâm càng lớn thì ảnh càng tối.

lạc hậu Khoảng cách từ điểm trung tâm càng lớn thì ảnh càng sáng. Điều này có thể được sử dụng để đảo ngược hiệu ứng làm mờ nét ảnh, mặc dù không có tính năng tự động phát hiện để trích xuất ống kính góc và các cài đặt khác (chưa). Nó cũng có thể được sử dụng để tạo hiệu ứng đốt cháy.

Giá trị mặc định là phía trước.

đánh giá Đặt chế độ đánh giá cho các biểu thức (góc, x0, y0).

Nó chấp nhận các giá trị sau:

trong đó Chỉ đánh giá các biểu thức một lần trong quá trình khởi tạo bộ lọc.

khung Đánh giá biểu thức cho mỗi khung hình đến. Đây là cách chậm hơn so với trong đó vì nó yêu cầu tất cả các tỷ lệ phải được tính toán lại, nhưng nó cho phép nâng cao biểu thức động.

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

run lên Đặt phối màu để giảm hiệu ứng dải tròn. Mặc định là 1 (được bật).

khía cạnh Đặt khía cạnh họa tiết. Cài đặt này cho phép một người điều chỉnh hình dạng của họa tiết. Đặt giá trị này thành SAR của đầu vào sẽ tạo ra họa tiết hình chữ nhật theo kích thước của video.

Mặc định là "1/1".

Biểu thức

Sản phẩm alpha, x0 và y0 biểu thức có thể chứa các tham số sau.

w h chiều rộng và chiều cao đầu vào

n số lượng khung hình đầu vào, bắt đầu từ 0

Điểm thời gian PTS (Presentation TimeStamp) của khung video được lọc, được biểu thị bằng

TB

đơn vị, NAN nếu không xác định

r tốc độ khung hình của video đầu vào, NAN nếu tốc độ khung hình đầu vào không xác định

t PTS (Presentation TimeStamp) của khung video đã lọc, được biểu thị bằng giây, NAN nếu không xác định

tb cơ sở thời gian của video đầu vào

Các ví dụ

· Áp dụng hiệu ứng họa tiết mạnh mẽ đơn giản:

họa tiết = PI / 4

· Tạo họa tiết nhấp nháy:

họa tiết = 'PI / 4 +ngẫu nhiên(1) * PI / 50 ': eval = frame

vstack Xếp chồng video đầu vào theo chiều dọc.

Tất cả các luồng phải có cùng định dạng pixel và cùng chiều rộng.

Lưu ý rằng bộ lọc này nhanh hơn so với việc sử dụng phủ và tập giấy bộ lọc để tạo ra cùng một đầu ra.

Bộ lọc chấp nhận tùy chọn sau:

nb_inputs Đặt số lượng luồng đầu vào. Mặc định là 2.

w3fdif Khử xen kẽ video đầu vào ("w3fdif" là viết tắt của "Bộ lọc khử xen kẽ trường Weston 3").

Dựa trên quy trình được Martin Weston mô tả cho BBC R&D và được thực hiện dựa trên thuật toán de-interlace do Jim Easterbrook viết cho BBC R&D, lĩnh vực Weston 3 Bộ lọc khử xen kẽ sử dụng các hệ số bộ lọc do BBC R&D tính toán.

Có hai bộ hệ số bộ lọc, được gọi là "đơn giản": và "phức tạp". Bộ nào của Hệ số bộ lọc được sử dụng có thể được thiết lập bằng cách chuyển một tham số tùy chọn:

lọc Đặt các hệ số bộ lọc xen kẽ. Chấp nhận một trong các giá trị sau:

đơn giản Bộ hệ số bộ lọc đơn giản.

phức tạp Bộ hệ số bộ lọc phức tạp hơn.

Giá trị mặc định là phức tạp.

định mệnh Chỉ định khung nào cần hủy xen kẽ. Chấp nhận một trong các giá trị sau:

tất cả các Khử xen kẽ tất cả các khung,

xen kẽ Chỉ hủy xen kẽ các khung được đánh dấu là đã xen kẽ.

Giá trị mặc định là tất cả các.

dạng sóng Màn hình dạng sóng video.

Màn hình dạng sóng vẽ biểu đồ cường độ thành phần màu. Chỉ theo độ sáng mặc định. Mỗi cột của dạng sóng tương ứng với một cột pixel trong video nguồn.

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

chế độ, m Có thể là "hàng" hoặc "cột". Mặc định là "cột". Ở chế độ hàng, biểu đồ trên bên trái đại diện cho giá trị thành phần màu 0 và bên phải đại diện cho giá trị = 255. Ở chế độ cột, mặt trên biểu thị giá trị thành phần màu = 0 và mặt dưới đại diện cho giá trị = 255.

cường độ, i Đặt cường độ. Các giá trị nhỏ hơn rất hữu ích để tìm ra có bao nhiêu giá trị giống nhau độ sáng được phân phối trên các hàng / cột đầu vào. Giá trị mặc định là 0.04. Cho phép phạm vi là [0, 1].

gương, r Đặt chế độ phản chiếu. 0 có nghĩa là không được sao chép, 1 có nghĩa là được sao chép. Ở chế độ phản chiếu, cao hơn các giá trị sẽ được thể hiện ở bên trái cho chế độ "hàng" và ở trên cùng cho "cột" chế độ. Mặc định là 1 (được nhân đôi).

trưng bày, d Đặt chế độ hiển thị. Nó chấp nhận các giá trị sau:

phủ Trình bày thông tin giống với thông tin trong "cuộc diễu hành", ngoại trừ các biểu đồ các thành phần màu đại diện được chồng trực tiếp lên nhau.

Chế độ hiển thị này giúp bạn dễ dàng phát hiện ra sự khác biệt tương đối hoặc điểm tương đồng trong các vùng chồng chéo của các thành phần màu được cho là giống hệt nhau, chẳng hạn như như người da trắng, xám hoặc đen trung tính.

diễu hành Hiển thị biểu đồ riêng biệt cho các thành phần màu cạnh nhau ở chế độ "hàng" hoặc một bên dưới cái khác ở chế độ "cột".

Sử dụng chế độ hiển thị này giúp bạn dễ dàng phát hiện phôi màu trong các điểm nổi bật và bóng của một hình ảnh, bằng cách so sánh các đường viền của đồ thị trên cùng và dưới cùng của mỗi dạng sóng. Vì người da trắng, xám và đen được đặc trưng bởi lượng màu đỏ, xanh lục và xanh lam, các vùng trung tính của hình ảnh nên hiển thị ba dạng sóng có chiều rộng / chiều cao gần bằng nhau. Nếu không, việc hiệu chỉnh rất dễ thực hiện bằng cách điều chỉnh mức độ của ba dạng sóng.

Mặc định là "diễu hành".

thành phần, c Đặt các thành phần màu để hiển thị. Mặc định là 1, có nghĩa là chỉ độ sáng hoặc màu đỏ thành phần màu nếu đầu vào nằm trong không gian màu RGB. Nếu được đặt ví dụ thành 7, nó sẽ hiển thị tất cả 3 (nếu) thành phần màu có sẵn.

phong bì, e không ai Không có phong bì, đây là mặc định.

ngay lập tức Phong bì tức thì, các giá trị tối thiểu và tối đa được trình bày trong biểu đồ sẽ dễ dàng hiển thị ngay cả với giá trị "bước" nhỏ.

đỉnh Giữ các giá trị tối thiểu và tối đa được trình bày trong biểu đồ theo thời gian. Bằng cách này bạn có thể vẫn phát hiện ra các giá trị nằm ngoài phạm vi mà không cần liên tục nhìn vào dạng sóng.

cao điểm + tức thì Đỉnh và phong bì tức thì kết hợp với nhau.

bộ lọc, f tầm thấp Không có bộ lọc, đây là mặc định.

bằng phẳng Luma và chroma kết hợp với nhau.

bằng phẳng Tương tự như trên, nhưng cho thấy sự khác biệt giữa sắc độ xanh và đỏ.

sắc độ Chỉ hiển thị sắc độ.

sắc độ Tương tự như trên, nhưng cho thấy sự khác biệt giữa sắc độ xanh và đỏ.

màu sắc Hiển thị giá trị màu thực tế trên dạng sóng.

xbr Áp dụng bộ lọc phóng đại chất lượng cao xBR được thiết kế cho nghệ thuật pixel. Nó tuân theo một bộ quy tắc phát hiện cạnh, xem <//www.libretro.com/forums/viewtopic.php? f = 6 & t = 134>.

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

n Đặt thứ nguyên chia tỷ lệ: 2 cho "2xBR", 3 cho "3xBR" và 4 cho "4xBR". Mặc định là 3.

yadif Khử xen kẽ video đầu vào ("yadif" có nghĩa là "một bộ lọc khử xen kẽ khác").

Nó chấp nhận các tham số sau:

chế độ Chế độ xen kẽ để áp dụng. Nó chấp nhận một trong các giá trị sau:

0, gửi_frame Xuất một khung cho mỗi khung.

1, trường gửi Xuất một khung cho mỗi trường.

2, send_frame_nospatial Giống như "send_frame", nhưng nó bỏ qua kiểm tra xen kẽ không gian.

3, send_field_nospatial Giống như "send_field", nhưng nó bỏ qua kiểm tra xen kẽ không gian.

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

tính chẵn lẻ Trường hình ảnh chẵn lẻ được giả định cho video xen kẽ đầu vào. Nó chấp nhận một trong những các giá trị sau:

0, tff Giả sử trường trên cùng là trường đầu tiên.

1, bff Giả sử trường dưới cùng là trường đầu tiên.

-1, tự động Bật tính năng tự động phát hiện trường chẵn lẻ.

Giá trị mặc định là "tự động". Nếu phần xen kẽ không xác định hoặc bộ giải mã không xuất thông tin này, trường đầu tiên sẽ được giả định.

định mệnh Chỉ định khung nào cần hủy xen kẽ. Chấp nhận một trong các giá trị sau:

0, tất cả các Khử xen kẽ tất cả các khung.

1, xen kẽ Chỉ hủy xen kẽ các khung được đánh dấu là đã xen kẽ.

Giá trị mặc định là "tất cả".

động vật hoang dã Áp dụng hiệu ứng Zoom & Pan.

Bộ lọc này chấp nhận các tùy chọn sau:

thu phóng, z Đặt biểu thức thu phóng. Mặc định là 1.

x y Đặt biểu thức x và y. Mặc định là 0.

d Đặt biểu thức thời lượng theo số khung hình. Điều này đặt cho số lượng hiệu ứng khung sẽ kéo dài cho một hình ảnh đầu vào.

s Đặt kích thước hình ảnh đầu ra, mặc định là 'hd720'.

Mỗi biểu thức có thể chứa các hằng số sau:

trong W, iw Chiều rộng đầu vào.

trong_h, ih Chiều cao đầu vào.

ra_w, ow Chiều rộng đầu ra.

ra_h, oh Chiều cao đầu ra.

in Số khung đầu vào.

on Số khung đầu ra.

x y Vị trí 'x' và 'y' được tính lần cuối từ biểu thức 'x' và 'y' cho đầu vào hiện tại khung.

px py 'x' và 'y' của khung đầu ra cuối cùng của khung đầu vào trước đó hoặc 0 khi chưa có khung như vậy (khung đầu vào đầu tiên).

thu phóng Thu phóng được tính toán lần cuối từ biểu thức 'z' cho khung đầu vào hiện tại.

phóng đại Thu phóng được tính toán lần cuối của khung đầu ra cuối cùng của khung đầu vào trước đó.

thời gian Số khung đầu ra cho khung đầu vào hiện tại. Được tính từ biểu thức 'd' cho mỗi khung đầu vào.

độ cứng số khung đầu ra được tạo cho khung đầu vào trước đó

a Số hữu tỉ: chiều rộng đầu vào / chiều cao đầu vào

sar tỷ lệ khung hình mẫu

dar tỷ lệ khung hình hiển thị

Các ví dụ

· Phóng to lên đến 1.5 và xoay cùng lúc đến một số điểm gần tâm ảnh:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360

· Phóng to lên đến 1.5 và xoay luôn ở giữa hình ảnh:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'

Thêm bài này vào danh sách Video của bạn Download bài này NGUỒN

Dưới đây là mô tả về các nguồn video hiện có.

đệm Đệm khung video và cung cấp chúng cho chuỗi bộ lọc.

Nguồn này chủ yếu dành cho mục đích sử dụng có lập trình, cụ thể là thông qua giao diện được định nghĩa trong

libavfilter / vsrc_buffer.h

.

Nó chấp nhận các tham số sau:

kích thước video Chỉ định kích thước (chiều rộng và chiều cao) của các khung video được lưu vào bộ đệm. Đối với cú pháp của tùy chọn này, hãy kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu.

chiều rộng Chiều rộng video đầu vào.

cao Chiều cao video đầu vào.

pix_fmt Một chuỗi đại diện cho định dạng pixel của các khung video được lưu vào bộ đệm. Nó có thể là một số tương ứng với định dạng pixel hoặc tên định dạng pixel.

cơ sở thời gian Chỉ định cơ sở thời gian được giả định bởi dấu thời gian của các khung được lưu trong bộ đệm.

tỷ lệ khung hình Chỉ định tốc độ khung hình dự kiến ​​cho luồng video.

pixel_aspect, sar Tỷ lệ khung hình (pixel) mẫu của video đầu vào.

sws_param Chỉ định các thông số tùy chọn sẽ được sử dụng cho bộ lọc tỷ lệ tự động được chèn khi phát hiện thay đổi đầu vào trong kích thước hoặc định dạng đầu vào.

Ví dụ:

buffer=width=320:height=240:pix_fmt=yuv410p:time_base=1/24:sar=1

sẽ hướng dẫn nguồn chấp nhận khung video có kích thước 320x240 và với định dạng "yuv410p", giả sử 1/24 là cơ sở thời gian của dấu thời gian và pixel vuông (khía cạnh mẫu 1: 1 tỉ lệ). Vì định dạng pixel có tên "yuv410p" tương ứng với số 6 (hãy kiểm tra enum AVPixelFormat định nghĩa trong

libavutil / pixfmt.h

), ví dụ này tương ứng với:

buffer=size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1

Ngoài ra, các tùy chọn có thể được chỉ định dưới dạng một chuỗi phẳng, nhưng cú pháp này là không dùng nữa:

chiều rộng

:

cao

:

pix_fmt

:

time_base.num

:

time_base.den

:

pixel_aspect.num

:

pixel_aspect.den

[:

sws_param

]

ô tô Tạo một mẫu được tạo bởi một tự động hóa di động cơ bản.

Trạng thái ban đầu của tự động di động có thể được xác định thông qua tên tập tinvà Belt Hold tùy chọn. Nếu các tùy chọn như vậy không được chỉ định, trạng thái ban đầu sẽ được tạo ngẫu nhiên.

Tại mỗi khung hình mới, một hàng mới trong video chứa đầy kết quả của ô Automaton thế hệ tiếp theo. Hành vi khi toàn bộ khung được lấp đầy được xác định bởi di chuyển tùy chọn.

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

tên tệp, f Đọc trạng thái tự động di động ban đầu, tức là hàng bắt đầu, từ tập tin. Trong tệp, mỗi ký tự không có khoảng trắng được coi là một ô còn sống, dòng mới sẽ kết thúc hàng và các ký tự khác trong tệp sẽ bị bỏ qua.

mẫu, p Đọc trạng thái tự động di động ban đầu, tức là hàng bắt đầu, từ chuỗi.

Mỗi ký tự không có khoảng trắng trong chuỗi được coi là một ô còn sống, một dòng mới sẽ kết thúc hàng và các ký tự khác trong chuỗi sẽ bị bỏ qua.

tỷ lệ, r Đặt tốc độ video, đó là số khung hình được tạo ra mỗi giây. Mặc định là 25.

Random_fill_ratio, tỉ lệ Đặt tỷ lệ lấp đầy ngẫu nhiên cho hàng ô tô tự động ban đầu. Nó là một nổi giá trị số điểm nằm trong khoảng từ 0 đến 1, mặc định là 1 / PHI.

Tùy chọn này bị bỏ qua khi một tệp hoặc một mẫu được chỉ định.

hạt giống ngẫu nhiên, hạt giống Đặt hạt giống để điền ngẫu nhiên vào hàng đầu tiên, phải là một số nguyên được bao gồm giữa 0 và UINT32_MAX. Nếu không được chỉ định hoặc nếu được đặt rõ ràng thành -1, bộ lọc sẽ cố gắng sử dụng một hạt giống ngẫu nhiên tốt trên cơ sở nỗ lực tốt nhất.

loại trừ Đặt quy tắc tự động hóa di động, nó là một số nằm trong khoảng từ 0 đến 255. Giá trị mặc định là 110.

kích thước, s Đặt kích thước của video đầu ra. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu.

If tên tập tin or Belt Hold được chỉ định, kích thước được đặt theo mặc định thành chiều rộng của hàng trạng thái ban đầu được chỉ định và chiều cao được đặt thành

chiều rộng

*PHI.

If kích thước được đặt, nó phải chứa chiều rộng của chuỗi mẫu được chỉ định và mẫu được chỉ định sẽ được căn giữa trong hàng lớn hơn.

Nếu tên tệp hoặc chuỗi mẫu không được chỉ định, giá trị kích thước mặc định là "320x518" (được sử dụng cho trạng thái ban đầu được tạo ngẫu nhiên).

di chuyển Nếu được đặt thành 1, hãy cuộn đầu ra lên trên khi tất cả các hàng trong đầu ra đã đã được lấp đầy. Nếu được đặt thành 0, hàng được tạo mới sẽ được viết trên hàng trên cùng ngay sau khi hàng dưới cùng được điền. Mặc định là 1.

bắt đầu_đầy đủ, Full Nếu được đặt thành 1, hãy lấp đầy hoàn toàn đầu ra với các hàng đã tạo trước khi xuất khung đầu tiên. Đây là hành vi mặc định, để vô hiệu hóa, hãy đặt giá trị thành 0.

Khâu Nếu được đặt thành 1, hãy khâu các mép hàng bên trái và bên phải lại với nhau. Đây là mặc định hành vi, để tắt, hãy đặt giá trị thành 0.

Các ví dụ

· Đọc trạng thái ban đầu từ

Belt Hold

và chỉ định đầu ra có kích thước 200x400.

cellauto = f = pattern: s = 200x400

· Tạo một hàng ban đầu ngẫu nhiên có chiều rộng 200 ô, với tỷ lệ lấp đầy là 2/3:

cellauto = ratio = 2/3: s = 200x200

· Tạo một mẫu được tạo bởi quy tắc 18 bắt đầu bởi một ô còn sống duy nhất ở giữa hàng đầu tiên có chiều rộng 100:

cellauto = p = @ s = 100x400: full = 0: rule = 18

· Chỉ định một mẫu ban đầu phức tạp hơn:

cellauto = p = '@@ @ @@': s = 100x400: full = 0: rule = 18

mandelbrot Tạo phân dạng bộ Mandelbrot và thu phóng dần dần về điểm được chỉ định với

bắt đầu_x

bắt đầu_y

.

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

end_pts Đặt giá trị pts đầu cuối. Giá trị mặc định là 400.

end_scale Đặt giá trị tỷ lệ đầu cuối. Phải là một giá trị dấu phẩy động. Giá trị mặc định là 0.3.

bên trong Đặt chế độ tô màu bên trong, đó là thuật toán được sử dụng để vẽ Fractal Mandelbrot khu vực nội bộ.

Nó sẽ giả định một trong các giá trị sau:

đen Đặt chế độ màu đen.

hội tụ Hiển thị thời gian cho đến khi hội tụ.

mincol Đặt màu dựa trên điểm gần nhất với điểm gốc của các lần lặp lại.

thời gian Đặt chế độ khoảng thời gian.

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

mincol

.

cứu trợ tài chính Đặt giá trị gói cứu trợ. Giá trị mặc định là 10.0.

tối đa Đặt số lần lặp lại tối đa được thực hiện bởi thuật toán kết xuất. Giá trị mặc định là 7189.

bên ngoài Đặt chế độ tô màu bên ngoài. Nó sẽ giả định một trong các giá trị sau:

lần lặp_count Đặt chế độ lặp đi lặp lại.

normalized_iteration_count đặt chế độ đếm số lần lặp chuẩn hóa.

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

normalized_iteration_count

.

tỷ lệ, r Đặt tốc độ khung hình, được biểu thị bằng số khung hình trên giây. Giá trị mặc định là "25".

kích thước, s Đặt kích thước khung. Để biết cú pháp của tùy chọn này, hãy kiểm tra phần "Kích thước video" trong hướng dẫn sử dụng ffmpeg-utils. Giá trị mặc định là "640x480".

quy mô bắt đầu Đặt giá trị tỷ lệ ban đầu. Giá trị mặc định là 3.0.

bắt đầu_x Đặt vị trí x ban đầu. Phải là giá trị dấu phẩy động từ -100 đến 100. Giá trị mặc định là -0.743643887037158704752191506114774.

bắt đầu_y Đặt vị trí y ban đầu. Phải là giá trị dấu phẩy động từ -100 đến 100. Giá trị mặc định là -0.131825904205311970493132056385139.

mptestsrc Tạo các mẫu thử nghiệm khác nhau, như được tạo bởi bộ lọc thử nghiệm MPlayer.

Kích thước của video được tạo là cố định và là 256x256. Nguồn này hữu ích trong đặc biệt để thử nghiệm các tính năng mã hóa.

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

tỷ lệ, r Chỉ định tốc độ khung hình của video có nguồn gốc, như số lượng khung hình được tạo cho mỗi thứ hai. Nó phải là một chuỗi ở định dạng

frame_rate_num

/

frame_rate_den

, một số nguyên số, số dấu phẩy động hoặc từ viết tắt tốc độ khung hình video hợp lệ. Mặc định giá trị là "25".

thời hạn, d Đặt thời lượng của video có nguồn gốc. Nhìn thấy các Thời gian thời gian phần in các

ffmpeg-utils

(1) nhãn hiệu cho cú pháp được chấp nhận.

Nếu không được chỉ định hoặc thời lượng thể hiện là âm, video sẽ được được tạo ra mãi mãi.

thử nghiệm, t Đặt số hoặc tên của bài kiểm tra để thực hiện. Các bài kiểm tra được hỗ trợ là:

dc_luma dc_chroma tần số_luma tần số_sắc độ amp_luma amp_chroma cbp mv nhẫn1 nhẫn2 tất cả các

Giá trị mặc định là "tất cả", sẽ xoay vòng qua danh sách tất cả các bài kiểm tra.

Vài ví dụ:

mptestsrc = t = dc_luma

sẽ tạo ra một mẫu thử nghiệm "dc_luma".

frei0r_src Cung cấp nguồn frei0r.

Để kích hoạt biên dịch bộ lọc này, bạn cần cài đặt tiêu đề frei0r và cấu hình FFmpeg với "--enable-frei0r".

Nguồn này chấp nhận các tham số sau:

kích thước Kích thước của video để tạo. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu.

Framerate Tốc độ khung hình của video đã tạo. Nó có thể là một chuỗi có dạng

num

/

ngày

hoặc một viết tắt tốc độ khung hình.

tên bộ lọc Tên của nguồn frei0r để tải. Để biết thêm thông tin về frei0r và cách thức để thiết lập các tham số, hãy đọc miễn phí trong tài liệu về bộ lọc video.

filter_params Danh sách các tham số được phân tách bằng '|' để chuyển đến nguồn frei0r.

Ví dụ: để tạo nguồn frei0r partik0l với kích thước 200x200 và tốc độ khung hình 10 được phủ trên đầu vào chính của bộ lọc lớp phủ:

frei0r_src = size = 200x200: framerate = 10: filter_name = partik0l: filter_params = 1234 [overlay]; [in] [overlay] lớp phủ

đời sống Tạo ra một kiểu sống.

Nguồn này dựa trên bản tổng hợp về trò chơi cuộc đời của John Conway.

Đầu vào có nguồn gốc đại diện cho một lưới sự sống, mỗi pixel đại diện cho một ô có thể nằm trong một của hai trạng thái có thể, sống hoặc chết. Mỗi ô tương tác với tám hàng xóm của nó, là các ô nằm liền kề theo chiều ngang, chiều dọc hoặc đường chéo.

Tại mỗi lần tương tác, lưới sẽ phát triển theo quy tắc được thông qua, quy tắc này chỉ định số lượng tế bào còn sống hàng xóm sẽ làm cho một tế bào sống hoặc được sinh ra. Các loại trừ tùy chọn cho phép một người chỉ định quy tắc để áp dụng.

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

tên tệp, f Đặt tệp để đọc trạng thái lưới ban đầu. Trong tệp, mỗi ký tự khoảng trắng được coi là một ô còn sống và dòng mới được sử dụng để phân tách cuối mỗi hàng.

Nếu tùy chọn này không được chỉ định, lưới ban đầu được tạo ngẫu nhiên.

tỷ lệ, r Đặt tốc độ video, đó là số khung hình được tạo ra mỗi giây. Mặc định là 25.

Random_fill_ratio, tỉ lệ Đặt tỷ lệ lấp đầy ngẫu nhiên cho lưới ngẫu nhiên ban đầu. Nó là một số dấu phẩy động giá trị từ 0 đến 1, mặc định là 1 / PHI. Nó bị bỏ qua khi một tệp được chỉ định.

hạt giống ngẫu nhiên, hạt giống Đặt hạt giống để lấp đầy lưới ngẫu nhiên ban đầu, phải là một số nguyên được bao gồm giữa 0 và UINT32_MAX. Nếu không được chỉ định hoặc nếu được đặt rõ ràng thành -1, bộ lọc sẽ cố gắng sử dụng một hạt giống ngẫu nhiên tốt trên cơ sở nỗ lực tốt nhất.

loại trừ Đặt ra quy tắc sống.

Quy tắc có thể được chỉ định bằng mã loại "S

NS

/B

NB

", ở đâu

NS

NB

đang dãy số trong phạm vi 0-8,

NS

chỉ định số lượng ô hàng xóm còn sống làm cho một tế bào sống vẫn tồn tại, và

NB

số lượng các tế bào hàng xóm còn sống làm cho một tế bào chết để trở nên sống (tức là để "sinh ra"). "s" và "b" có thể được sử dụng tại chỗ của "S" và "B", tương ứng.

Ngoài ra, một quy tắc có thể được chỉ định bởi một số nguyên 18 bit. 9 bit bậc cao là được sử dụng để mã hóa trạng thái ô tiếp theo nếu nó còn sống đối với mỗi số hàng xóm còn sống ô, các bit thứ tự thấp chỉ định quy tắc cho các ô mới "borning". Bit thứ tự cao hơn mã hóa cho số lượng ô lân cận cao hơn. Ví dụ số 6153 = "(12 << 9) +9" chỉ định quy tắc duy trì tồn tại là 12 và quy tắc sinh ra là 9, tương ứng với thành "S23 / B03".

Giá trị mặc định là "S23 / B3", đây là quy tắc sống ban đầu của Conway và sẽ giữ cho một ô sống nếu nó có 2 hoặc 3 ô hàng xóm còn sống và sẽ sinh ra một ô mới nếu có ba tế bào sống xung quanh một tế bào chết.

kích thước, s Đặt kích thước của video đầu ra. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu.

If tên tập tin được chỉ định, kích thước được đặt theo mặc định thành cùng kích thước của đầu vào tập tin. Nếu như kích thước được đặt, nó phải chứa kích thước được chỉ định trong tệp đầu vào và lưới ban đầu được xác định trong tệp đó được căn giữa trong vùng kết quả lớn hơn.

Nếu tên tệp không được chỉ định, giá trị kích thước mặc định là "320x240" (được sử dụng cho lưới ban đầu được tạo ngẫu nhiên).

Khâu Nếu được đặt thành 1, hãy ghép các cạnh lưới bên trái và bên phải với nhau, và phần trên và dưới các cạnh cũng có. Mặc định là 1.

khuôn Đặt tốc độ khuôn ô. Nếu được thiết lập, một tế bào chết sẽ đi từ màu chết đến khuôn_màu với một bước của khuôn. khuôn có thể có giá trị từ 0 đến 255.

cuộc sống_màu sắc Đặt màu của các tế bào sống (hoặc mới sinh).

màu chết Đặt màu của tế bào chết. Nếu như khuôn được thiết lập, đây là màu đầu tiên được sử dụng để đại diện cho một tế bào chết.

khuôn_màu Đặt màu mốc, cho các tế bào chết và mốc chắc chắn.

Để biết cú pháp của 3 tùy chọn màu này, hãy kiểm tra phần "Màu" trong ffmpeg-utils hướng dẫn sử dụng.

Các ví dụ

· Đọc lưới từ

Belt Hold

và căn giữa nó trên một lưới có kích thước 300x300 pixel:

life = f = pattern: s = 300x300

· Tạo lưới ngẫu nhiên có kích thước 200x200, với tỷ lệ lấp đầy là 2/3:

life = ratio = 2/3: s = 200x200

· Chỉ định quy tắc tùy chỉnh để phát triển lưới được tạo ngẫu nhiên:

life = rule = S14 / B34

· Ví dụ đầy đủ với hiệu ứng chết chậm (nấm mốc) bằng cách sử dụng ffplay:

ffplay -f lavfi life=s=300x200:mold=10:r=60:ratio=0.1:death_color=

C83232:life_color=

00ff00,scale=1200:800:flags=16

tất cảrgb, sinh vật, màu sắc, haldclutsrc, nullsrc, rgbtestsrc, Smptebar, smptehdbar, kiểm tra Nguồn "allrgb" trả về các khung có kích thước 4096x4096 của tất cả các màu rgb.

Nguồn "allyuv" trả về các khung có kích thước 4096x4096 của tất cả các màu yuv.

Nguồn "màu" cung cấp đầu vào có màu đồng nhất.

Nguồn "haldclutsrc" cung cấp một Hald CLUT nhận dạng. Xem thêm cá sấu lọc.

Nguồn "nullsrc" trả về các khung video chưa được xử lý. Nó chủ yếu hữu ích khi được tuyển dụng trong các công cụ phân tích / gỡ lỗi hoặc là nguồn cho các bộ lọc bỏ qua dữ liệu đầu vào.

Nguồn "rgbtestsrc" tạo ra mẫu thử nghiệm RGB hữu ích để phát hiện RGB so với BGR vấn đề. Bạn sẽ thấy một sọc màu đỏ, xanh lục và xanh lam từ trên xuống dưới.

Nguồn "smptebars" tạo ra một mẫu thanh màu, dựa trên SMPTE Engineering Hướng dẫn EG 1-1990.

Nguồn "smptehdbars" tạo mẫu thanh màu, dựa trên SMPTE RP 219-2002.

Nguồn "testsrc" tạo ra một mẫu video thử nghiệm, hiển thị một kiểu màu, cuộn gradient và dấu thời gian. Điều này chủ yếu nhằm mục đích thử nghiệm.

Các nguồn chấp nhận các tham số sau:

màu sắc, c Chỉ định màu của nguồn, chỉ khả dụng trong nguồn "màu". Đối với cú pháp của tùy chọn này, hãy kiểm tra phần "Màu sắc" trong hướng dẫn sử dụng ffmpeg-utils.

cấp Chỉ định mức Hald CLUT, chỉ có sẵn trong nguồn "haldclutsrc". MỘT cấp độ "N" tạo ra hình ảnh "N * N * N" x "N * N * N" pixel để được sử dụng làm danh tính ma trận cho bảng tra cứu 3D. Mỗi thành phần được mã hóa theo thang điểm "1 / (N * N)".

kích thước, s Chỉ định kích thước của video có nguồn gốc. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu. Giá trị mặc định là "320x240".

Tùy chọn này không khả dụng với bộ lọc "haldclutsrc".

tỷ lệ, r Chỉ định tốc độ khung hình của video có nguồn gốc, như số lượng khung hình được tạo cho mỗi thứ hai. Nó phải là một chuỗi ở định dạng

frame_rate_num

/

frame_rate_den

, một số nguyên số, số dấu phẩy động hoặc từ viết tắt tốc độ khung hình video hợp lệ. Mặc định giá trị là "25".

sar Đặt tỷ lệ khung hình mẫu của video có nguồn gốc.

thời hạn, d Đặt thời lượng của video có nguồn gốc. Nhìn thấy các Thời gian thời gian phần in các

ffmpeg-utils

(1) nhãn hiệu cho cú pháp được chấp nhận.

Nếu không được chỉ định hoặc thời lượng thể hiện là âm, video sẽ được được tạo ra mãi mãi.

số thập phân, n Đặt số thập phân để hiển thị trong dấu thời gian, chỉ khả dụng trong "testsrc" nguồn.

Giá trị dấu thời gian được hiển thị sẽ tương ứng với giá trị dấu thời gian ban đầu nhân với lũy thừa của 10 của giá trị được chỉ định. Giá trị mặc định là 0.

Ví dụ như sau:

testsrc = thời lượng = 5.3: size = qcif: rate = 10

sẽ tạo video có thời lượng 5.3 giây, với kích thước 176x144 và tốc độ khung hình 10 khung hình / giây.

Mô tả biểu đồ sau sẽ tạo ra một nguồn màu đỏ có độ mờ là 0.2, với kích thước "qcif" và tốc độ khung hình 10 khung hình / giây.

màu = c =: s = qcif: r = 10

Nếu nội dung đầu vào bị bỏ qua, "nullsrc" có thể được sử dụng. Lệnh sau tạo ra tiếng ồn trong mặt phẳng độ chói bằng cách sử dụng bộ lọc "geq":

nullsrc = s = 256x256, geq =ngẫu nhiên(1) * 255: 128: 128

Lệnh

Nguồn "màu" hỗ trợ các lệnh sau:

c, màu sắc Đặt màu của hình ảnh đã tạo. Chấp nhận cùng một cú pháp của từ khóa tương ứng màu sắc tùy chọn.

Thêm bài này vào danh sách Video của bạn Download bài này CHÌM

Dưới đây là mô tả về các ổ chìm video hiện có.

liên kết đệm Đệm khung video và cung cấp chúng ở cuối biểu đồ bộ lọc.

Chậu rửa này chủ yếu được thiết kế để sử dụng theo chương trình, đặc biệt là thông qua giao diện được định nghĩa trong

libavfilter / buffersink.h

hoặc hệ thống tùy chọn.

Nó chấp nhận một con trỏ đến cấu trúc AVBufferSinkContext, cấu trúc này xác định định dạng bộ đệm, sẽ được chuyển dưới dạng tham số không rõ ràng cho "avfilter_init_filter" cho khởi tạo.

bồn rửa rỗng Video chìm: hoàn toàn không làm gì với video đầu vào. Nó chủ yếu hữu ích như một mẫu và để sử dụng trong các công cụ phân tích / gỡ lỗi.

MULTIMEDIA LỌC

Dưới đây là mô tả về các bộ lọc đa phương tiện hiện có.

máy đo aphasemeter Chuyển đổi âm thanh đầu vào thành đầu ra video, hiển thị giai đoạn âm thanh.

Bộ lọc chấp nhận các tùy chọn sau:

tỷ lệ, r Đặt tốc độ khung hình đầu ra. Giá trị mặc định là 25.

kích thước, s Đặt kích thước video cho đầu ra. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu. Giá trị mặc định là "800x400".

rc gc bc Chỉ định độ tương phản màu đỏ, xanh lá cây, xanh lam. Giá trị mặc định là 2, 7 và 1. Phạm vi được phép là "[0, 255]".

mpc Đặt màu sẽ được sử dụng để vẽ pha trung bình. Nếu màu là "không" thì đó là mặc định, không có giá trị pha trung bình nào sẽ được vẽ.

Bộ lọc cũng xuất siêu dữ liệu khung "lavfi.aphasemeter.phase" đại diện cho giá trị trung bình pha của khung âm thanh hiện tại. Giá trị nằm trong phạm vi "[-1, 1]". "-1" có nghĩa là trái và phải các kênh hoàn toàn lệch pha và 1 có nghĩa là các kênh ở trong pha.

kính báo thù Chuyển đổi âm thanh đầu vào thành đầu ra video, đại diện cho phạm vi vectơ âm thanh.

Bộ lọc được sử dụng để đo sự khác biệt giữa các kênh của luồng âm thanh nổi. MỘT tín hiệu đơn kênh, bao gồm tín hiệu trái và phải giống hệt nhau, dẫn đến đường thẳng đứng. Mọi sự phân tách âm thanh nổi có thể nhìn thấy dưới dạng độ lệch so với đường này, tạo ra Hình dáng tuyệt vời. Nếu đường thẳng (hoặc lệch khỏi nó) nhưng đường nằm ngang sẽ xuất hiện chỉ ra rằng các kênh bên trái và bên phải bị lệch pha.

Bộ lọc chấp nhận các tùy chọn sau:

chế độ, m Đặt chế độ vectorscope.

Các giá trị có sẵn là:

lissajous Lissajous xoay 45 độ.

lissajous_xy Tương tự như trên nhưng không được xoay.

cực Hình dạng giống nửa hình tròn.

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

kích thước, s Đặt kích thước video cho đầu ra. Để biết cú pháp của tùy chọn này, hãy kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu. Giá trị mặc định là "400x400".

tỷ lệ, r Đặt tốc độ khung hình đầu ra. Giá trị mặc định là 25.

rc gc bc ac Chỉ định độ tương phản màu đỏ, xanh lá cây, xanh lam và alpha. Giá trị mặc định là 40, 160, 80 và 255. Phạm vi được phép là "[0, 255]".

rf gf bf af Chỉ định màu đỏ, xanh lá cây, xanh lam và mờ dần alpha. Giá trị mặc định là 15, 10, 5 và 5. Phạm vi được phép là "[0, 255]".

thu phóng Đặt hệ số thu phóng. Giá trị mặc định là 1. Phạm vi được phép là "[1, 10]".

Các ví dụ

· Hoàn thành ví dụ bằng cách sử dụng ffplay:

ffplay -f lavfi 'amovie = input.mp3, asplit [a] [out1]; [a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]'

concat Nối các luồng âm thanh và video, nối chúng với nhau lần lượt.

Bộ lọc hoạt động trên các phân đoạn của luồng âm thanh và video được đồng bộ hóa. Tất cả các phân đoạn phải có cùng số luồng của mỗi loại và đó cũng sẽ là số luồng ở đầu ra.

Bộ lọc chấp nhận các tùy chọn sau:

n Đặt số lượng phân đoạn. Mặc định là 2.

v Đặt số lượng luồng video đầu ra, đó cũng là số lượng luồng video trong từng đoạn. Mặc định là 1.

a Đặt số lượng luồng âm thanh đầu ra, đó cũng là số luồng âm thanh trong từng đoạn. Mặc định là 0.

không an toàn Kích hoạt chế độ không an toàn: không thất bại nếu các phân đoạn có định dạng khác.

Bộ lọc có

v

+

a

kết quả đầu ra: đầu tiên

v

đầu ra video, sau đó

a

đầu ra âm thanh.

n

x(

v

+

a

) đầu vào: đầu tiên là đầu vào cho phân đoạn đầu tiên, theo thứ tự như đầu ra, sau đó là đầu vào cho phân đoạn thứ hai, v.v.

Các luồng liên quan không phải lúc nào cũng có cùng thời lượng, vì nhiều lý do bao gồm kích thước khung codec hoặc tác giả cẩu thả. Vì lý do đó, đồng bộ hóa liên quan luồng (ví dụ: video và bản âm thanh của nó) nên được nối cùng một lúc. The concat bộ lọc sẽ sử dụng thời lượng của luồng dài nhất trong mỗi phân đoạn (ngoại trừ phân đoạn cuối cùng), và nếu cần, đệm các luồng âm thanh ngắn hơn với khoảng lặng.

Để bộ lọc này hoạt động chính xác, tất cả các phân đoạn phải bắt đầu ở dấu thời gian 0.

Tất cả các luồng tương ứng phải có cùng tham số trong tất cả các phân đoạn; sự lọc hệ thống sẽ tự động chọn một định dạng pixel chung cho các luồng video và một định dạng mẫu, tốc độ mẫu và bố cục kênh cho luồng âm thanh, nhưng các cài đặt khác, chẳng hạn như là độ phân giải, phải được chuyển đổi rõ ràng bởi người dùng.

Tốc độ khung hình khác nhau có thể chấp nhận được nhưng sẽ dẫn đến tốc độ khung hình thay đổi ở đầu ra; thì là ở đảm bảo cấu hình tệp đầu ra để xử lý nó.

Các ví dụ

· Kết hợp một phần mở đầu, một tập phim và một phần kết thúc, tất cả đều bằng phiên bản song ngữ (video trong luồng 0, âm thanh trong luồng 1 và 2):

ffmpeg -i opens.mkv -i episode.mkv -i ending.mkv -filter_complex \ '[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2] concat = n = 3: v = 1: a = 2 [v] [a1] [a2] '\ -map '[v]' -map '[a1]' -map '[a2]' output.mkv

· Kết hợp hai phần, xử lý âm thanh và video riêng biệt, sử dụng (a) phim nguồn và điều chỉnh độ phân giải:

phim = part1.mp4, scale = 512: 288 [v1]; amovie = part1.mp4 [a1]; phim = part2.mp4, scale = 512: 288 [v2]; amovie = part2.mp4 [a2]; [v1] [v2] concat [outv]; [a1] [a2] concat = v = 0: a = 1 [outa]

Lưu ý rằng quá trình khử đồng bộ sẽ xảy ra ở khâu nếu luồng âm thanh và video không có cùng thời lượng trong tệp đầu tiên.

ebur128 Bộ lọc máy quét EBU R128. Bộ lọc này lấy một luồng âm thanh làm đầu vào và đầu ra nó không thay đổi. Theo mặc định, nó ghi lại một tin nhắn ở tần số 10Hz với Mo moment độ ồn (được xác định bằng "M"), Độ ồn ngắn hạn ("S"), Độ ồn tích hợp ("I") và Phạm vi độ ồn ("LRA").

Bộ lọc cũng có đầu ra video (xem

video

tùy chọn) với biểu đồ thời gian thực để quan sát sự phát triển của âm lượng. Hình ảnh chứa thông báo đã ghi được đề cập ở trên, vì vậy nó không được in nữa khi tùy chọn này được đặt, trừ khi thiết lập ghi nhật ký chi tiết. Vùng vẽ đồ thị chính chứa độ ồn ngắn hạn (3 giây phân tích) và thước đo ở bên phải dành cho âm lượng nhất thời (400 mili giây).

Thông tin thêm về Khuyến nghị độ ồn EBU R128 trên <//tech.ebu.ch/loudness>.

Bộ lọc chấp nhận các tùy chọn sau:

video Kích hoạt đầu ra video. Luồng âm thanh được truyền không thay đổi cho dù tùy chọn này là đặt hoặc không. Luồng video sẽ là luồng đầu ra đầu tiên nếu được kích hoạt. Mặc định là 0.

kích thước Đặt kích thước video. Tùy chọn này chỉ dành cho video. Đối với cú pháp của tùy chọn này, kiểm tra "Băng hình kích thước" phần in các ffmpeg-utils nhãn hiệu. Mặc định và tối thiểu độ phân giải là "640x480".

mét Đặt thang đo EBU. Mặc định là 9. Giá trị chung là 9 và 18, tương ứng cho Thang đo EBU +9 và thang đo EBU +18. Bất kỳ giá trị số nguyên nào khác giữa phạm vi này được cho phép.

siêu dữ liệu Đặt chèn siêu dữ liệu. Nếu được đặt thành 1, đầu vào âm thanh sẽ được phân đoạn thành 100ms khung đầu ra, mỗi khung chứa thông tin về độ lớn khác nhau trong siêu dữ liệu. Tất cả các khóa siêu dữ liệu có tiền tố là "lavfi.r128.".

Mặc định là 0.

nhật ký khung Buộc mức ghi nhật ký khung.

Các giá trị có sẵn là:

Thông tin cấp độ ghi thông tin

dài dòng mức độ ghi nhật ký chi tiết

Theo mặc định, cấp độ ghi nhật ký được đặt thành

Thông tin

. Nếu video hoặc là siêu dữ liệu lựa chọn là thiết lập, nó chuyển sang

dài dòng

.

đỉnh Đặt (các) chế độ cao điểm.

Các chế độ khả dụng có thể được tích lũy (tùy chọn là loại "cờ"). Giá trị có thể là:

không ai Tắt mọi chế độ cao điểm (mặc định).

mẫu Bật chế độ đỉnh mẫu.

Chế độ đỉnh đơn giản tìm kiếm giá trị mẫu cao hơn. Nó ghi lại một tin nhắn cho đỉnh mẫu (được xác định bởi "SPK").

đúng Bật chế độ đỉnh thực.

Nếu được bật, tra cứu đỉnh được thực hiện trên phiên bản lấy mẫu quá mức của luồng đầu vào để có độ chính xác cao nhất. Nó ghi lại một tin nhắn cho true-peak. (được xác định bởi "TPK") và true-peak trên mỗi khung hình (được xác định bởi "FTPK"). Chế độ này yêu cầu xây dựng với "libswresample".

Các ví dụ

· Biểu đồ thời gian thực sử dụng ffplay, với thước đo tỷ lệ EBU +18:

ffplay -f lavfi -i "amovie = input.mp3, ebur128 = video = 1: meter = 18 [out0] [out1]"

· Chạy một phân tích với ffmpeg:

ffmpeg -nostats -i input.mp3 -filter_complex ebur128 -f null -

xen kẽ, xen kẽ Tạm thời xen kẽ các khung hình từ một số đầu vào.

"interleave" hoạt động với đầu vào video, "ainterleave" với âm thanh.

Các bộ lọc này đọc các khung từ một số đầu vào và gửi khung được xếp hàng cũ nhất đến đầu ra.

Các luồng đầu vào phải có giá trị dấu thời gian khung tăng dần, được xác định rõ ràng.

Để gửi một khung cho đầu ra, các bộ lọc này cần phải xếp hàng trước ít nhất một khung cho mỗi đầu vào, vì vậy chúng không thể hoạt động trong trường hợp một đầu vào chưa kết thúc và sẽ không nhận các khung hình đến.

Ví dụ: hãy xem xét trường hợp khi một đầu vào là bộ lọc "chọn" luôn bỏ đầu vào khung. Bộ lọc "xen kẽ" sẽ tiếp tục đọc từ đầu vào đó, nhưng nó sẽ không bao giờ có thể gửi các khung hình mới đến đầu ra cho đến khi đầu vào sẽ gửi tín hiệu kết thúc luồng.

Ngoài ra, tùy thuộc vào đồng bộ hóa đầu vào, các bộ lọc sẽ giảm khung hình trong trường hợp một đầu vào nhận được nhiều khung hơn những khung khác và hàng đợi đã được lấp đầy.

Các bộ lọc này chấp nhận các tùy chọn sau:

nb_input, n Đặt số lượng đầu vào khác nhau, theo mặc định là 2.

Các ví dụ

· Các khung xen kẽ thuộc các luồng khác nhau bằng cách sử dụng ffmpeg:

ffmpeg -i bambi.avi -i pr0n.mkv -filter_complex "[0: v] [1: v] interleave" out.avi

· Thêm hiệu ứng mờ nhấp nháy:

select = 'if (gt (ngẫu nhiên(0), 0.2), 1, 2) ': n = 2 [tmp], boxblur = 2: 2, [tmp] interleave

uốn, lá rụng Đặt quyền đọc / ghi cho các khung đầu ra.

Các bộ lọc này chủ yếu nhằm vào các nhà phát triển để kiểm tra đường dẫn trực tiếp trong bộ lọc sau trong đồ thị bộ lọc.

Các bộ lọc chấp nhận các tùy chọn sau:

chế độ Chọn chế độ quyền.

Nó chấp nhận các giá trị sau:

không ai Không làm gì cả. Đây là mặc định.

ro Đặt tất cả các khung đầu ra ở chế độ chỉ đọc.

rw Đặt tất cả các khung đầu ra có thể ghi trực tiếp.

bật lên Đặt khung ở chế độ chỉ đọc nếu có thể ghi và có thể ghi nếu chỉ đọc.

ngẫu nhiên Đặt ngẫu nhiên mỗi khung đầu ra ở chế độ chỉ đọc hoặc có thể ghi.

hạt giống Đặt hạt giống cho

ngẫu nhiên

, phải là một số nguyên bao gồm từ 0 đến "UINT32_MAX". Nếu không được chỉ định hoặc nếu được đặt rõ ràng thành "-1", bộ lọc sẽ cố gắng sử dụng một hạt giống ngẫu nhiên tốt trên cơ sở nỗ lực tốt nhất.

Lưu ý: trong trường hợp bộ lọc được chèn tự động giữa bộ lọc quyền và bộ lọc sau, quyền có thể không được nhận như mong đợi trong bộ lọc sau đó. Chèn một định dạng or định dạng bộ lọc trước bộ lọc perms / aperms có thể tránh được sự cố này.

lựa chọn, chọn Chọn khung để chuyển vào đầu ra.

Bộ lọc này chấp nhận các tùy chọn sau:

kinh nghiệm, e Đặt biểu thức, được đánh giá cho mỗi khung đầu vào.

Nếu biểu thức được đánh giá bằng XNUMX, khung sẽ bị loại bỏ.

Nếu kết quả đánh giá là âm tính hoặc NaN, khung được gửi đến đầu ra đầu tiên; nếu không nó được gửi đến đầu ra với chỉ mục "ceil (val) -1", giả sử rằng đầu vào chỉ mục bắt đầu từ 0.

Ví dụ: giá trị 1.2 tương ứng với đầu ra có chỉ số "ceil (1.2) -1 = 2-1 = 1 ”, đó là đầu ra thứ hai.

đầu ra, n Đặt số lượng đầu ra. Đầu ra để gửi khung đã chọn dựa trên kết quả của việc đánh giá. Giá trị mặc định là 1.

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

n Số (tuần tự) của khung được lọc, bắt đầu từ 0.

select_n Số (tuần tự) của khung đã chọn, bắt đầu từ 0.

trước_selected_n Số thứ tự của khung được chọn cuối cùng. Đó là NAN nếu không xác định.

TB Cơ sở thời gian của dấu thời gian đầu vào.

Điểm PTS (Presentation TimeStamp) của khung video đã lọc, được biểu thị bằng

TB

các đơn vị. Đó là NAN nếu không xác định.

t PTS của khung video đã lọc, tính bằng giây. Đó là NAN nếu không xác định.

pres_pts PTS của khung video đã lọc trước đó. Đó là NAN nếu không xác định.

trước_selected_pts PTS của khung video được lọc trước đó cuối cùng. Đó là NAN nếu không xác định.

trước_selected_t PTS của khung video cuối cùng được chọn trước đó. Đó là NAN nếu không xác định.

điểm bắt đầu PTS của khung video đầu tiên trong video. Đó là NAN nếu không xác định.

bắt đầu_t Thời gian của khung video đầu tiên trong video. Đó là NAN nếu không xác định.

kiểu_tình_hình

(video chỉ)

Loại khung được lọc. Nó có thể giả định một trong các giá trị sau:

I P B S SI SP BI xen kẽ_type

(video chỉ)

Loại xen kẽ khung. Nó có thể giả định một trong các giá trị sau:

TIẾN ĐỘ Khung là lũy tiến (không xen kẽ).

ĐẦU TIÊN Khung là trường đầu tiên.

CẢ HAI Khung là trường dưới cùng đầu tiên.

Consumer_sample_n

(âm thanh chỉ)

số lượng mẫu đã chọn trước khung hiện tại

mẫu_n

(âm thanh chỉ)

số lượng mẫu trong khung hiện tại

tỷ lệ mẫu

(âm thanh chỉ)

tỷ lệ mẫu đầu vào

chính Đây là 1 nếu khung được lọc là khung chính, 0 nếu ngược lại.

gửi vị trí trong tệp của khung được lọc, -1 nếu thông tin không có sẵn (ví dụ: đối với video tổng hợp)

bối cảnh

(video chỉ)

giá trị từ 0 đến 1 để chỉ ra một cảnh mới; giá trị thấp phản ánh xác suất thấp đối với khung hiện tại để giới thiệu một cảnh mới, trong khi giá trị cao hơn có nghĩa là khung có nhiều khả năng là một (xem ví dụ bên dưới)

Giá trị mặc định của biểu thức chọn là "1".

Các ví dụ

· Chọn tất cả các khung hình trong đầu vào:

chọn

Ví dụ trên giống như:

chọn = 1

· Bỏ qua tất cả các khung:

chọn = 0

· Chỉ chọn I-frame:

select = 'eq (picture_type \, I)'

· Chọn một khung hình cứ sau 100:

select = 'not (mod (n \, 100))'

· Chỉ chọn các khung có trong khoảng thời gian 10-20:

select = between (t \, 10 \, 20)

· Chỉ chọn I các khung có trong khoảng thời gian 10-20:

select = between (t \, 10 \, 20) * eq (picture_type \, I)

· Chọn khung có khoảng cách tối thiểu 10 giây:

select = 'isnan (pres_selected_t) + gte (t-prev_selected_t \, 10)'

· Sử dụng aselect để chỉ chọn các khung âm thanh có số mẫu> 100:

aselect = 'gt (samples_n \, 100)'

· Tạo một bức tranh khảm của những cảnh đầu tiên:

ffmpeg -i video.avi -vf select = 'gt (scene \, 0.4)', scale = 160: 120, tile -frames: v 1 preview.png

So sánh

bối cảnh

chống lại giá trị từ 0.3 đến 0.5 thường là một lựa chọn lành mạnh.

· Gửi các khung hình chẵn và lẻ đến các đầu ra riêng biệt và soạn chúng:

select = n = 2: e = 'mod (n, 2) +1' [lẻ] [chẵn]; [lẻ] pad = h = 2 * ih [tmp]; [tmp] [thậm chí] overlay = y = h

Chủ đề