Concat ffmpeg-python

Một số bộ lọc ffmpeg loại bỏ các luồng âm thanh và phải cẩn thận để bảo vệ âm thanh trong đầu ra cuối cùng. Toán tử

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
9 và
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
0 có thể được sử dụng để tham chiếu các phần âm thanh/video của luồng để chúng có thể được xử lý riêng biệt rồi kết hợp lại sau trong quy trình. Tình trạng khó xử này là nội tại đối với ffmpeg và ffmpeg-python cố gắng tránh xa trong khi người dùng có thể tham khảo tài liệu chính thức của ffmpeg về lý do tại sao một số bộ lọc nhất định làm giảm âm thanh

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
1 là viết tắt của
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
2

Ví dụ

Xử lý các phần âm thanh và video của luồng một cách độc lập

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']

bất động sản
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
3

Chọn phần video của luồng

Một số bộ lọc ffmpeg loại bỏ các luồng âm thanh và phải cẩn thận để bảo vệ âm thanh trong đầu ra cuối cùng. Toán tử

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
9 và
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
0 có thể được sử dụng để tham chiếu các phần âm thanh/video của luồng để chúng có thể được xử lý riêng biệt rồi kết hợp lại sau trong quy trình. Tình trạng khó xử này là nội tại đối với ffmpeg và ffmpeg-python cố gắng tránh xa trong khi người dùng có thể tham khảo tài liệu chính thức của ffmpeg về lý do tại sao một số bộ lọc nhất định làm giảm âm thanh

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
6 là viết tắt của
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
7

Ví dụ

Xử lý các phần âm thanh và video của luồng một cách độc lập

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
8 [ detail=False, filename=None, pipe=False, **kwargs ]
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
00 [ tên tệp, **kwargs ]

URL tệp đầu vào [tùy chọn ffmpeg

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01]

Bất kỳ kwarg nào được cung cấp đều được chuyển tới nguyên văn ffmpeg [e. g.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
02,
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
03,
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
04, v.v. ]

Để yêu cầu ffmpeg đọc từ stdin, hãy sử dụng

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
05 làm tên tệp

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
07 [ *luồng ]

Bao gồm tất cả các đầu ra đã cho trong một dòng lệnh ffmpeg

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
09 [ *streams_and_filename, **kwargs ]

URL tệp đầu ra

cú pháp

ffmpeg. đầu ra[stream1[, stream2, stream3…], tên tệp, **ffmpeg_args]

Mọi đối số từ khóa được cung cấp đều được chuyển tới nguyên văn ffmpeg [e. g.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
02,
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
03,
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
04,
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
13, v.v. ]. Một số đối số từ khóa được xử lý đặc biệt, như được hiển thị bên dưới

Thông số
  • video_bitrate – tham số cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    14, e. g.
    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    15

  • audio_bitrate – tham số cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    16, e. g.
    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    17

  • định dạng - bí danh cho tham số

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    18, e. g.
    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    19 [tương đương với
    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    03]

Nếu nhiều luồng được cung cấp, chúng sẽ được ánh xạ tới cùng một đầu ra

Để yêu cầu ffmpeg ghi vào thiết bị xuất chuẩn, hãy sử dụng

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
05 làm tên tệp

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
03 [ luồng ]

Ghi đè tệp đầu ra mà không cần hỏi [tùy chọn ffmpeg

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
04]

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
06 [ tên tệp, cmd='ffprobe', **kwargs ]

Chạy ffprobe trên tệp đã chỉ định và trả về biểu diễn JSON của đầu ra

tăng

– nếu ffprobe trả về mã thoát khác 0, thì mã được trả về với thông báo lỗi chung. Đầu ra stderr có thể được truy xuất bằng cách truy cập thuộc tính

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
08 của ngoại lệ

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
010 [ stream_spec, cmd='ffmpeg', overwrite_output=False ]

Xây dựng dòng lệnh để gọi ffmpeg

