ฉันจะสร้างวิดีโอจากไฟล์ txt และรูปภาพได้อย่างไร


0

สมมติว่าฉันมี:

  • ไฟล์ txt
  • ภาพขนาด 1920x1080

ฉันต้องการสร้างวิดีโอ อย่างนี้ ที่ข้อความเลื่อนและเสียงเป็น MP3 ที่กำหนด

ฉันกำลังขุดบิตด้วย ffmpeg แต่ไม่ประสบความสำเร็จ

คุณช่วยได้ไหม

คำตอบ:


2

ฉันลองอ่านหนังสือเล่มโปรด (3 ย่อหน้า, รวมถึง 80 ตัวอักษร) :-)

lorem-ipsum-generator -l -p 3 -s 1 | fold -w 80 -s > TEXT

จากนั้นสร้างวิดีโอ:

ffmpeg -loop 1 \
       -i Blue-Planet-Earth-1920x1080.jpg  
       -vf drawtext="fontsize=20:fontcolor=white:fontfile=FreeSans.ttf:textfile=TEXT:y=h-200*t"  
       -t 8 output.mp4

คำอธิบาย :

  • วนลูปไม่สิ้นสุดเนื่องจากเรามีเพียงภาพเดียว (รองรับหลายภาพในลำดับหรือไพพ์)
  • ภาพ
  • DrawText สามารถอ่านได้ค่อนข้างเคลื่อนไหวด้วยการใช้งานของ เสื้อ
  • "-t 8" เป็นระยะเวลา 8 วินาที (ในตอนท้าย)

ข้อความเกินขีด จำกัด บนและเลื่อนขึ้นไปเรื่อย ๆ

ตอนนี้ทุกคนสามารถสร้างมันได้

(ขอบคุณ FB!)


FB หมายถึงอะไร
llogan

FB เป็นเหลือบไปที่ Fabrice (bellard.org)
levif

1

คุณสามารถใช้ คำบรรยาย กรองด้วย สถานีย่อยขั้นสูงอัลฟ่า (ASS) คำบรรยาย ใช้ /move แท็กจะช่วยให้คุณเลื่อนคำบรรยายโดยระบุจุดเริ่มต้นและจุดสิ้นสุด x, y พิกัด.

ข้อดีมากกว่า DrawText ตัวกรองมีตัวเลือกการจัดรูปแบบเพิ่มเติมและความสามารถในการตัดข้อความโดยอัตโนมัติ ข้อเสียก็คือ x, y พิกัดไม่สามารถอ้างอิงความกว้างและความสูงของข้อความได้ดังนั้นคุณต้องระบุค่าที่เหมาะสมใน /move แท็ก

enter image description here
สกรีนช็อตของคำบรรยายเลื่อน

ตัวอย่างไฟล์ ASS ที่สร้างขึ้นด้วย Aegisub :

[Script Info]
; Script generated by Aegisub 3.2.2
; http://www.aegisub.org/
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
ScaledBorderAndShadow: yes
YCbCr Matrix: None

[Aegisub Project Garbage]
Last Style Storage: Default

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,1,1,5,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0,0,0,,{\move(190,350,180,-90)}Draw subtitles on top of input video using the libass library.\NTo enable compilation of this filter you need to configure FFmpeg wit{\i1}h --enable-liba{\i0}ss. This filter also requires a build with libavcodec and libavformat to convert the passed subtitles file to ASS (Advanced Substation Alpha) subtitles format.

ตัวอย่าง ffmpeg คำสั่ง:

ffmpeg -loop 1 -i image.jpg -i audio.mp3 -filter_complex "subtitles=scroll.ass" -c:a copy -shortest output.mkv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.