【文生视频系列】MoneyPrinterTurbo项目初探

news2024/11/16 20:40:48

1. 背景介绍   

        一直有在关注文生视频方面的进展信息。比较知名的可能还是sora这类文生视频模型。但今天要讲的是另外的文生视频项目,也是偶然间在git上看到的,项目名称叫MoneyPrinterTurbo,是基于MoneyPrinter项目增加了中文支持,虽然使用方式和sora这类可能类似,通过大模型生成视频的脚本信息,然后通过模型进行生成。但又有其不同点,它是通过视频描述信息生成关键词,然后基于关键词对图像视频网站进行检索出相关视频片段后,进行视频合并,并配音,生成最终的视频,原理类似于视频剪辑,并不复杂。

        实际操作下来,发现虽然MoneyPrinterTurbo支持了中文,但是由于视频素材网站还是以外国网站为主,所以基于中文关键词翻译成英文,再去检索的效果比较差。实际体验下来用英文生成视频的效果远好于中文,但质量也不要太报过高的期待,感觉可用但还不够,字幕描述和视频画面一致性还有待提升。由于网络质量问题,执行过程中,从视频素材网站下载内容,可能会出现多次错误,需要频繁尝试才行。假如能利用国内的视频素材,这个项目的生成质量还是可以的。

2. 实验案例展示

2.1 案例1

页面配置:

视频主题:

health and fitness

视频提示语:

Incorporating a healthy lifestyle is essential for overall well-being. Regular exercise, a balanced diet, and adequate sleep are the cornerstones of a healthy routine. Exercise not only helps in maintaining a healthy weight but also improves cardiovascular health, boosts mood, and strengthens muscles and bones. A balanced diet rich in fruits, vegetables, lean proteins, and whole grains provides essential nutrients for the body to function optimally. Additionally, getting enough sleep is crucial for physical and mental health, as it allows the body to recover and rejuvenate. By making these small changes, one can significantly improve their health and fitness.

关键词:

Health and Fitness Lifestyle, Exercise and Nutrition, Cardiovascular Health Benefits, Balanced Diet Importance, Muscle and Bone Strength

执行日志:

2024-07-28 15:06:36.803 | INFO     | __main__:<module>:783 - 开始生成视频
2024-07-28 15:06:36.804 | INFO     | __main__:<module>:784 - {
    "video_subject": "health and fitness",
    "video_script": "Incorporating a healthy lifestyle is essential for overall well-being. Regular exercise, a balanced diet, and adequate sleep are the cornerstones of a healthy routine. Exercise not only helps in maintaining a healthy weight but also improves cardiovascular health, boosts mood, and strengthens muscles and bones. A balanced diet rich in fruits, vegetables, lean proteins, and whole grains provides essential nutrients for the body to function optimally. Additionally, getting enough sleep is crucial for physical and mental health, as it allows the body to recover and rejuvenate. By making these small changes, one can significantly improve their health and fitness.",
    "video_terms": "Health and Fitness Lifestyle, Exercise and Nutrition, Cardiovascular Health Benefits, Balanced Diet Importance, Muscle and Bone Strength",
    "video_aspect": "9:16",
    "video_concat_mode": "random",
    "video_clip_duration": 5,
    "video_count": 1,
    "video_source": "pexels",
    "video_materials": null,
    "video_language": "",
    "voice_name": "en-US-BrianNeural-Male",
    "voice_volume": 1.0,
    "voice_rate": 1.0,
    "bgm_type": "random",
    "bgm_file": "",
    "bgm_volume": 0.2,
    "subtitle_enabled": true,
    "subtitle_position": "bottom",
    "custom_position": 70.0,
    "font_name": "MicrosoftYaHeiBold.ttc",
    "text_fore_color": "#FFFFFF",
    "text_background_color": "transparent",
    "font_size": 60,
    "stroke_color": "#000000",
    "stroke_width": 1.5,
    "n_threads": 2,
    "paragraph_number": 1
}
2024-07-28 15:06:36.805 | INFO     | app.services.task:start:210 - start task: 9e3da794-f3b0-446f-8c9e-576774525370, stop_at: video
2024-07-28 15:06:36.805 | INFO     | app.services.task:generate_script:18 - 
## generating video script
2024-07-28 15:06:36.806 | DEBUG    | app.services.task:generate_script:27 - video script: 
Incorporating a healthy lifestyle is essential for overall well-being. Regular exercise, a balanced diet, and adequate sleep are the cornerstones of a healthy routine. Exercise not only helps in maintaining a healthy weight but also improves cardiovascular health, boosts mood, and strengthens muscles and bones. A balanced diet rich in fruits, vegetables, lean proteins, and whole grains provides essential nutrients for the body to function optimally. Additionally, getting enough sleep is crucial for physical and mental health, as it allows the body to recover and rejuvenate. By making these small changes, one can significantly improve their health and fitness.
2024-07-28 15:06:36.806 | INFO     | app.services.task:generate_terms:38 - 
## generating video terms
2024-07-28 15:06:36.807 | DEBUG    | app.services.task:generate_terms:52 - video terms: [
    "Health and Fitness Lifestyle",
    "Exercise and Nutrition",
    "Cardiovascular Health Benefits",
    "Balanced Diet Importance",
    "Muscle and Bone Strength"
]
2024-07-28 15:06:36.814 | INFO     | app.services.task:generate_audio:75 - 
## generating audio
2024-07-28 15:06:36.816 | INFO     | app.services.voice:azure_tts_v1:1057 - start, voice name: en-US-BrianNeural, try: 1
2024-07-28 15:06:47.004 | INFO     | app.services.voice:azure_tts_v1:1077 - completed, output file: ./storage/tasks/9e3da794-f3b0-446f-8c9e-576774525370/audio.mp3
2024-07-28 15:06:47.008 | INFO     | app.services.task:generate_subtitle:103 - 
## generating subtitle, provider: edge
2024-07-28 15:06:47.015 | INFO     | app.services.voice:create_subtitle:1262 - completed, subtitle file created: ./storage/tasks/9e3da794-f3b0-446f-8c9e-576774525370/subtitle.srt, duration: 41.712
2024-07-28 15:06:47.017 | INFO     | app.services.task:get_video_materials:141 - 
## downloading videos from pexels
2024-07-28 15:06:47.018 | INFO     | app.services.material:search_videos_pexels:47 - searching videos: https://api.pexels.com/videos/search?query=Health+and+Fitness+Lifestyle&per_page=20&orientation=portrait, with proxies: {}
2024-07-28 15:06:52.041 | ERROR    | app.services.material:search_videos_pexels:83 - search videos failed: HTTPSConnectionPool(host='api.pexels.com', port=443): Max retries exceeded with url: /videos/search?query=Health+and+Fitness+Lifestyle&per_page=20&orientation=portrait (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1007)')))
2024-07-28 15:06:52.044 | INFO     | app.services.material:download_videos:208 - found 0 videos for 'Health and Fitness Lifestyle'
2024-07-28 15:06:52.046 | INFO     | app.services.material:search_videos_pexels:47 - searching videos: https://api.pexels.com/videos/search?query=Exercise+and+Nutrition&per_page=20&orientation=portrait, with proxies: {}
2024-07-28 15:06:53.399 | INFO     | app.services.material:download_videos:208 - found 18 videos for 'Exercise and Nutrition'
2024-07-28 15:06:53.401 | INFO     | app.services.material:search_videos_pexels:47 - searching videos: https://api.pexels.com/videos/search?query=Cardiovascular+Health+Benefits&per_page=20&orientation=portrait, with proxies: {}
2024-07-28 15:06:54.544 | INFO     | app.services.material:download_videos:208 - found 18 videos for 'Cardiovascular Health Benefits'
2024-07-28 15:06:54.547 | INFO     | app.services.material:search_videos_pexels:47 - searching videos: https://api.pexels.com/videos/search?query=Balanced+Diet+Importance&per_page=20&orientation=portrait, with proxies: {}
2024-07-28 15:06:59.567 | ERROR    | app.services.material:search_videos_pexels:83 - search videos failed: HTTPSConnectionPool(host='api.pexels.com', port=443): Max retries exceeded with url: /videos/search?query=Balanced+Diet+Importance&per_page=20&orientation=portrait (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1007)')))
2024-07-28 15:06:59.576 | INFO     | app.services.material:download_videos:208 - found 0 videos for 'Balanced Diet Importance'
2024-07-28 15:06:59.578 | INFO     | app.services.material:search_videos_pexels:47 - searching videos: https://api.pexels.com/videos/search?query=Muscle+and+Bone+Strength&per_page=20&orientation=portrait, with proxies: {}
2024-07-28 15:07:04.596 | ERROR    | app.services.material:search_videos_pexels:83 - search videos failed: HTTPSConnectionPool(host='api.pexels.com', port=443): Max retries exceeded with url: /videos/search?query=Muscle+and+Bone+Strength&per_page=20&orientation=portrait (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1007)')))
2024-07-28 15:07:04.600 | INFO     | app.services.material:download_videos:208 - found 0 videos for 'Muscle and Bone Strength'
2024-07-28 15:07:04.601 | INFO     | app.services.material:download_videos:216 - found total videos: 25, required duration: 42 seconds, found duration: 479.0 seconds
2024-07-28 15:07:04.603 | INFO     | app.services.material:download_videos:233 - downloading video: https://videos.pexels.com/video-files/5528012/5528012-hd_1080_1920_25fps.mp4
2024-07-28 15:07:09.299 | INFO     | app.services.material:download_videos:238 - video saved: ./storage/cache_videos/vid-cfd843b3fd33e3532131e7a7e78116d4.mp4
2024-07-28 15:07:09.300 | INFO     | app.services.material:download_videos:233 - downloading video: https://videos.pexels.com/video-files/5310962/5310962-hd_1080_1920_25fps.mp4
2024-07-28 15:07:09.301 | INFO     | app.services.material:save_video:158 - video already exists: ./storage/cache_videos/vid-d0a022f903340954ed6723349c4d7218.mp4
2024-07-28 15:07:09.302 | INFO     | app.services.material:download_videos:238 - video saved: ./storage/cache_videos/vid-d0a022f903340954ed6723349c4d7218.mp4
2024-07-28 15:07:09.302 | INFO     | app.services.material:download_videos:233 - downloading video: https://videos.pexels.com/video-files/6740718/6740718-hd_1080_1920_25fps.mp4
2024-07-28 15:07:15.488 | INFO     | app.services.material:download_videos:238 - video saved: ./storage/cache_videos/vid-d491e5f68e92df5d1c82df611fee789a.mp4
2024-07-28 15:07:15.492 | INFO     | app.services.material:download_videos:233 - downloading video: https://videos.pexels.com/video-files/5310966/5310966-hd_1080_1920_25fps.mp4
2024-07-28 15:07:15.495 | INFO     | app.services.material:save_video:158 - video already exists: ./storage/cache_videos/vid-d1fd2830013c4c68eea71fc1bcb71325.mp4
2024-07-28 15:07:15.495 | INFO     | app.services.material:download_videos:238 - video saved: ./storage/cache_videos/vid-d1fd2830013c4c68eea71fc1bcb71325.mp4
2024-07-28 15:07:15.496 | INFO     | app.services.material:download_videos:233 - downloading video: https://videos.pexels.com/video-files/6893205/6893205-hd_1080_1920_25fps.mp4
2024-07-28 15:07:19.030 | INFO     | app.services.material:download_videos:238 - video saved: ./storage/cache_videos/vid-37eb1326ec50872f829b98a80159a201.mp4
2024-07-28 15:07:19.031 | INFO     | app.services.material:download_videos:233 - downloading video: https://videos.pexels.com/video-files/6707359/6707359-hd_1080_1920_25fps.mp4
2024-07-28 15:07:23.727 | INFO     | app.services.material:download_videos:238 - video saved: ./storage/cache_videos/vid-49bf808f0b13a74e93673a230c2d40da.mp4
2024-07-28 15:07:23.728 | INFO     | app.services.material:download_videos:233 - downloading video: https://videos.pexels.com/video-files/7017803/7017803-hd_1080_1920_30fps.mp4
2024-07-28 15:07:23.729 | INFO     | app.services.material:save_video:158 - video already exists: ./storage/cache_videos/vid-dde20b6d271f06194124dd94bd6f24ff.mp4
2024-07-28 15:07:23.729 | INFO     | app.services.material:download_videos:238 - video saved: ./storage/cache_videos/vid-dde20b6d271f06194124dd94bd6f24ff.mp4
2024-07-28 15:07:23.730 | INFO     | app.services.material:download_videos:233 - downloading video: https://videos.pexels.com/video-files/5319426/5319426-hd_1080_1920_25fps.mp4
2024-07-28 15:07:28.742 | ERROR    | app.services.material:download_videos:248 - failed to download video: {
    "provider": "pexels",
    "url": "https://videos.pexels.com/video-files/5319426/5319426-hd_1080_1920_25fps.mp4",
    "duration": 19
} => HTTPSConnectionPool(host='videos.pexels.com', port=443): Max retries exceeded with url: /video-files/5319426/5319426-hd_1080_1920_25fps.mp4 (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1007)')))
2024-07-28 15:07:28.748 | INFO     | app.services.material:download_videos:233 - downloading video: https://videos.pexels.com/video-files/5645107/5645107-hd_1080_1920_25fps.mp4
2024-07-28 15:07:33.356 | INFO     | app.services.material:download_videos:238 - video saved: ./storage/cache_videos/vid-25a6036bfe6839e5378354e84b63ae62.mp4
2024-07-28 15:07:33.359 | INFO     | app.services.material:download_videos:233 - downloading video: https://videos.pexels.com/video-files/3694919/3694919-hd_1080_1920_30fps.mp4
2024-07-28 15:07:38.374 | ERROR    | app.services.material:download_videos:248 - failed to download video: {
    "provider": "pexels",
    "url": "https://videos.pexels.com/video-files/3694919/3694919-hd_1080_1920_30fps.mp4",
    "duration": 23
} => HTTPSConnectionPool(host='videos.pexels.com', port=443): Max retries exceeded with url: /video-files/3694919/3694919-hd_1080_1920_30fps.mp4 (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1007)')))
2024-07-28 15:07:38.377 | INFO     | app.services.material:download_videos:233 - downloading video: https://videos.pexels.com/video-files/5320011/5320011-hd_1080_1920_25fps.mp4
2024-07-28 15:07:38.380 | INFO     | app.services.material:save_video:158 - video already exists: ./storage/cache_videos/vid-81294f94e5ac183e7de4a0582ff48144.mp4
2024-07-28 15:07:38.382 | INFO     | app.services.material:download_videos:238 - video saved: ./storage/cache_videos/vid-81294f94e5ac183e7de4a0582ff48144.mp4
2024-07-28 15:07:38.383 | INFO     | app.services.material:download_videos:243 - total duration of downloaded videos: 45.0 seconds, skip downloading more
2024-07-28 15:07:38.385 | SUCCESS  | app.services.material:download_videos:249 - downloaded 9 videos
2024-07-28 15:07:38.387 | INFO     | app.services.task:generate_final_videos:175 - 
## combining video: 1 => ./storage/tasks/9e3da794-f3b0-446f-8c9e-576774525370/combined-1.mp4
2024-07-28 15:07:38.423 | INFO     | app.services.video:combine_videos:42 - max duration of audio: 42.1 seconds
2024-07-28 15:07:38.424 | INFO     | app.services.video:combine_videos:46 - each clip will be maximum 5 seconds long
2024-07-28 15:07:45.101 | INFO     | app.services.video:combine_videos:117 - resizing video to 1080 x 1920, clip size: 720 x 1280
2024-07-28 15:07:45.152 | INFO     | app.services.video:combine_videos:117 - resizing video to 1080 x 1920, clip size: 720 x 1280
2024-07-28 15:07:48.307 | INFO     | app.services.video:combine_videos:117 - resizing video to 1080 x 1920, clip size: 720 x 1280
2024-07-28 15:07:49.312 | INFO     | app.services.video:combine_videos:117 - resizing video to 1080 x 1920, clip size: 720 x 1280
2024-07-28 15:07:49.817 | INFO     | app.services.video:combine_videos:129 - writing
2024-07-28 15:08:54.208 | SUCCESS  | app.services.video:combine_videos:140 - completed
2024-07-28 15:08:54.213 | INFO     | app.services.task:generate_final_videos:191 - 
## generating video: 1 => ./storage/tasks/9e3da794-f3b0-446f-8c9e-576774525370/final-1.mp4
2024-07-28 15:08:54.213 | INFO     | app.services.video:generate_video:212 - start, video size: 1080 x 1920
2024-07-28 15:08:54.214 | INFO     | app.services.video:generate_video:213 -   ① video: ./storage/tasks/9e3da794-f3b0-446f-8c9e-576774525370/combined-1.mp4
2024-07-28 15:08:54.214 | INFO     | app.services.video:generate_video:214 -   ② audio: ./storage/tasks/9e3da794-f3b0-446f-8c9e-576774525370/audio.mp3
2024-07-28 15:08:54.215 | INFO     | app.services.video:generate_video:215 -   ③ subtitle: ./storage/tasks/9e3da794-f3b0-446f-8c9e-576774525370/subtitle.srt
2024-07-28 15:08:54.215 | INFO     | app.services.video:generate_video:216 -   ④ output: ./storage/tasks/9e3da794-f3b0-446f-8c9e-576774525370/final-1.mp4
2024-07-28 15:08:54.216 | INFO     | app.services.video:generate_video:231 - using font: ./resource/fonts/MicrosoftYaHeiBold.ttc
2024-07-28 15:09:56.414 | SUCCESS  | app.services.video:generate_video:302 - completed
2024-07-28 15:09:56.432 | SUCCESS  | app.services.task:start:307 - task 9e3da794-f3b0-446f-8c9e-576774525370 finished, generated 1 videos.
2024-07-28 15:09:56.455 | INFO     | __main__:<module>:805 - 视频生成完成