Hàm sử dụng hàm này để xây dựng các đối số dòng dấu phẩy và sẽ hoạt động trong hầu hết các trường hợp, nhưng việc gọi trực tiếp hàm này sẽ hữu ích cho việc gỡ lỗi hoặc nếu bạn cần gọi ffmpeg theo cách thủ công vì bất kỳ lý do gì

Điều này giống như cách gọi ngoại trừ việc nó cũng bao gồm lệnh

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
013 làm đối số đầu tiên

ngoại lệ
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
015 [ cmd, thiết bị xuất chuẩn, thiết bị xuất chuẩn ]

căn cứ.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
016

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
018 [ stream_spec, overwrite_output=False ]

Xây dựng các đối số dòng lệnh để được chuyển đến ffmpeg

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
150 [ stream_spec, cmd='ffmpeg', capture_stdout=False, capture_stderr=False, input=None, silence=False, overwrite_output=False ]

Gọi ffmpeg cho biểu đồ nút được cung cấp

Thông số
  • capture_stdout – nếu True, chụp thiết bị xuất chuẩn [được sử dụng với đầu ra ffmpeg

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    05]

  • capture_stderr – nếu Đúng, chụp stderr

  • yên tĩnh – viết tắt của cài đặt

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    152 và
    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    153

  • đầu vào - văn bản được gửi tới stdin [được sử dụng với đầu vào ffmpeg

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    05]

  • **kwargs – đối số từ khóa được chuyển đến

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    012 [e. g.
    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    156]

trả lại. [out, err] bộ dữ liệu chứa dữ liệu thiết bị xuất chuẩn và thiết bị xuất chuẩn

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
158 [ stream_spec, cmd='ffmpeg', pipe_stdin=False, pipe_stdout=False, pipe_stderr=False, silence=False, overwrite_output=False ]

Gọi ffmpeg không đồng bộ cho biểu đồ nút được cung cấp

Thông số
  • pipe_stdin – nếu Đúng, kết nối đường ống với quy trình con stdin [được sử dụng với đầu vào ffmpeg

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    05]

  • pipe_stdout - nếu Đúng, hãy kết nối đường ống với thiết bị xuất chuẩn của quy trình con [được sử dụng với đầu ra ffmpeg

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    05]

  • pipe_stderr - nếu True, kết nối đường ống với quy trình con stderr

  • yên tĩnh – viết tắt của cài đặt

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    152 và
    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    153

  • **kwargs – đối số từ khóa được chuyển đến

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    012 [e. g.
    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    156]

trả lại

Đối tượng đại diện cho tiến trình con

ví dụ

Chạy và truyền dữ liệu đầu vào

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
0

Chạy và chụp đầu ra

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
1

Xử lý video theo từng khung hình bằng cách sử dụng numpy

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
0

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
8 [ stream_spec, detail=False, filename=None, pipe=False, **kwargs ]
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
288 [ stream, *args, **kwargs ]

Đ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

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
300 [ *streams, **kwargs ]

Nối các luồng âm thanh và video, nối chúng lại với nhau

Bộ lọc hoạt động trên các phân đoạn của luồng video và âm thanh được đồng bộ hóa. Tất cả các phân đoạn phải có cùng số luồng của từng loại và đó cũng sẽ là số luồng ở đầu ra

Thông số

không an toàn – Kích hoạt chế độ không an toàn. không bị lỗi nếu các phân đoạn có định dạng khác

Các luồng liên quan không phải lúc nào cũng có thời lượng chính xác như nhau, 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 đó, các luồng đồng bộ có liên quan [e. g. một video và bản âm thanh của nó] phải được nối cùng một lúc. Bộ lọc concat 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ừ đoạn cuối cùng] và nếu cần, hãy đệm các luồng âm thanh ngắn hơn bằng chế độ im 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;

Tốc độ khung hình khác nhau được chấp nhận nhưng sẽ dẫn đến tốc độ khung hình thay đổi ở đầu ra;

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
302 [ luồng, x, y, chiều rộng, chiều cao, **kwargs ]

