スキル一覧に戻る
randysalars

video-assembly

by randysalars

0🍴 0📅 2026年1月25日
GitHubで見るManusで実行

SKILL.md


name: Video Assembly tier: 3 load_policy: task-specific description: Assemble final video from audio, images, and subtitles version: 1.0.0 parent_skill: production-operations

Video Assembly Skill

The Visual Wrapper for the Audio Journey

This skill handles assembling the final video from mastered audio, scene images, and VTT subtitles.


Purpose

Create YouTube-ready video files that complement the hypnotic audio experience.


Video Standards

ParameterStandard
Resolution1920x1080 (Full HD)
Aspect Ratio16:9
CodecH.264
Frame Rate24 fps (cinematic)
Audio CodecAAC 320kbps
ContainerMP4

Input Requirements

InputFileRequired
Master Audio{session}_MASTER.mp3Yes
Scene Imagesimages/uploaded/*.pngYes
Subtitlesoutput/subtitles.vttYes

Scene Image Generation

Primary Method: Stable Diffusion (Default)

python3 scripts/core/generate_scene_images.py sessions/{session}/

Alternative: Midjourney Prompts

python3 scripts/core/generate_scene_images.py sessions/{session}/ --midjourney-only

Alternative: Stock Images

python3 scripts/core/generate_scene_images.py sessions/{session}/ --method stock

Image Specifications

PropertyRequirement
Resolution1920x1080 minimum
FormatPNG or JPEG
Aspect Ratio16:9
Namingscene_01.png, scene_02.png, etc.

VTT Subtitle Generation

python3 scripts/ai/vtt_generator.py sessions/{session}

VTT Format

WEBVTT
Kind: captions
Language: en

1
00:00:00.000 --> 00:00:05.500
Welcome to this healing journey.

2
00:00:06.000 --> 00:00:12.000
Find a comfortable position and
allow your eyes to close.

Subtitle Guidelines

GuidelineValue
Max lines per caption2
Max characters per line~80
Min duration1.5 seconds
Max duration7 seconds

Video Assembly Command

python3 scripts/core/assemble_session_video.py sessions/{session}/

This automatically:

  • Sequences images based on script sections
  • Adds cross-fade transitions
  • Syncs subtitles to audio
  • Outputs to output/video/session_final.mp4

Manual FFmpeg Assembly

For custom control:

# Create video from images with audio
ffmpeg -y \
  -framerate 1/10 \
  -pattern_type glob -i 'images/uploaded/*.png' \
  -i output/{session}_MASTER.mp3 \
  -c:v libx264 -r 24 -pix_fmt yuv420p \
  -c:a aac -b:a 320k \
  -shortest \
  output/video/session_final.mp4

Image-to-Section Mapping

Images should correspond to script sections:

ImageSectionTiming
scene_01.pngPre-Talk0:00-3:00
scene_02.pngInduction3:00-8:00
scene_03.pngDeepening8:00-12:00
scene_04.pngJourney Start12:00-17:00
scene_05.pngJourney Core17:00-22:00
scene_06.pngHelm/Deepest22:00-25:00
scene_07.pngIntegration25:00-28:00
scene_08.pngEmergence28:00-30:00

Transition Effects

TransitionDurationUse For
Cross-dissolve2-3 secondsSection transitions
Fade from black3 secondsOpening
Fade to black3 secondsClosing

Output Files

FileLocationPurpose
Final videooutput/video/session_final.mp4Direct use
YouTube copyoutput/youtube_package/final_video.mp4Upload ready

Video Overlay Generation

Generate supporting graphics:

python3 scripts/core/generate_video_images.py sessions/{session}/ --all

Creates:

  • title_card.png - Video intro screen
  • sections/section_*.png - Chapter transitions
  • outro.png - End screen
  • social_preview.png - Social sharing

Quality Verification

After assembly:

# Check video properties
ffprobe -v error -show_format -show_streams output/video/session_final.mp4

# Play with VLC to verify sync
vlc output/video/session_final.mp4

Quality Checklist

  • Resolution is 1920x1080
  • Frame rate is 24 fps
  • Audio syncs with subtitles
  • Transitions are smooth
  • No visible artifacts
  • Duration matches audio
  • File size reasonable (<2GB for 30 min)

Troubleshooting

IssueCauseSolution
Audio/video desyncDifferent durationsUse -shortest flag
Pixelated videoWrong pixel formatUse -pix_fmt yuv420p
Green framesImage format issueConvert images to PNG
Subtitle timing offVTT not scaledRegenerate VTT with actual audio duration
File too largeBitrate too highUse -crf 23 for smaller file

Integration with Pipeline

Before (dependencies):

  • Audio mastered ({session}_MASTER.mp3)
  • Scene images ready (images/uploaded/)
  • VTT subtitles generated (output/subtitles.vtt)

After (next steps):

  • YouTube packaging

  • Skill: tier3-production/audio-mixing/ (input)
  • Skill: tier3-production/youtube-packaging/ (next step)
  • Doc: docs/STOCK_IMAGE_SOP.md
  • Script: scripts/core/assemble_session_video.py

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です