harry0703/MoneyPrinterTurbo

根据您提供的错误日志,问题出现在使用 moviepy 库对视频进行尺寸调整时,具体是在调用 resize 方法时引发了 AttributeError 异常。这个异常是因为 PIL.Image 模块中没有找到 ANTIALIAS 属性。

FlowersWithoutMoon opened this issue · 2 comments

运行提示如下:
***** Current directory: D:\Software\Git\dates\MoneyPrinterTurbo\MoneyPrinterTurbo *****

You can now view your Streamlit app in your browser.

Local URL: http://localhost:8501
Network URL: (隐藏)

2024-03-28 09:42:20.032 | INFO | app.config.config::8 - load config from file: D:\Software\Git\dates\MoneyPrinterTurbo\MoneyPrinterTurbo/config.toml
2024-03-28 09:43:39 | INFO | "./app\services\llm.py:103": generate_script - subject: 火星 陨落日本的场面
2024-03-28 09:43:39 | DEBUG | "./app\services\llm.py:104": generate_script - prompt:

Role: Video Script Generator

Goals:

Generate a script for a video, depending on the subject of the video.

Constrains:

  1. the script is to be returned as a string with the specified number of paragraphs.

  2. do not under any circumstance reference this prompt in your response.

  3. get straight to the point, don't start with unnecessary things like, "welcome to this video".

  4. you must not include any type of markdown or formatting in the script, never use a title.

  5. only return the raw content of the script.

  6. do not include "voiceover", "narrator" or similar indicators of what should be spoken at the beginning of each paragraph or line.

  7. you must not mention the prompt, or anything about the script itself. also, never talk about the amount of paragraphs or lines. just write the script.

  8. respond in the same language as the video subject.

Initialization:

  • video subject: 火星陨落日本的场面
  • number of paragraphs: 1
  • language: zh-CN
    2024-03-28 09:43:39 | INFO | "./app\services\llm.py:15": _generate_response - llm provider: openai
    2024-03-28 09:43:49 | SUCCESS | "./app\services\llm.py:132": generate_script - completed:
    火星陨落日本的场景是一幕史诗般的天文现象,吸 引了全世界的目光。每当火星与地球距离接近时, 它会明亮地照亮夜空,成为天文爱好者和摄影师梦 寐以求的拍摄对象。在日本,这一景象尤为特别, 因为其独特的地理和文化背景为观测提供了完美的 舞台。从富士山到东京塔,火星的亮相为这些标志 性地点增添了一抹神秘色彩,使得这一天文事件不 仅仅是科学的展 示,同时也成为了文化的盛会。
    2024-03-28 09:43:49 | INFO | "./app\services\llm.py:161": generate_terms - subject: 火星陨落日本的场面
    2024-03-28 09:43:49 | DEBUG | "./app\services\llm.py:162": generate_terms - prompt:

Role: Video Search Terms Generator

Goals:

Generate 5 search terms for stock videos, depending on the subject of a video.

Constrains:

  1. the search terms are to be returned as a json-array of strings.
  2. each search term should consist of 1-3 words, always add the main subject of the video.
  3. you must only return the json-array of strings. you must not return anything else. you must not return the script.
  4. the search terms must be related to the subject of the video.
  5. reply with english search terms only.

Output Example:

["search term 1", "search term 2", "search term 3","search term 4","search term 5"]

Context:

Video Subject

火星陨落日本的场面

Video Script

火星陨落日本的场景是一幕史诗般的天文现象,吸 引了全世界的目光。每当火星与地球距离接近时, 它会明亮地照亮夜空,成为天文爱好者和摄影师梦 寐以求的拍摄对象。在日本,这一景象尤为特别, 因为其独特的地理和文化背景为观测提供了完美的 舞台。从富士山到东京塔,火星的亮相为这些标志 性地点增添了一抹神秘色彩,使得这一天文事件不 仅仅是科学的展 示,同时也成为了文化的盛会。
2024-03-28 09:43:49 | INFO | "./app\services\llm.py:15": _generate_response - llm provider: openai
2024-03-28 09:43:53 | SUCCESS | "./app\services\llm.py:182": generate_terms - completed:
['Mars eclipse Japan', 'astronomical phenomenon', 'night sky Mars', 'Mars viewing Japan', 'iconic locations Mars']
2024-03-28 09:44:24 | INFO | "./webui\Main.py:262": - 开始生成视频
2024-03-28 09:44:24 | INFO | "./app\services\task.py:41": start - start task: e85d935d-f409-4fc6-b126-88a179f78833
2024-03-28 09:44:24 | INFO | "./app\services\task.py:48": start -