Cắt video đầu vào

Thông số
  • x – Vị trí nằm ngang, trong video đầu vào, của cạnh trái của video đầu ra

  • y – Vị trí thẳng đứng, trong video đầu vào, của cạnh trên cùng của video đầu ra

  • width – Chiều rộng của video đầu ra. Phải lớn hơn 0

  • heigth – Chiều cao của video đầu ra. Phải lớn hơn 0

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
304 [ luồng, x, y, chiều rộng, chiều cao, màu, độ dày=Không, **kwargs ]

Vẽ một hộp màu trên hình ảnh đầu vào

Thông số
  • x – Biểu thức xác định tọa độ x góc trên cùng bên trái của hộp. Nó mặc định là 0

  • y – Biểu thức xác định tọa độ y góc trên cùng bên trái của hộp. Nó mặc định là 0

  • chiều rộng – Chỉ định chiều rộng của hộp; . Nó mặc định là 0

  • heigth – Chỉ định chiều cao của hộp; . Nó mặc định là 0

  • color – Chỉ định màu của hộp để 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” trong hướng dẫn sử dụng ffmpeg-utils. Nếu sử dụng đảo ngược giá trị đặc biệt, màu cạnh hộp giống như video với độ sáng đảo ngược

  • độ dày – Biểu thức đặt độ dày của cạnh hộp. Giá trị mặc định là 3

  • w – Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    305

  • h – Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    306

  • c – Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    307

  • t – Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    308

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
90 [ stream, text=None, x=0, y=0, escape_text=True, **kwargs ]

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 thư viện libfreetype

Để cho phép biên dịch bộ lọc này, bạn cần định cấu hình FFmpeg với

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
91. Để bật dự phòng phông chữ mặc định và tùy chọn phông chữ, bạn cần định cấu hình FFmpeg với
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
92. Để bật tùy chọn text_shaping, bạn cần định cấu hình FFmpeg với
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
93

