it-swarm.dev

النص على الفيديو ffmpeg

كيف يمكنني إضافة تراكب النص على الفيديو الخاص بي في ffmpeg؟

على سبيل المثال ، إذا أعطيت مقطع فيديو "video1.flv" ، كيف يمكنني إضافة نص "StackOverflow" أثناء الفيديو بالكامل ، والموضع في منتصف الشاشة ، بنص أبيض وحدود؟

49
Jesper Madsen

استخدم عامل تصفية الفيديو drawtext في ffmpeg:

enter image description here

ffmpeg -i input.mp4 -vf drawtext="fontfile=/path/to/font.ttf: \
text='Stack Overflow': fontcolor=white: fontsize=24: box=1: [email protected]: \
boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2" -codec:a copy output.mp4
  • ال @0.5 يتحكم في عتامة مربع النص. في هذا المثال ، يتم ضبطه على 50٪. يمكنك إزالة @0.5 ولن يكون هناك شفافية.

  • -codec:a copy will دفق نسخة (re-mux) الصوت وتجنب إعادة الترميز.

  • بديل لمرشح drawtext هو استخدام ASS أو SRT subtitles - خاصةً إذا كنت تريد نصًا مؤقتًا أو softtsubs.

  • إذا كنت ترغب في تحديث أو تغيير النص ، فراجع خيارات textfile و reload لهذا الفلتر.

  • يتطلب هذا المرشح أن يتم ترجمة ffmpeg الخاص بك مع --enable-libfreetype. إذا حصلت على No such filter: 'drawtext' ربما تكون مفقودة --enable-libfreetype. تدعم معظم ffmpeg البنى الثابتة المتاحة هذا ، لذلك راجع FFmpeg Download الصفحة للحصول على روابط.

  • راجع وثائق مرشح drawtext لمزيد من الخيارات والأمثلة.

100
llogan