generating video script

2024-03-28 09:44:24 | DEBUG | "./app\services\task.py:54": start - video script:
火星陨落日本的场景是一幕史诗般的天文现象,吸 引了全世界的目光。每当火星与地球距离接近时, 它会明亮地照亮夜空,成为天文爱好者和摄影师梦 寐以求的拍摄对象。在日本,这一景象尤为特别, 因为其独特的地理和文化背景为观测提供了完美的 舞台。从富士山到东京塔,火星的亮相为这些标志 性地点增添了一抹神秘色彩,使得这一天文事件不 仅仅是科学的展 示,同时也成为了文化的盛会。
2024-03-28 09:44:24 | INFO | "./app\services\task.py:56": start -

generating video terms

2024-03-28 09:44:24 | DEBUG | "./app\services\task.py:68": start - video terms: [
"Mars eclipse Japan",
"astronomical phenomenon",
"night sky Mars",
"Mars viewing Japan",
"iconic locations Mars"
]
2024-03-28 09:44:24 | INFO | "./app\services\task.py:79": start -

generating audio

2024-03-28 09:44:24 | INFO | "./app\services\voice.py:12": tts - start, voice name: zh-CN-XiaoxiaoNeural
2024-03-28 09:44:26 | INFO | "./app\services\voice.py:26": tts - completed, output file: .\storage\tasks\e85d935d-f409-4fc6-b126-88a179f78833\audio.mp3
2024-03-28 09:44:26 | INFO | "./app\services\task.py:94": start -

generating subtitle, provider: edge

2024-03-28 09:44:26 | INFO | "./app\services\task.py:117": start -

downloading videos

2024-03-28 09:44:26 | INFO | "./app\services\material.py:44": search_videos - searching videos: https://api.pexels.com/videos/search?query=Mars+eclipse+Japan&per_page=20&orientation=portrait, with proxies: {}
2024-03-28 09:44:27 | INFO | "./app\services\material.py:104": download_videos - found 17 videos for 'Mars eclipse Japan'
2024-03-28 09:44:27 | INFO | "./app\services\material.py:44": search_videos - searching videos: https://api.pexels.com/videos/search?query=astronomical+phenomenon&per_page=20&orientation=portrait, with proxies: {}
2024-03-28 09:44:28 | INFO | "./app\services\material.py:104": download_videos - found 6 videos for 'astronomical phenomenon'
2024-03-28 09:44:28 | INFO | "./app\services\material.py:44": search_videos - searching videos: https://api.pexels.com/videos/search?query=night+sky+Mars&per_page=20&orientation=portrait, with proxies: {}
2024-03-28 09:44:29 | INFO | "./app\services\material.py:104": download_videos - found 19 videos for 'night sky Mars'
2024-03-28 09:44:29 | INFO | "./app\services\material.py:44": search_videos - searching videos: https://api.pexels.com/videos/search?query=Mars+viewing+Japan&per_page=20&orientation=portrait, with proxies: {}
2024-03-28 09:44:31 | INFO | "./app\services\material.py:104": download_videos - found 14 videos for 'Mars viewing Japan'
2024-03-28 09:44:31 | INFO | "./app\services\material.py:44": search_videos - searching videos: https://api.pexels.com/videos/search?query=iconic+locations+Mars&per_page=20&orientation=portrait, with proxies: {}
2024-03-28 09:44:32 | INFO | "./app\services\material.py:104": download_videos - found 19 videos for 'iconic locations Mars'
2024-03-28 09:44:32 | INFO | "./app\services\material.py:112": download_videos - found total videos: 58, required duration: 37 seconds, found duration: 792.0 seconds
2024-03-28 09:44:32 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/7957512/7957512-hd_1080_1920_24fps.mp4
2024-03-28 09:44:35 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/7958544/7958544-hd_1080_1920_24fps.mp4
2024-03-28 09:44:37 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/7957505/7957505-hd_1080_1920_24fps.mp4
2024-03-28 09:44:39 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/8474606/8474606-hd_1080_1920_30fps.mp4
2024-03-28 09:44:41 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/8474604/8474604-hd_1080_1920_30fps.mp4
2024-03-28 09:44:43 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/5236699/5236699-hd_1080_1920_30fps.mp4
2024-03-28 09:44:45 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/8474624/8474624-hd_1080_1920_30fps.mp4
2024-03-28 09:44:48 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/5828443/5828443-hd_1080_1920_24fps.mp4
2024-03-28 09:44:50 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/6831465/6831465-hd_1080_1920_25fps.mp4
2024-03-28 09:44:53 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/8474652/8474652-hd_1080_1920_30fps.mp4
2024-03-28 09:44:54 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/17670609/17670609-hd_1080_1920_24fps.mp4
2024-03-28 09:44:56 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/7958755/7958755-hd_1080_1920_24fps.mp4
2024-03-28 09:44:58 | INFO | "./app\services\material.py:123": download_videos - downloading video: https://videos.pexels.com/video-files/7958071/7958071-hd_1080_1920_24fps.mp4
2024-03-28 09:45:00 | INFO | "./app\services\material.py:129": download_videos - total duration of downloaded videos: 39.0 seconds, skip downloading more
2024-03-28 09:45:00 | SUCCESS | "./app\services\material.py:133": download_videos - downloaded 13 videos
2024-03-28 09:45:00 | INFO | "./app\services\task.py:138": start -