Thông số
  • hộp – Được sử dụng để vẽ một hộp xung quanh văn bản bằ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 hộp là 0

  • boxborderw – Đặt chiều rộng của đường viền sẽ được vẽ xung quanh hộp bằng cách sử dụng boxcolor. Giá trị mặc định của boxborderw là 0

  • boxcolor – 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” trong hướng dẫn sử dụng ffmpeg-utils. Giá trị mặc định của boxcolor là “trắng”

  • line_spacing – Đặt khoảng cách dòng tính bằng pixel của đường viền sẽ được vẽ xung quanh hộp bằng cách sử dụng hộp. Giá trị mặc định của line_spacing là 0

  • borderw – Đặ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. Giá trị mặc định của borderw là 0

  • màu viền – Đặt màu sẽ được sử dụng để vẽ đường viền 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” 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à không, strftime [không dùng nữa] hoặc bình thường [mặc định]. Xem phần Mở rộng văn bản bên dưới để biết chi tiết

  • thời gian cơ bản – Đặt thời gian bắt đầu đếm. Giá trị tính bằng micro giây. Chỉ được áp dụng trong chế độ mở rộng strftime không dùng nữa. Để mô phỏng ở chế độ mở rộng bình thường, hãy sử dụng hàm pts, cung cấp thời gian bắt đầu [tính bằng giây] làm đối số thứ hai

  • fix_bounds – Nếu đúng, hãy kiểm tra và sửa các chuỗi văn bản để tránh bị cắt

  • fontcolor – 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 hướng dẫn sử dụng ffmpeg-utils. Giá trị mặc định của fontcolor là “đen”

  • fontcolor_expr – Chuỗi được mở rộng giống như văn bản để thu được giá trị fontcolor động. Theo 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ó sẽ ghi đè tùy chọn màu phông chữ

  • phông chữ – Họ phông chữ được sử dụng để vẽ văn bản. Theo mặc định Sans

  • fontfile – 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

  • alpha – Vẽ văn bản áp dụng pha trộn alpha. Giá trị có thể là một số từ 0. 0 và 1. 0. Biểu thức cũng chấp nhận các biến x, y giống nhau. Giá trị mặc định là 1. Vui lòng xem fontcolor_expr

  • fontsize – Kích thước phông chữ được sử dụng để vẽ văn bản. Giá trị mặc định của kích thước phông chữ là 16

  • text_shaping – Nếu được đặt thành 1, hãy thử định hình văn bản [ví dụ: đảo ngược thứ tự văn bản từ phải sang trái và nối các ký tự Ả Rập] trước khi vẽ văn bả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 libfreetype hỗ trợ và là sự kết hợp của các giá trị sau

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      94

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      95

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      96

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      97

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      98

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      99

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      00

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      01

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      02

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      03

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      04

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      05

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      06

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      07

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      08

    Giá trị mặc định là “mặc định”. Để biết thêm thông tin, hãy tham khảo tài liệu về cờ FT_LOAD_* libfreetype

  • shadowcolor – Màu được sử dụng để vẽ bóng phía sau văn bản được vẽ. Để biết cú pháp của tùy chọn này, hãy kiểm tra phần “Màu” trong hướng dẫn sử dụng ffmpeg-utils. Giá trị mặc định của shadowcolor là “đen”

  • shadowx – Độ lệch x cho vị trí đổ bóng của văn bản so với vị trí của văn bản. Nó có thể là giá trị dương hoặc âm. Giá trị mặc định là “0”

  • bóng mờ – Độ lệch y cho vị trí đổ bóng của văn bản so với vị trí của văn bản. Nó có thể là giá trị dương hoặc âm. Giá trị mặc định là “0”

  • start_number – Số khung bắt đầu cho biến n/frame_num. Giá trị mặc định là “0”

  • tabsize – Kích thước theo số lượng khoảng trắng sẽ sử dụng để hiển thị tab. Giá trị mặc định là 4

  • mã thời gian – Đặt biểu diễn mã thời gian ban đầu trong “hh. mm. ss [. ;. ]ff” định dạng. Nó có thể được sử dụng có hoặc không có tham số văn bản. tùy chọn timecode_rate phải được chỉ định

  • tỷ lệ – Đặt tốc độ khung hình mã thời gian [chỉ mã thời gian]

  • timecode_rate – Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    09

  • r – Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    09

  • tc24hmax – Nếu được đặt thành 1, đầu ra của tùy chọn mã thời gian sẽ bao quanh 24 giờ. Mặc định là 0 [đã tắt]

  • text – Chuỗi văn bản cần 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ố textfile

  • textfile – Một tệp văn bản chứa 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ó chuỗi văn bản nào được chỉ định với văn bản tham số. Nếu cả văn bản và tệp văn bản được chỉ định, sẽ xảy ra lỗi

  • 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ãy chắc chắn cập nhật nó một cách nguyên tử, nếu không nó có thể được đọc một phần hoặc thậm chí không thành công

  • x – Biểu thức chỉ định phần bù nơi văn bản sẽ được vẽ trong khung hình video. Nó liên quan đến đường viền bên trái của hình ảnh đầu ra. Giá trị mặc định là “0”

  • y – Biểu thức chỉ định phần bù nơi văn bản sẽ được vẽ trong khung hình video. Nó liên quan đến đường viền trên cùng của hình ảnh đầu ra. Giá trị mặc định 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

