Используйте список дат для отметки времени/маркировки видео mp4 в python

У меня есть видеофайл MP4 (Amundsen.mp4), который я создал в Google Earth Engine, — интервальная съемка и список дат каждого изображения (dates.txt) — не все дни подряд.

Я хочу использовать этот список дат для отметки времени каждого кадра в видео в python. Может ли кто-нибудь предложить, как это сделать, или указать мне на учебник, который делает это? Я не нашел ресурсов о том, как работать с видео таким образом.


person Beardsley    schedule 15.12.2020    source источник
comment
Вы имеете отношение к печати списка дат из date.txt в кадры вашего видео?   -  person Ricco D    schedule 15.12.2020
comment
Да все верно.   -  person Beardsley    schedule 15.12.2020
comment
Отвечает ли это на ваш вопрос? Аннотирование видеокадров меткой на основе состояния   -  person albert    schedule 15.12.2020
comment
Вы можете попробовать ознакомиться с этим руководством. Вместо того, чтобы жестко кодировать текст, вы можете зациклить свои даты.txt.   -  person Ricco D    schedule 16.12.2020
comment
Спасибо - учебник рядом с этой веткой -moviepy" title="создать серию текстовых клипов и объединить их в видео, используя moviepy"> stackoverflow.com/questions/28429005/ помог   -  person Beardsley    schedule 17.12.2020


Ответы (1)


Благодаря комментариям у меня получилось. Это был мой успешный код

from moviepy.editor import *
clip = VideoFileClip("myvideo.mp4")  

text_list = list3 # List of dates
clip_list = []

for text in text_list:
    try:
        txt_clip = TextClip(text, fontsize = 70, color = 'red').set_duration(1)
        clip_list.append(txt_clip)
    except UnicodeEncodeError: #Unsure if this part is necessary, took from elsewhere to address someone else's issue, but doesn't cause a problem
        txt_clip = TextClip("Issue with text", fontsize = 70, color = 'red').set_duration(1) 
        clip_list.append(txt_clip)
               
datevideo = concatenate(clip_list, method = "compose")
video2 = CompositeVideoClip([clip, datevideo])
#Write video
video2.write_videofile("videotest.mp4", fps = 1, codec = 'mpeg4')

# show video here embdeedded
#video2.ipython_display(width = 280)
person Beardsley    schedule 17.12.2020