Ich habe MoviePy verwendet, um ein Video aus einem Bild zu erstellen und am unteren Bildrand Anmerkungen hinzuzufügen. Das Problem ist, dass der Text, den ich hinzufügen möchte, Vietnamesisch (nicht Englisch) ist, damit MoviePy es nicht richtig anzeigen kann.MoviePy kann nicht-englischen Text nicht korrekt anzeigen
Insbesondere unter meinem Code ist
# -*- coding: utf-8 -*-
from moviepy.editor import *
# create clip from image
clip = ImageClip('img/1.jpg').on_color((1920, 1080))
clip = clip.set_duration(2)
# add annotation to clip
txtclip = TextClip('Truyện Kiều Nguyễn Du', fontsize=50, color='red')
cvc = CompositeVideoClip([ clip, txtclip.set_pos(('center', 'bottom'))])
cvc = cvc.set_duration(2)
# write video to file
cvc.write_videofile("text.mp4", fps=24)
Statt Truyện Kiều Nguyễn Du
anzuzeigen, zeigt es Truy?n Ki?u Nguy?n Du
.
denke ich, das Hauptproblem von ImageMagick
ist, weil, wenn ich Befehl
convert -size 400x200 xc:khaki -gravity Center -pointsize 30 -annotate 0 "Truyện Kiều Nguyễn Du" u8_an.png
auch ImageMagick ein Bild mit dem gleichen Problem schafft. Bitte lassen Sie es mich wissen, wenn Sie mir helfen können, es zu beheben.
UPDATE: Ich versuche auch, um die Zeichenfolge zu konvertieren, um UTF-8, aber es nicht
t = u'Truyện Kiều Nguyễn Du'.encode('utf-8') txtclip = TextClip(t, fontsize=50, color='red')
Es könnte ein Problem mit der Standardschriftart sein. Geben Sie einen an, von dem Sie wissen, dass er vietnamesische Zeichen enthält. Möglicherweise müssen Sie den Text auch explizit in UTF-8 codieren. –
BTW, mit Unicode-Fragen ist es immer eine gute Idee, die Python-Version und das Betriebssystem zu erwähnen. –
Hallo, die Version von Python, die ich verwendet habe, ist 2.7.12. Mein Betriebssystem ist Ubuntu 16.04 LTS 64bit. Ich habe auch den Text zu UTF8 explizit kodieren, aber es funktioniert nicht '' t = u'Truyện Kiều Nguyễn Du'.encode ('utf-8') txtclip = TextClip (t, Schriftgröße = 50, color =‘ rot ') '' würden Sie mir mehr Vorschlag der Schriftart geben? – tndoan