Hằng biểu thức. Các tham số cho x và y là các biểu thức chứa các hằng số và hàm sau
  • dám. tỷ lệ khung hình hiển thị đầu vào, nó giống như

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    11

  • hsub. giá trị mẫu phụ sắc độ ngang. Ví dụ: đối với định dạng pixel “yuv422p” hsub là 2 và vsub là 1

  • vsub. giá trị mẫu phụ sắc độ dọc. Ví dụ: đối với định dạng pixel “yuv422p” hsub là 2 và vsub là 1

  • dòng_h. chiều cao của mỗi dòng văn bản

  • tôi. Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    12

  • chính_h. chiều cao đầu vào

  • h. Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    13

  • H. Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    13

  • chính_w. chiều rộng đầu vào

  • w. Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    15

  • W. Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    15

  • đ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 điểm phác thảo nét vẽ, cho tất cả các nét vẽ được kết xuất. Đó là một giá trị dương, do định hướng của lưới với trục Y hướng lên trên

  • max_glyph_a. Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    17

  • 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 điểm phác thảo glyph, cho tất cả các glyph được hiển thị. Đây là một giá trị âm, do hướng của lưới, với trục Y hướng lên trên

  • max_glyph_d. Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    18

  • 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 hiển thị, nó tương đương với đi lên - đi 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 văn bản được hiển thị

  • n. số lượng khung đầ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 bao gồm giữa tối thiểu và tối đa

  • sar. Tỷ lệ khung hình 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. chiều cao của văn bản được hiển thị

  • thứ tự. Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    19

  • văn bản_w. chiều rộng của văn bản được hiển thị

  • thứ hai. Bí danh cho

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    20

  • x. tọa độ bù x nơi văn bản được vẽ

  • y. tọa độ bù y nơi văn bản được vẽ

Các tham số này cho phép các biểu thức x và y tham chiếu lẫn nhau, vì vậy, ví dụ, bạn có thể chỉ định

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
21

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
23 [ stream_spec, filter_name, *args, **kwargs ]

Áp dụng bộ lọc tùy chỉnh

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
24 thường được sử dụng bởi các chức năng bộ lọc cấp cao hơn, chẳng hạn như
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
25, nhưng nếu thiếu triển khai bộ lọc từ
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
26, bạn có thể gọi trực tiếp
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
24 để yêu cầu
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
26 chuyển tên bộ lọc và đối số cho nguyên văn ffmpeg

Thông số
  • stream_spec – một Luồng, danh sách các Luồng hoặc ánh xạ từ điển nhãn đến Luồng

  • filter_name – tên bộ lọc ffmpeg, e. g. máy trộn kênh màu

  • *args – danh sách các đối số để chuyển đến nguyên văn ffmpeg

  • **kwargs – danh sách các đối số từ khóa để chuyển đến nguyên văn ffmpeg

Tên hàm có hậu tố là

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
29 để tránh nhầm lẫn với hàm
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
30 tiêu chuẩn của python

Ví dụ

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
31

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
33 [ stream_spec, filter_name, *args, **kwargs ]

Tên thay thế cho

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
30, để không xung đột với toán tử
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
30 được tích hợp sẵn trong python

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
37 [ stream_spec, filter_name, *args, **kwargs ]

Áp dụng bộ lọc tùy chỉnh với một hoặc nhiều đầu ra

Điều này giống như

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
30 ngoại trừ bộ lọc có thể tạo ra nhiều hơn một đầu ra

Để tham chiếu luồng đầu ra, hãy sử dụng toán tử

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
39 hoặc tốc ký dấu ngoặc

Ví dụ

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
40

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
42 [ luồng ]

Lật video đầu vào theo chiều ngang

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
44 [ luồng, **kwargs ]

Sửa đổi màu sắc và/hoặc độ bão hòa của đầu vào

Thông số
  • h – Chỉ định góc màu theo số độ. Nó chấp nhận một biểu thức và mặc định là “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”

  • H – Chỉ định góc màu sắc là một số radian. Nó chấp nhận một biểu thức và mặc định là “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”

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
46 [ main_parent_node, overlay_parent_node, eof_action='repeat', **kwargs ]

Xếp chồng một video lên trên một video khác