combining video: 1 => .\storage\tasks\e85d935d-f409-4fc6-b126-88a179f78833\combined-1.mp4

2024-03-28 09:45:00 | INFO | "./app\services\video.py:39": combine_videos - max duration of audio: 37.15 seconds
2024-03-28 09:45:00 | INFO | "./app\services\video.py:43": combine_videos - each clip will be maximum 3 seconds long
2024-03-28 09:45:04 | INFO | "./app\services\video.py:83": combine_videos - resizing video to 1080 x 1920
2024-03-28 09:45:04.428 Uncaught app exception
Traceback (most recent call last):
File "D:\Software\Anaconda\Lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 542, in _run_script
exec(code, module.dict)
File "D:\Software\Git\dates\MoneyPrinterTurbo\MoneyPrinterTurbo\webui\Main.py", line 264, in
tm.start(task_id=task_id, params=cfg)
File "D:\Software\Git\dates\MoneyPrinterTurbo\MoneyPrinterTurbo\app\services\task.py", line 139, in start
video.combine_videos(combined_video_path=combined_video_path,
File "D:\Software\Git\dates\MoneyPrinterTurbo\MoneyPrinterTurbo\app\services\video.py", line 84, in combine_videos
clip = clip.resize((video_width, video_height))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Software\Anaconda\Lib\site-packages\moviepy\video\fx\resize.py", line 165, in resize
newclip = clip.fl_image(fl)
^^^^^^^^^^^^^^^^^
File "D:\Software\Anaconda\Lib\site-packages\moviepy\video\VideoClip.py", line 576, in fl_image
return self.fl(lambda gf, t: image_func(gf(t)), apply_to)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Software\Anaconda\Lib\site-packages\moviepy\Clip.py", line 141, in fl
newclip = self.set_make_frame(lambda t: fun(self.get_frame, t))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 2, in set_make_frame
File "D:\Software\Anaconda\Lib\site-packages\moviepy\decorators.py", line 15, in outplace
f(newclip, *a, **k)
File "D:\Software\Anaconda\Lib\site-packages\moviepy\video\VideoClip.py", line 740, in set_make_frame
self.size = self.get_frame(0).shape[:2][::-1]
^^^^^^^^^^^^^^^^^
File "", line 2, in get_frame
File "D:\Software\Anaconda\Lib\site-packages\moviepy\decorators.py", line 89, in wrapper
return f(*new_a, **new_kw)
^^^^^^^^^^^^^^^^^^^
File "D:\Software\Anaconda\Lib\site-packages\moviepy\Clip.py", line 98, in get_frame
return self.make_frame(t)
^^^^^^^^^^^^^^^^^^
File "D:\Software\Anaconda\Lib\site-packages\moviepy\Clip.py", line 141, in
newclip = self.set_make_frame(lambda t: fun(self.get_frame, t))
^^^^^^^^^^^^^^^^^^^^^^
File "D:\Software\Anaconda\Lib\site-packages\moviepy\video\VideoClip.py", line 576, in
return self.fl(lambda gf, t: image_func(gf(t)), apply_to)
^^^^^^^^^^^^^^^^^
File "D:\Software\Anaconda\Lib\site-packages\moviepy\video\fx\resize.py", line 163, in fl
return resizer(pic.astype("uint8"), newsize)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Software\Anaconda\Lib\site-packages\moviepy\video\fx\resize.py", line 37, in resizer
resized_pil = pilim.resize(newsize[::-1], Image.ANTIALIAS)

^^^^^^^^^^^^^^^
AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS'

试试降级 Pillow 的版本看看

pip uninstall Pillow
pip install Pillow==9.5.0

这个方法可以,谢谢

试试降级 Pillow 的版本看看

pip uninstall Pillow
pip install Pillow==9.5.0