日志主要步骤:

## generating video script

## generating video terms

## generating audio

## generating subtitle, provider: edge

## downloading videos from pexels

## combining video

## generating video

生成视频结果:

AIGC文生视频-health and fitness

3. 项目安装流程

项目地址:

MoneyPrinterTurbo

项目功能:

提供一个视频主题,就可以全自动生成视频文案、视频素材、视频字幕、视频背景音乐,然后合成一个高清的短视频。

资源要求:

  • 建议最低 CPU 4核或以上,内存 8G 或以上,显卡非必须
  • Windows 10 或 MacOS 11.0 以上系统

安装流程:

1. 下载项目
git clone https://github.com/harry0703/MoneyPrinterTurbo.git        

2.修改配置文件

  • 将 config.example.toml 文件复制一份,命名为 config.toml
  • 按照 config.toml 文件中的说明,配置好 pexels_api_keys 和 llm_provider,并根据 llm_provider 对应的服务商,配置相关的 API Key

这里我使用的llm_provider是月之暗面,其实这种中文的生成,对于现有绝大多数大模型来说,都不是什么大问题。

3.安装docker并启动
cd MoneyPrinterTurbo

docker compose up

4. 访问Web界面

打开浏览器,访问 http://0.0.0.0:8501

就可以看到刚才示例中的编辑页面了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1956154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

