Sử dụng drawbox
cho hộp, và drawtext
cho văn bản.
ffmpeg -i input.mp4 -vf \
"format=yuv444p, \
drawbox=y=ih/PHI:color=black@0.4:width=iw:height=48:t=fill, \
drawtext=fontfile=OpenSans-Regular.ttf:text='Title of this Video':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th, \
format=yuv420p" \
-c:v libx264 -c:a copy -movflags +faststart output.mp4
drawtext
có một box
tùy chọn, nhưng theo như tôi có thể nói nó không thể là chiều rộng tùy ý và liên quan đến kích thước văn bản, vì vậy đó là lý do tại sao drawbox
được sử dụng thay thế.
Bộ format
lọc được sử dụng để cải thiện màu sắc của drawbox
khu vực; mặt khác, tùy thuộc vào định dạng đầu vào và đầu ra của bạn, khu vực có thể trông bị bão hòa hoặc đơn sắc. Sau đó, format
bộ lọc được sử dụng lại để đảm bảo định dạng pixel của tệp đầu ra tương thích với tất cả người chơi.
Âm thanh đang được sao chép trong ví dụ này bởi vì bạn có thể không muốn mã hóa lại nó một cách không cần thiết.
ffmpeg
Người dùng cũ sẽ phải sử dụng t=max
thay vì t=fill
.
snapchat
bộ đếm thời gian. Ví dụ: tôi đã thực hiện một số thử nghiệm và ffmpeg chứa nguồn video testsrc có chứa bộ đếm thời gian :ffplay -f lavfi -i testsrc
. Chữ số 0 của bộ đếm thời gian ban đầu có kích thước 29x52 pixel và vị trí của nó từ góc trên cùng là 256 pixel theo chiều ngang và 94 pixel dọc. Tôi có thể cắt diện tích của một chữ số như thế nàyffmpeg -f lavfi -i testsrc -vf crop=29:52:256:94 -t 10 timer1.mp4