เพิ่มเวลาที่กำหนดเองให้กับเฟรมวิดีโอโดยใช้ ffmpeg


0

ฉันใช้ ffmpeg เพื่อเข้ารหัสข้อมูลพิกเซลแบบดิบ (bgr32) ลงในไฟล์วิดีโอ กำลังส่งข้อมูลพิกเซลจากแอ็พพลิเคชัน java ไปยัง ffmpeg stdin pipe

ฉันกำลังมองหาวิธีเพิ่มการซ้อนทับเวลาลงในแต่ละเฟรมในไฟล์ fideo ที่เข้ารหัส ดูเหมือนว่าจะมีวิธีเพิ่มการประทับเวลาของเวลาปัจจุบัน คำแนะนำสามารถพบได้ที่นี่: http://einar.slaskete.net/2011/09/05/adding-time-stamp-overlay-to-video-stream-using-ffmpeg/

ไฟล์วิดีโอที่ฉันเข้ารหัสถูกจับได้ไม่กี่วันที่ผ่านมาและฉันต้องเพิ่มเวลาที่กำหนดเองให้กับแต่ละเฟรม ตัวอย่างเช่น 12/12/2013 11:11:45 ไม่ใช่เวลาปัจจุบัน

เป็นไปได้ไหมที่จะทำสิ่งนี้โดยใช้ ffmpeg?

ขอขอบคุณสำหรับความช่วยเหลือของคุณ.

คำตอบ:


0

มีกรองเมื่อรวบรวมกับการกำหนดค่า หากคุณไม่มีสิ่งนี้คุณต้องรวบรวม ffmpeg ด้วยตัวคุณเอง - ไม่ซับซ้อนอย่างยิ่งdrawtext--enable-libfreetype

ไวยากรณ์ที่ง่ายที่สุดคือ:

ffmpeg -i <input> -vf 'drawtext=fontsize=15:fontfile=FreeSerif.ttf:text=LONG_LINE:y=100:x=100' output.mp4

ตำแหน่งนี้ข้อความที่ 100 พิกเซลตรงข้ามจากมุมซ้ายด้านบน จากนั้นคุณสามารถใช้ตัวเลือกเพื่อระบุข้อความสำหรับกรอบบางอย่างเช่นการแสดงข้อความเท่านั้นสำหรับกรอบที่คุณต้องการใช้:enable123

drawtext=enable='eq(n,123)':fontsize=15:fontfile=FreeSerif.ttf:text='I':y=100:x=100

ดังนั้นแน่นอนคุณต้องสร้างคำสั่งเพื่อแสดงสตริงที่แน่นอนในเวลาที่กำหนด


แนวคิดอื่นคือการเขียนคำบรรยายลงในวิดีโอจากไฟล์คำบรรยายที่สร้างไว้ล่วงหน้า


การเผาคำบรรยายเป็นภาพที่น่าสนใจ ขอบคุณ ดูเหมือนว่าไม่มีตัวเลือกอื่น ๆ ในการส่งผ่านข้อมูลตัวอักษรสำหรับแต่ละเฟรมโดยใช้ไพพ์หรือไฟล์ที่สร้างไว้ล่วงหน้า
Marco

คุณสามารถใช้-filter_complex_scriptเพื่อระบุพา ธ ไปยังสคริปต์ที่มีตัวเลือกตัวกรอง แต่นั่นคือทั้งหมดที่ฉันคิดได้
slhck
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.