R语言统计分析——自编函数

参考资料&#xff1a;R语言统计分析【第2版】 一个函数的结构大致如此&#xff1a; myfunction<-function(arg1,arg2,...){ statements return(object) } 函数中的对象只在函数内部使用。返回对象的数据类型是任意的。 假设我们要编写一个函数&#xff0c;用来计算数据对象…

【C++BFS算法 二分查找】2812. 找出最安全路径

本文涉及知识点 CBFS算法 C二分查找 LeetCode2812. 找出最安全路径 给你一个下标从 0 开始、大小为 n x n 的二维矩阵 grid &#xff0c;其中 (r, c) 表示&#xff1a; 如果 grid[r][c] 1 &#xff0c;则表示一个存在小偷的单元格 如果 grid[r][c] 0 &#xff0c;则表示一…

【C语言篇】C语言常见概念

文章目录 C语言常见概念C语言是什么C语⾔的历史和辉煌编译器选择编译和连接编译器对比 第一段C语言代码main函数库函数关键字介绍字符和ASCII编码转义字符语句空语句表达式语句函数调⽤语句复合语句控制语句 注释两种形式/* */的形式//形式注释会被替换注释会被替换 C语言常见概…

关键路径算法(Critical Path)

这个算法《算法导论》中并没有提及&#xff0c;很多书和博客说的有点奇怪&#xff0c;所以写本文作为笔记。 关键路径是什么 关键路径的定义非常简单&#xff1a;就是一个图中&#xff0c;权值之和最大的路径就是关键路径。 那么就可以知道关键路径不唯一。 为什么有关键路…

