ffmpeg drawtext filter - สร้างพื้นหลังโปร่งใสด้วยข้อความ


11

ฉันกำลังทำงานกับdrawtextตัวกรอง จนถึงตอนนี้ฉันเพิ่งประสบความสำเร็จกับdrawtextการกำหนดค่าตัวเลือกเพื่อใช้แบบอักษรที่ถูกต้องและวางข้อความไว้กึ่งกลางแนวนอน ฉันdrawtextจะแสดงข้อความบนวิดีโอตามที่แสดงด้านล่างได้อย่างไร

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"

คำตอบ:


21

ใช้drawboxสำหรับกล่องและdrawtextสำหรับข้อความ

ด้วงแดง

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มีboxตัวเลือก แต่เท่าที่ฉันสามารถบอกได้ว่ามันไม่สามารถมีความกว้างตามอำเภอใจและสัมพันธ์กับขนาดตัวอักษรดังนั้นนี่จึงเป็นเหตุผลที่drawboxจะใช้แทน

  • formatกรองจะใช้ในการปรับปรุงสีของdrawboxพื้นที่; มิฉะนั้นขึ้นอยู่กับรูปแบบอินพุตและเอาต์พุตของคุณพื้นที่อาจมีความอิ่มตัวหรือโมโนโครม formatกรองที่ใช้แล้วอีกครั้งเพื่อให้แน่ใจว่ารูปแบบพิกเซลของไฟล์ที่ส่งเข้ากันได้กับผู้เล่นทุกคน

  • เสียงกำลังถูกคัดลอกในตัวอย่างนี้เนื่องจากคุณอาจไม่ต้องการเข้ารหัสอีกครั้งโดยไม่จำเป็น

  • เก่าffmpegผู้ใช้จะต้องใช้แทนt=maxt=fill


สมบูรณ์แบบนี่ไม่ได้อยู่ในขอบเขตของคำถามปัจจุบันและฉันอาจต้องสร้างคำถามใหม่ คำแนะนำใด ๆ ของวิธีเพิ่มsnapchatตัวจับเวลา ตัวอย่างเช่นผมได้มีการทดสอบบางอย่างและ ffmpeg มีแหล่งวิดีโอ testsrc ffplay -f lavfi -i testsrcที่มีการจับเวลา: 0 หลักของตัวจับเวลาเริ่มต้นมีขนาด 29x52 พิกเซลและตำแหน่งจากมุมบนซ้ายคือ 256 พิกเซลในแนวนอนและแนวตั้ง 94 พิกเซล ฉันสามารถครอบตัดพื้นที่หนึ่งหลักเช่นนี้ffmpeg -f lavfi -i testsrc -vf crop=29:52:256:94 -t 10 timer1.mp4
Code_Ed_Student

ฉันเพิ่มรูปภาพพร้อมตัวจับเวลาในคำถาม ตัวจับเวลาจะนับถอยหลังตามระยะเวลาของวิดีโอ
Code_Ed_Student

ใช่ฉันจะสร้างคำถามใหม่ คุณถูก. 30. 29, 28...ฯลฯ
Code_Ed_ นักเรียน

คำถามใหม่ที่โพสต์: video.stackexchange.com/questions/15556/ffmpeg-video-with-timer
Code_Ed_Student

1
ยอดเยี่ยมและคุณพูดถูกมันส่งผลต่อกล่อง
Code_Ed_Student

1

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


นี้ใช้งานได้สำหรับฉัน แต่ฉันใช้ boxcolor-white@0.9
saber tabatabaee yazdi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.