--- title: Image to Video Processing Pipelin emoji: ๐ŸŽฅ colorFrom: green colorTo: red sdk: gradio sdk_version: 3.41.2 app_file: app.py pinned: false license: apache-2.0 --- # VideoProcessingPipeline(SNSๆŠ•็จฟๅ‹•็”ป็”Ÿๆˆใƒ„ใƒผใƒซ) SNSใฎๆŠ•็จฟใฏใ€็”ปๅƒใ‚ˆใ‚Šใ‚‚ๅ‹•็”ปใฎๆ–นใŒๆณจ็›ฎใ‚’้›†ใ‚ใ‚„ใ™ใ„ใ“ใจใŒๅคšใ„ใงใ™ใ€‚ใ—ใ‹ใ—ใ€ๅ‹•็”ปใ‚’ไฝœๆˆใ™ใ‚‹ใฎใฏๆ‰‹้–“ใŒใ‹ใ‹ใ‚‹ใ‚‚ใฎใ€‚ใใ“ใงใ€ๆ‰‹ๆŒใกใฎ็”ปๅƒใ‹ใ‚‰่‡ชๅ‹•ใง้ญ…ๅŠ›็š„ใชๅ‹•็”ปใ‚’็”Ÿๆˆใ™ใ‚‹ๆ–นๆณ•ใ‚’ใ”็ดนไป‹ใ—ใพใ™ใ€‚ ![](https://hamaruki.com/wp-content/uploads/2023/09/00028-1365031933-1-576x1024.png) ## ๆฆ‚่ฆ ### ใ‚นใƒ†ใƒƒใƒ—1: ๅฟ…่ฆใชใƒ„ใƒผใƒซใฎๆบ–ๅ‚™ - Python็’ฐๅขƒ - OpenCV - PIL (Pillow) ใ“ใ‚Œใ‚‰ใฏpipใ‚’ไฝฟใฃใฆ็ฐกๅ˜ใซใ‚คใƒณใ‚นใƒˆใƒผใƒซใงใใพใ™ใ€‚ ```bash pip install opencv-python pillow ``` ### ใ‚นใƒ†ใƒƒใƒ—2: ็”ปๅƒใฎๆบ–ๅ‚™ ใพใšใ€ๅ‹•็”ปใซๅค‰ๆ›ใ—ใŸใ„็”ปๅƒใ‚’ไธ€ใคใฎใƒ•ใ‚ฉใƒซใƒ€ใซใพใจใ‚ใพใ™ใ€‚ใ“ใฎใƒ•ใ‚ฉใƒซใƒ€ใฎใƒ‘ใ‚นใ‚’ๅพŒใงไฝฟ็”จใ—ใพใ™ใ€‚ ### ใ‚นใƒ†ใƒƒใƒ—3: ็”ปๅƒใฎใƒ–ใƒฉใƒผๅ‡ฆ็† ๅ‹•็”ปใ‚’ไฝœๆˆใ™ใ‚‹ๅ‰ใซใ€็”ปๅƒใซใƒ–ใƒฉใƒผๅŠนๆžœใ‚’้ฉ็”จใ—ใพใ™ใ€‚ใ“ใ‚Œใซใ‚ˆใ‚Šใ€ๅ‹•็”ปใŒๆด—็ทดใ•ใ‚ŒใŸ้›ฐๅ›ฒๆฐ—ใ‚’ๆŒใคใ‚ˆใ†ใซใชใ‚Šใพใ™ใ€‚ ไปฅไธ‹ใฎใ‚ฏใƒฉใ‚นใ€`BlurredBackgroundEmbedder`ใ‚’ไฝฟ็”จใ—ใฆใ€็”ปๅƒใซใƒ–ใƒฉใƒผๅŠนๆžœใ‚’้ฉ็”จใ—ใพใ™ใ€‚ ```python processor = BlurredBackgroundEmbedder(r"path/to/your/image_folder") processor.process_all_images() ``` ### ใ‚นใƒ†ใƒƒใƒ—4: ๅ‹•็”ปใฎไฝœๆˆ ใƒ–ใƒฉใƒผๅ‡ฆ็†ใ•ใ‚ŒใŸ็”ปๅƒใ‚’ไฝฟ็”จใ—ใฆใ€ๅ‹•็”ปใ‚’ไฝœๆˆใ—ใพใ™ใ€‚ใ“ใฎๅ‹•็”ปใฏใ€็”ปๅƒใŒไธŠใ‹ใ‚‰ไธ‹ใซใ‚นใ‚ฏใƒญใƒผใƒซใ™ใ‚‹ใ‚ขใƒ‹ใƒกใƒผใ‚ทใƒงใƒณใ‚’ๆŒใฃใฆใ„ใพใ™ใ€‚ ไปฅไธ‹ใฎใ‚ฏใƒฉใ‚นใ€`FrameVideoCreator`ใ‚’ไฝฟ็”จใ—ใฆๅ‹•็”ปใ‚’ไฝœๆˆใ—ใพใ™ใ€‚ ```python video_creator = FrameVideoCreator() video_creator.process_folder(r"path/to/your/image_folder_Blurred") ``` ### ใ‚นใƒ†ใƒƒใƒ—5: ๅ‹•็”ปใฎ้€ฃ็ต ่ค‡ๆ•ฐใฎๅ‹•็”ปใ‚’ไธ€ใคใซ้€ฃ็ตใ—ใพใ™ใ€‚ใพใŸใ€ๅ‹•็”ป้–“ใฎ้ท็งปใฏใ‚นใƒ ใƒผใ‚บใชใ‚ขใƒซใƒ•ใ‚กใƒ–ใƒฌใƒณใƒ‰ใŒ้ฉ็”จใ•ใ‚Œใพใ™ใ€‚ ```python merger = VideoMergerWithSmoothTransition() input_folder_path = r"path/to/your/image_folder_Blurred_mov" output_folder_path = f"{input_folder_path}_Final" os.makedirs(output_folder_path, exist_ok=True) output_video_path = os.path.join(output_folder_path, "concatenated_video.mp4") merger.merge_videos(input_folder_path, output_video_path) ``` ### ใ‚นใƒ†ใƒƒใƒ—6: ๅ‹•็”ปใฎ็ขบ่ช ๅ‡บๅŠ›ใƒ•ใ‚ฉใƒซใƒ€ใซไฟๅญ˜ใ•ใ‚ŒใŸๅ‹•็”ปใ‚’็ขบ่ชใ—ใพใ™ใ€‚ใ“ใฎๅ‹•็”ปใ‚’SNSใซใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ™ใ‚‹ใ“ใจใงใ€้ญ…ๅŠ›็š„ใชๆŠ•็จฟใ‚’็ฐกๅ˜ใซไฝœๆˆใงใใพใ™ใ€‚ ## ไฝฟ็”จๆ–นๆณ• `VideoProcessingPipeline`ใฏใ€ๆŒ‡ๅฎšใ•ใ‚ŒใŸ็”ปๅƒใƒ•ใ‚ฉใƒซใƒ€ๅ†…ใฎ็”ปๅƒใ‚’ๅ‡ฆ็†ใ—ใ€ๅ‹•็”ปใ‚’ไฝœๆˆใ—ใ€ๅ‹•็”ปใ‚’้€ฃ็ตใ™ใ‚‹ไธ€้€ฃใฎใ‚ฟใ‚นใ‚ฏใ‚’ๅฎŸ่กŒใ™ใ‚‹Pythonใ‚ฏใƒฉใ‚นใงใ™ใ€‚ ### ใ‚ฏใ‚คใƒƒใ‚ฏใ‚นใ‚ฟใƒผใƒˆ 1. ใพใšใ€ๅฟ…่ฆใชใƒขใ‚ธใƒฅใƒผใƒซใ‚’ใ‚คใƒณใƒใƒผใƒˆใ—ใพใ™ใ€‚ ```python from modules.utils import v_image_blurred_utils from modules.BlurredBackgroundEmbedder import BlurredBackgroundEmbedder from modules.FrameVideoCreator import FrameVideoCreator from modules.Transition.VideoMergerWithSmoothTransition import VideoMergerWithSmoothTransition ``` 1. `VideoProcessingPipeline`ใ‚ฏใƒฉใ‚นใ‚’ๅˆๆœŸๅŒ–ใ—ใพใ™ใ€‚ใ“ใฎใจใใ€็”ปๅƒใŒๆ ผ็ดใ•ใ‚Œใฆใ„ใ‚‹ใƒ•ใ‚ฉใƒซใƒ€ใฎใƒ‘ใ‚นใ‚’ๅผ•ๆ•ฐใจใ—ใฆๆธกใ—ใพใ™ใ€‚ ```python pipeline = VideoProcessingPipeline(r"path/to/your/image_folder") ``` 1. `execute_pipeline`ใƒกใ‚ฝใƒƒใƒ‰ใ‚’ๅ‘ผใณๅ‡บใ—ใฆใ€็”ปๅƒใฎๅ‡ฆ็†ใ€ๅ‹•็”ปใฎไฝœๆˆใ€ๅ‹•็”ปใฎ้€ฃ็ตใ‚’้ †็•ชใซๅฎŸ่กŒใ—ใพใ™ใ€‚ ```python pipeline.execute_pipeline() ``` ### ๅ†…้ƒจใฎๅ‹•ไฝœ - **็”ปๅƒใฎใƒ–ใƒฉใƒผๅ‡ฆ็†** : ็”ปๅƒใซใƒ–ใƒฉใƒผๅŠนๆžœใ‚’้ฉ็”จใ—ใ€ๆ–ฐใ—ใ„ใƒ•ใ‚ฉใƒซใƒ€ใซไฟๅญ˜ใ—ใพใ™ใ€‚ - **ๅ‹•็”ปใฎไฝœๆˆ** : ใƒ–ใƒฉใƒผๅ‡ฆ็†ใ•ใ‚ŒใŸ็”ปๅƒใ‹ใ‚‰ใ€ไธŠใ‹ใ‚‰ไธ‹ใซ็งปๅ‹•ใ™ใ‚‹ใ‚ขใƒ‹ใƒกใƒผใ‚ทใƒงใƒณๅŠนๆžœใ‚’ๆŒใคๅ‹•็”ปใ‚’ไฝœๆˆใ—ใพใ™ใ€‚ - **ๅ‹•็”ปใฎ้€ฃ็ต** : ใ™ในใฆใฎๅ‹•็”ปใ‚’ไธ€ใคใฎๅ‹•็”ปใซ้€ฃ็ตใ—ใพใ™ใ€‚ๅ‹•็”ป้–“ใฎ้ท็งปใฏใ‚นใƒ ใƒผใ‚บใชใ‚ขใƒซใƒ•ใ‚กใƒ–ใƒฌใƒณใƒ‰ใŒ้ฉ็”จใ•ใ‚Œใพใ™ใ€‚ ### ๆณจๆ„็‚น - ๅ…ฅๅŠ›ใจใ—ใฆๆธกใ•ใ‚Œใ‚‹็”ปๅƒใƒ•ใ‚ฉใƒซใƒ€ใซใฏใ€้€ฃ็ตใ—ใŸใ„็”ปๅƒใฎใฟใŒๅซใพใ‚Œใฆใ„ใ‚‹ใ“ใจใ‚’็ขบ่ชใ—ใฆใใ ใ•ใ„ใ€‚ - ็”Ÿๆˆใ•ใ‚Œใ‚‹ๅ‹•็”ปใฏใ€`image_folder_Blurred_mov_Final`ใจใ„ใ†ๅๅ‰ใฎใƒ•ใ‚ฉใƒซใƒ€ใซไฟๅญ˜ใ•ใ‚Œใพใ™ใ€‚ ## ่งฃ่ชฌใ‚ตใ‚คใƒˆ ่ฉณ็ดฐใช่งฃ่ชฌใฏใ“ใกใ‚‰ https://hamaruki.com/automatically-generate-posted-videos-from-images/ ## ใพใจใ‚ Pythonใ‚’ไฝฟ็”จใ—ใฆใ€ๆ‰‹ๆŒใกใฎ็”ปๅƒใ‹ใ‚‰SNSใซๆŠ•็จฟใ™ใ‚‹ใŸใ‚ใฎๅ‹•็”ปใ‚’็ฐกๅ˜ใซ่‡ชๅ‹•็”Ÿๆˆใ™ใ‚‹ๆ–นๆณ•ใ‚’ๅญฆใณใพใ—ใŸใ€‚ใ“ใฎๆ–นๆณ•ใ‚’ๆดป็”จใ™ใ‚Œใฐใ€่ฆ–่ฆš็š„ใซ้ญ…ๅŠ›็š„ใชSNSใฎๆŠ•็จฟใ‚’็ฐกๅ˜ใซไฝœๆˆใงใใพใ™ใ€‚ๅˆๅฟƒ่€…ใฎๆ–นใงใ‚‚ใ€ใ‚นใƒ†ใƒƒใƒ—ใ‚’่ฟฝใฃใฆๅฎŸ่กŒใ™ใ‚Œใฐใ€ๆ‰‹่ปฝใซๅ‹•็”ปใ‚’็”Ÿๆˆใงใใ‚‹ใฎใงใ€ใœใฒ่ฉฆใ—ใฆใฟใฆใใ ใ•ใ„ใ€‚