bộ lọc drawtext ffmpeg - tạo nền trong suốt với văn bản


11

Tôi hiện đang làm việc với drawtextbộ lọc. Cho đến nay tôi chỉ thành công với các drawtextcấu hình tùy chọn để sử dụng đúng phông chữ và đặt văn bản ở giữa theo chiều ngang. Làm thế nào tôi có drawtextthể hiển thị văn bản trên một video như dưới đây?

ffmpeg

ffmpeg -i "/media/test/test.mp4" -vf drawtext="fontfile=/usr/share/fonts/truetype/open-sans/OpenSans-Regular.ttf:text='Title of this Video':x=(w-tw)/2:y=(h-th)/2"  /media/test_edited.mp4"

Câu trả lời:


21

Sử dụng drawboxcho hộp, và drawtextcho văn bản.

Bọ cánh cứng đỏ

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
  • drawtextcó một boxtù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ộ formatlọc được sử dụng để cải thiện màu sắc của drawboxkhu 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 đó, formatbộ 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.

  • ffmpegNgười dùng cũ sẽ phải sử dụng t=maxthay vì t=fill.


Hoàn hảo, đây là ngoài phạm vi của câu hỏi hiện tại và tôi có thể cần phải tạo một câu hỏi mới. Bất kỳ đề xuất về cách thêm snapchatbộ đế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
Code_Ed_Student

Tôi đã thêm một hình ảnh với một bộ đếm thời gian cho câu hỏi. Đồng hồ bấm giờ được đếm ngược dựa trên thời lượng của video.
Code_Ed_Student

Vâng, tôi sẽ tạo ra một câu hỏi mới cho nó. Bạn nói đúng. 30. 29, 28...v.v.
Code_Ed_Student


1
Tuyệt vời và bạn đã đúng, nó đã ảnh hưởng đến hộp
Code_Ed_Student

1

ffmpeg -i C: \ Users \ Developer_2 \ Video \ 2.mkv -vf drawtext = "fontfile = C \: / normal.ttf: text = 'apcis.tmou.org': fontcolor = white: fontize = 24: box = 1: boxcolor=black@0.4: x = w-tw: y = h-th "C: \ inetpub \ wwwroot \ videos \ 1.mp4


cái này hiệu quả với tôi nhưng tôi sử dụng boxcolor-white@0.9
saber tabatabaee yazdi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.