让大脑处于顶峰的14个保养技巧

让大脑处于顶峰的14个保养技巧 阅读。 之所以第一个写阅读&#xff0c;是因为阅读需要大脑将已认知的信息与新接触信息结合从而更容易激发人的想象力&#xff0c;而图片与视频虽然更直观&#xff0c;但理解和思考的过程却缩短了&#xff0c;大脑得到的锻炼也十分局限。阅读是让…

Typesript的type和interface的异同?

详解TypeScript中type与interface的区别_javascript技巧_脚本之家 一、相同的地方 1、都可以用来定义对象&#xff0c;描述函数 我们在用typescript开发的时候经常要用到数据类型定义&#xff0c;比如我们写一个接口或者函数的时候定义传参数据类型及字段等。这样子方便知道这…

opencascade AIS_PointCloud源码学习

AIS_PointCloud 前言 交互对象用于一组点。 表示支持两种显示模式&#xff1a; 点。 用于高亮显示的边界框。 表示通过边界框提供选择。 选择和高亮显示可以通过将默认选择模式设置为 -1 来禁用。 这样在交互视图中将无法选择对象。任何调用 AIS_InteractiveContext::AddOrRem…

Lua编程

文章目录 概述lua数据类型元表注意 闭包表现 实现 lua/c 接口编程skynet中调用层次虚拟栈C闭包注册表userdatalightuserdata 小结 概述 这次是skynet&#xff0c;需要一些lua/c相关的。写一篇博客&#xff0c;记录下。希望有所收获。 lua数据类型 boolean , number , string…

