Ich versuche, ein Array in ein Array zu übergeben und das Array zu verbreiten, während ich es mache. Ich hoffe das macht Sinn. Die Methode concatenate_videoclips in moviepy erwartet ein Array, kein Array mit Arrays.
list_of_images = [
text_clip,
*image_data,
]
final_video = concatenate_videoclips(list_of_images, method='compose')
< /code>
Im Folgenden finden Sie den gesamten Code -Snippet < /p>
from moviepy.editor import *
from moviepy.config import change_settings
from pathlib import Path
import os
import traceback
change_settings({"IMAGEMAGICK_BINARY": r"C:\\Program Files\\ImageMagick-7.1.2-Q16-HDRI\\magick.exe"})
def is_image_by_extension(filepath):
"""
Checks if a file is likely an image based on its extension.
"""
valid_extensions = {'.jpg', '.jpeg', '.png', '.gif', '.bmp', '.tiff', '.webp'}
_, ext = os.path.splitext(filepath)
return ext.lower() in valid_extensions
image_data = {}
name_prefix = "user_"
directory_path = Path(r"C:/Users/User/Development/moviepy/images")
count = 0
for file_path in directory_path.iterdir():
if file_path.is_file(): # Check if it's a file
if os.path.isfile(file_path) and is_image_by_extension(file_path):
image_data[count] = ImageClip(str(file_path)).set_duration(2)
image_data[count] = image_data[count].fx(vfx.fadeout, 1)
image_data[count] = image_data[count].fx(vfx.fadein,1)
count += 1
else:
print(f"'{file_path}' is not an image file (or doesn't exist).")
# image_0 = ImageClip(r'C:\Users\User\Development\moviepy\images\mark.jpg').set_duration(2)
# image_1 = ImageClip(r'C:\Users\User\Development\moviepy\images\MarkAnime.jpg').set_duration(2)
# image_0_faded_out = image_0.fx(vfx.fadeout, 1)
# image_1_faded_in = image_1.fx(vfx.fadein, 1)
audio = AudioFileClip(r'C:\Users\User\Development\moviepy\audio\KYJellyBabies-AccessDenied.mp3')
text_clip = TextClip("In Loving memory of \nJoe Blocks",
fontsize=70,
color='white',
font='Arial',
bg_color='transparent') # Optional background color
# setting position of text in the center and duration will be 10 seconds
text_clip = text_clip.set_pos('center').set_duration(5)
#list_of_images = [
# text_clip,
# image_0_faded_out,
# image_1_faded_in,
#]
list_of_images = [
text_clip,
*image_data,
]
try:
final_video = concatenate_videoclips(list_of_images, method='compose')
final_video.audio = audio.subclip(0, final_video.duration)
final_video.write_videofile('final_video.mp4', fps=30)
except Exception as e:
traceback.print_exc()
< /code>
Hier ist die Ausgabe: < /p>
Traceback (most recent call last):
File "C:\Users\User\Development\moviepy\main.py", line 62, in
final_video = concatenate_videoclips(list_of_images, method='compose')
File "C:\Users\User\AppData\Roaming\Python\Python313\site-packages\moviepy\video\compositing\concatenate.py", line 71, in concatenate_videoclips
tt = np.cumsum([0] + [c.duration for c in clips])
^^^^^^^^^^
AttributeError: 'int' object has no attribute 'duration'
PS C:\Users\User\Development\moviepy> python .\main.py
Traceback (most recent call last):
File "C:\Users\User\Development\moviepy\main.py", line 62, in
final_video = concatenate_videoclips(list_of_images, method='compose')
File "C:\Users\User\AppData\Roaming\Python\Python313\site-packages\moviepy\video\compositing\concatenate.py", line 71, in concatenate_videoclips
tt = np.cumsum([0] + [c.duration for c in clips])
^^^^^^^^^^
AttributeError: 'int' object has no attribute 'duration'
Ich versuche, ein Array in ein Array zu [url=viewtopic.php?t=23808]übergeben[/url] und das Array zu verbreiten, während ich es mache. Ich hoffe das macht Sinn. Die Methode concatenate_videoclips in moviepy erwartet ein Array, kein Array mit Arrays.[code]list_of_images = [ text_clip, *image_data, ] final_video = concatenate_videoclips(list_of_images, method='compose') < /code> Im Folgenden finden Sie den gesamten Code -Snippet < /p> from moviepy.editor import * from moviepy.config import change_settings from pathlib import Path import os import traceback change_settings({"IMAGEMAGICK_BINARY": r"C:\\Program Files\\ImageMagick-7.1.2-Q16-HDRI\\magick.exe"})
def is_image_by_extension(filepath): """ Checks if a file is likely an image based on its extension. """ valid_extensions = {'.jpg', '.jpeg', '.png', '.gif', '.bmp', '.tiff', '.webp'} _, ext = os.path.splitext(filepath) return ext.lower() in valid_extensions
image_data = {} name_prefix = "user_" directory_path = Path(r"C:/Users/User/Development/moviepy/images") count = 0 for file_path in directory_path.iterdir(): if file_path.is_file(): # Check if it's a file if os.path.isfile(file_path) and is_image_by_extension(file_path): image_data[count] = ImageClip(str(file_path)).set_duration(2) image_data[count] = image_data[count].fx(vfx.fadeout, 1) image_data[count] = image_data[count].fx(vfx.fadein,1) count += 1 else: print(f"'{file_path}' is not an image file (or doesn't exist).")
audio = AudioFileClip(r'C:\Users\User\Development\moviepy\audio\KYJellyBabies-AccessDenied.mp3') text_clip = TextClip("In Loving memory of \nJoe Blocks", fontsize=70, color='white', font='Arial', bg_color='transparent') # Optional background color
# setting position of text in the center and duration will be 10 seconds text_clip = text_clip.set_pos('center').set_duration(5) #list_of_images = [ # text_clip, # image_0_faded_out, # image_1_faded_in, #]
final_video.write_videofile('final_video.mp4', fps=30) except Exception as e: traceback.print_exc() < /code> Hier ist die Ausgabe: < /p> Traceback (most recent call last): File "C:\Users\User\Development\moviepy\main.py", line 62, in final_video = concatenate_videoclips(list_of_images, method='compose') File "C:\Users\User\AppData\Roaming\Python\Python313\site-packages\moviepy\video\compositing\concatenate.py", line 71, in concatenate_videoclips tt = np.cumsum([0] + [c.duration for c in clips]) ^^^^^^^^^^ AttributeError: 'int' object has no attribute 'duration' PS C:\Users\User\Development\moviepy> python .\main.py Traceback (most recent call last): File "C:\Users\User\Development\moviepy\main.py", line 62, in final_video = concatenate_videoclips(list_of_images, method='compose') File "C:\Users\User\AppData\Roaming\Python\Python313\site-packages\moviepy\video\compositing\concatenate.py", line 71, in concatenate_videoclips tt = np.cumsum([0] + [c.duration for c in clips]) ^^^^^^^^^^ AttributeError: 'int' object has no attribute 'duration' [/code]
Ich versuche, ein Skript auszuführen, um Daten für eine Reihe von Aktien zu erhalten. Ein Teil der Daten, die ich zu erhalten versuche, ist eine Liquiditätsmaßnahme (als Amihud -Liquiditätsmaß...
Ich versuche, einen Musikbot mit Python für Spotify zu erstellen, aber nichts funktioniert.
Hier ist mein Code:
scope = 'user-read-private'
myClientId =
mySecret =
myRedirect=
myUsername=...
Ich habe die folgende case-Anweisung in meinem Code:
status = case(
(
orders.c.item_delivered.is_(True),
OrderStatus.DELIVERED.value,
),
(
orders.c.order_processing_status ==...