Thông số
  • x – Đặt biểu thức cho tọa độ x của video được phủ trên video chính. Giá trị mặc định là 0. Trong trường hợp biểu thức không hợp lệ, nó được đặt thành 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]

  • y – Đặt biểu thức cho tọa độ y của video được phủ trên video chính. Giá trị mặc định là 0. Trong trường hợp biểu thức không hợp lệ, nó được đặt thành 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 phải EOF trên đầu vào phụ;

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      47. Lặp lại khung hình cuối cùng [mặc định]

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      48. Kết thúc cả hai luồng

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      49. Chuyển đầu vào chính qua

  • đánh giá –

    Đặt thời điểm các biểu thức cho x và y được đánh giá. Nó chấp nhận các giá trị sau

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      50. 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ý

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      51. đánh giá các biểu thức cho từng khung đến

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

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    51

  • 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. Giá trị mặc định là 0

  • định dạng -

    Đặt định dạng cho video đầu ra. Nó chấp nhận các giá trị sau

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      53. buộc đầu ra YUV420

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      54. buộc đầu ra YUV422

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      55. buộc đầu ra YUV444

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      56. bắt buộc đóng gói đầu ra RGB

    • input = ffmpeg.input['in.mp4']
      audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
      video = input.video.hflip[]
      out = ffmpeg.output[audio, video, 'out.mp4']
      
      57. buộc đầu ra RGB phẳng

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

    input = ffmpeg.input['in.mp4']
    audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
    video = input.video.hflip[]
    out = ffmpeg.output[audio, video, 'out.mp4']
    
    53

  • rgb [không dùng nữa] – Nếu được đặt thành 1, buộc bộ lọc chấp nhận đầ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, thay vào đó hãy sử dụng định dạng

  • lặp lại – Nếu được đặt thành 1, buộc bộ lọc vẽ khung lớp phủ cuối cùng trên đầu vào chính cho đến khi kết thúc luồng. Giá trị 0 vô hiệu hóa hành vi này. Giá trị mặc định là 1

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
60 [ luồng, expr ]

Thay đổi PTS [dấu thời gian trình bày] của các khung đầu vào

Thông số

expr – Biểu thức được đánh giá cho mỗi khung để tạo dấu thời gian của nó

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
62 [ luồng, **kwargs ]

Cắt bớt đầu vào để đầu ra chứa một phần con liên tục của đầu vào

Thông số
  • bắt đầu – Chỉ định thời gian bắt đầu của phần được lưu giữ, tôi. e. khung có dấu thời gian bắt đầu sẽ là khung đầu tiên trong đầu ra

  • kết thúc – Chỉ định thời gian của khung hình đầu tiên sẽ bị loại bỏ, tôi. e. khung ngay trước khung có dấu thời gian kết thúc sẽ là khung cuối cùng trong đầu ra

  • start_pts – Điều này giống như bắt đầu, ngoại trừ tùy chọn này đặt dấu thời gian bắt đầu theo đơn vị cơ sở thời gian thay vì giây

  • end_pts – Điều này giống như kết thúc, ngoại trừ tùy chọn này đặt dấu thời gian kết thúc theo đơn vị cơ sở thời gian thay vì giây

  • thời lượng - Thời lượng tối đa của đầu ra tính bằng giây

  • start_frame – 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ỏ

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
64 [ luồng ]

Lật video đầu vào theo chiều dọc

tài liệu chính thức.

input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
01
input = ffmpeg.input['in.mp4']
audio = input.audio.filter["aecho", 0.8, 0.9, 1000, 0.3]
video = input.video.hflip[]
out = ffmpeg.output[audio, video, 'out.mp4']
66 [ luồng, **kwargs ]

Áp dụng hiệu ứng Zoom & Pan

Thông số
  • thu phóng – Đặt biểu thức thu phóng. Mặc định là 1

  • x – Đặt biểu thức x. Mặc định là 0

  • y – Đặt biểu thức y. Mặc định là 0

  • d – Đặt biểu thức thời lượng theo số lượng khung hình. Điều này đặt cho số lượng hiệu ứng khung hình sẽ kéo dài cho một hình ảnh đầu vào

Chủ Đề