【一图学技术】2.API测试9种方法图解

9种API测试方法 冒烟测试&#xff1a;冒烟测试是一种快速的表面级测试&#xff0c;用于验证软件的基本功能是否正常工作&#xff0c;以确定是否值得进行更详细的测试。功能测试&#xff1a;功能测试是验证软件是否符合预期功能要求的测试类型。它涉及对每个功能进行测试&#…

[C++进阶]对于多态的底层逻辑

上回我们了解到了多态的定义,概念以及实现,对于多态如何使用和使用条件进行了了解,本篇我们将了解多态的原理。 一、虚函数表 首先我们看看如下代码&#xff1a; #include<iostream> using namespace std; class Base { public:virtual void Func1(){cout << &qu…

动手学深度学习V2每日笔记(权重衰退+Dropout)

本文主要参考沐神的视频教程 https://www.bilibili.com/video/BV1UK4y1o7dy/vd_sourcec7bfc6ce0ea0cbe43aa288ba2713e56d 文档教程 https://zh-v2.d2l.ai/ 本文的主要内容对沐神提供的代码中个人不太理解的内容进行笔记记录&#xff0c;内容不会特别严谨仅供参考。 1.函数目录…

百某应JS逆向

https://ying.baichuan-ai.com/ 目录 一、发起提问 二、观察发现有两个加密参数&#xff1a;X-Bc-Sig和X-Bc-Ts ​三、观察JS调用栈 四、从JS中搜索 X-Bc-Sig和X-Bc-Ts 五、断点并分析参数的生成方式 六、分析入参 七、发现关键的o方法调用了一个i()方法 八、验证结果 …

sqlilabs解题方法

Lass1 查询id为1的用户名和密码 查询id为2的用户名和密码 没有回显&#xff0c;不含id-1的行 判断字段数&#xff0c;字段数为3 查询数据库用户名&#xff0c;和数据库名 查询时id必须超出数据库以外&#xff0c;一般用-1 用户名&#xff1a;user() 数据库名&#xff1a;databa…

VulnHub:colddbox easy

靶机下载地址 信息收集 主机发现 攻击机网段192.168.31.0/24&#xff0c;扫描同网段存活主机。 nmap 192.168.31.0/24 -Pn -T4 发现靶机&#xff0c;IP为192.168.31.176。 端口扫描 扫描靶机开放端口。 nmap 192.168.31.176 -A -p- -T4 开放了80,4512端口&#xff0c;注…

[H并查集] lc100347. 判断矩形的两个角落是否可达(并查集+高质量+周赛408_4)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接&#xff1a;100347. 判断矩形的两个角落是否可达 参考&#xff1a; 灵神视频题解&#xff1a;筛质数 巧妙枚举 并查集【力扣周赛 408】 这一期周赛很不错。 2. 题目解析 十分不错的题目哈&#xff0c;关键是题意的转换…

哈希 Hash(闭散列、开散列介绍及其实现)

目录 unordered 系列关联式容器unordered_mapunordered_map 的介绍unordered_map 的接口说明构造函数容量函数迭代器元素访问查询操作修改操作桶操作 unordered_setunordered_set 的介绍unordered_set 的接口说明构造函数容量函数迭代器查询操作修改操作桶操作 底层结构哈希概念…

Catalyst优化器:让你的Spark SQL查询提速10倍

目录 1 逻辑优化阶段 2.1 逻辑计划解析 2.2 逻辑计划优化 2.2.1 Catalys的优化过程 2.2.2 Cache Manager优化 2 物理优化阶段 2.1 优化 Spark Plan 2.1.1 Catalyst 的 Join 策略 2.1.2 如何决定选择哪一种 Join 策略 2.2 Physical Plan 2.2.1 EnsureRequirements 规则 3 相关文…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第五十七章 Linux中断实验

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

python 裁剪图片

情况&#xff1a; 有时候看视频&#xff0c;看到一个漂亮的妹子&#xff0c;按下 Alt PrintScreen 进行截图之后&#xff0c;会把整个屏幕都截图。 需要适当剪裁一下。 每次打开 PS &#xff0c; 也太慢了。 所以写个代码&#xff0c; 快速处理。 效果对比&#xff1a; 原始…

个人定制化形象生成,FaceChain最新模型部署

FaceChain是阿里巴巴达摩院推出的一个开源的人物写真和个人数字形象的AI生成框架。 FaceChain利用了Stable Diffusion模型的文生图功能&#xff0c;并结合人像风格化LoRA模型训练及人脸相关感知理解模型&#xff0c;将输入的图片进行训练后推理输出生成个人写真图像。 FaceCh…