Codex 视频制作 SKILL 推荐指南
🎬 8个核心视频制作技能,涵盖从创意构思到最终成片的完整工作流
📋 技能总览
| 序号 |
技能名称 |
核心功能 |
适用场景 |
| 1 |
Hyperframes |
视频创作框架 |
短视频、动画、特效 |
| 2 |
Remotion |
React视频生成 |
程序化视频、数据可视化 |
| 3 |
jianyingEditor |
剪映编辑器 |
快速剪辑、模板套用 |
| 4 |
FFmpeg |
视频处理引擎 |
转码、剪辑、合并 |
| 5 |
AzureTTS |
微软语音合成 |
专业配音、多语言 |
| 6 |
Elevenlabs |
AI语音克隆 |
个性化配音、情感语音 |
| 7 |
Shots (By LTX) |
AI镜头生成 |
场景生成、分镜制作 |
| 8 |
EpidemicSound |
版权音乐库 |
背景音乐、音效 |
🎯 技能详细介绍
1️⃣ Hyperframes - 视频创作框架
定位:全能型视频创作框架,支持多种视频类型制作
核心功能:
- 多类型视频支持:短视频、动画、特效、幻灯片
- 组件化架构:可复用的视频组件库
- 模板系统:丰富的预设模板
- 动画引擎:专业级动画效果
- 导出优化:多格式、多分辨率输出
使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| import { createVideo, Scene, Text, Animation } from 'hyperframes';
const video = createVideo({ width: 1920, height: 1080, fps: 30 });
const scene1 = new Scene({ duration: 5 });
const title = new Text({ content: "欢迎观看", fontSize: 72, color: "#ffffff", position: "center" });
title.animate({ property: "opacity", from: 0, to: 1, duration: 1, easing: "ease-in-out" });
scene1.add(title); video.addScene(scene1);
video.export({ format: "mp4", quality: "high" });
|
子技能模块:
hyperframes:hyperframes-core - 核心渲染引擎
hyperframes:hyperframes-animation - 动画系统
hyperframes:motion-graphics - 动态图形
hyperframes:slideshow - 幻灯片制作
hyperframes:faceless-explainer - 无脸解说视频
2️⃣ Remotion - React 视频生成
定位:使用 React 技术栈程序化生成视频
核心功能:
- React 组件化:用 JSX 编写视频
- 数据驱动:动态内容生成
- TypeScript 支持:类型安全的开发
- 热重载:实时预览效果
- 渲染农场:支持大规模渲染
使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| import { Composition, useCurrentFrame, useVideoConfig, interpolate } from 'remotion';
const MyVideo: React.FC = () => { const frame = useCurrentFrame(); const { fps, durationInFrames } = useVideoConfig(); const opacity = interpolate( frame, [0, 30], [0, 1], { extrapolateRight: 'clamp' } ); const scale = interpolate( frame, [0, 30, 60], [0.5, 1, 1.1], { extrapolateRight: 'clamp' } );
return ( <div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100%', backgroundColor: '#1a1a1a' }}> <h1 style={{ fontSize: 72, color: 'white', opacity, transform: `scale(${scale})` }}> 欢迎使用 Remotion </h1> </div> ); };
export const RemotionVideo: React.FC = () => { return ( <Composition id="MyVideo" component={MyVideo} durationInFrames={180} fps={30} width={1920} height={1080} /> ); };
|
常用命令:
1 2 3 4 5 6 7 8
| npx remotion studio
npx remotion render MyVideo output.mp4
npx remotion render --codec=h264 MyVideo
|
3️⃣ jianyingEditor - 剪映编辑器
定位:快速视频剪辑,支持模板套用和批量处理
核心功能:
- 智能剪辑:AI 辅助剪辑建议
- 模板系统:丰富的预设模板
- 批量处理:一次处理多个视频
- 特效库:转场、滤镜、贴纸
- 字幕生成:自动语音转字幕
使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| from jianying import JianyingEditor
editor = JianyingEditor()
editor.import_media("raw_video.mp4") editor.import_media("background_music.mp3")
editor.auto_cut( remove_silence=True, remove_filler=True, target_duration=60 )
editor.add_subtitles( language="zh-CN", style="modern", position="bottom" )
editor.apply_template("product_showcase")
editor.add_music( track="background_music.mp3", volume=0.3, fade_in=2, fade_out=3 )
editor.export( output="final_video.mp4", resolution="1080p", quality="high" )
|
4️⃣ FFmpeg - 视频处理引擎
定位:底层视频处理工具,提供最灵活的视频操作能力
核心功能:
- 格式转换:支持几乎所有视频格式
- 视频剪辑:精确到帧的剪辑
- 音视频合并:多轨道混合
- 滤镜系统:丰富的视频滤镜
- 流媒体处理:实时转码
使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| ffmpeg -i input.mov -c:v libx264 -c:a aac output.mp4
ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:30 -c copy clip.mp4
ffmpeg -f concat -safe 0 -i filelist.txt -c copy merged.mp4
ffmpeg -i input.mp4 -i watermark.png \ -filter_complex "overlay=W-w-10:H-h-10" output.mp4
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium compressed.mp4
ffmpeg -i input.mp4 -vn -acodec pcm_s16le audio.wav
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1" output.gif
|
Python 封装示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import subprocess
def ffmpeg_process(input_file, output_file, filters=None): cmd = ['ffmpeg', '-i', input_file] if filters: cmd.extend(['-vf', filters]) cmd.extend(['-c:v', 'libx264', '-preset', 'medium', output_file]) subprocess.run(cmd, check=True)
ffmpeg_process( 'input.mp4', 'output.mp4', filters='scale=1280:720,fps=30' )
|
5️⃣ AzureTTS - 微软语音合成
定位:企业级文本转语音服务,支持多语言和多音色
核心功能:
- 多语言支持:140+ 语言和方言
- 丰富音色:400+ 神经网络语音
- 情感控制:支持多种情感风格
- SSML 支持:精细的语音控制
- 实时合成:低延迟语音生成
使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| import azure.cognitiveservices.speech as speechsdk
speech_config = speechsdk.SpeechConfig( subscription="your_subscription_key", region="eastus" )
speech_config.speech_synthesis_voice_name = "zh-CN-XiaoxiaoNeural"
synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config)
text = "欢迎使用 Azure 语音合成服务" result = synthesizer.speak_text_async(text).get()
ssml = """ <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN"> <voice name="zh-CN-XiaoxiaoNeural"> <mstts:express-as style="cheerful"> 欢迎使用 Azure 语音合成服务! </mstts:express-as> <break time="500ms"/> <prosody rate="10%" pitch="5%"> 这段语音包含了情感和语速控制。 </prosody> </voice> </speak> """
result = synthesizer.speak_ssml_async(ssml).get()
audio_config = speechsdk.audio.AudioOutputConfig(filename="output.wav") synthesizer = speechsdk.SpeechSynthesizer( speech_config=speech_config, audio_config=audio_config ) synthesizer.speak_text_async(text).get()
|
常用音色:
| 语言 |
音色ID |
名称 |
风格 |
| 中文 |
zh-CN-XiaoxiaoNeural |
晓晓 |
温柔女声 |
| 中文 |
zh-CN-YunxiNeural |
云希 |
阳光男声 |
| 中文 |
zh-CN-XiaoyiNeural |
晓伊 |
活泼女声 |
| 英文 |
en-US-JennyNeural |
Jenny |
专业女声 |
| 英文 |
en-US-GuyNeural |
Guy |
成熟男声 |
6️⃣ Elevenlabs - AI 语音克隆
定位:AI 驱动的语音克隆和合成平台
核心功能:
- 语音克隆:克隆任意声音
- 情感语音:丰富的情感表达
- 多语言:29+ 语言支持
- 实时合成:低延迟生成
- API 集成:易于集成到工作流
使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| from elevenlabs import generate, voices, set_api_key
set_api_key("your_api_key")
available_voices = voices() print(available_voices)
audio = generate( text="欢迎使用 Elevenlabs 语音合成", voice="Rachel", model="eleven_multilingual_v2" )
with open("output.mp3", "wb") as f: f.write(audio)
from elevenlabs import clone
voice = clone( name="My Voice", description="我的自定义语音", files=["sample1.mp3", "sample2.mp3"] )
audio = generate( text="这是克隆语音的示例", voice=voice )
audio = generate( text="这个消息很重要!", voice="Rachel", model="eleven_multilingual_v2", stability=0.5, similarity_boost=0.75 )
|
语音参数说明:
1 2 3 4 5 6 7
| voice_settings = { "stability": 0.5, "similarity_boost": 0.75, "style": 0.5, "use_speaker_boost": True }
|
7️⃣ Shots (By LTX) - AI 镜头生成
定位:AI 驱动的镜头和场景生成工具
核心功能:
- 镜头生成:自动生成电影级镜头
- 场景构建:AI 辅助场景设计
- 分镜制作:自动分镜脚本
- 风格迁移:应用不同的视觉风格
- 批量生成:一次生成多个镜头变体
使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| from ltx_studio import Shots, Scene, Camera
shots = Shots(api_key="your_api_key")
scene = Scene( description="现代办公室,阳光透过落地窗", style="cinematic", mood="professional" )
camera = Camera( type="medium_shot", angle="eye_level", movement="slow_pan" )
shot = shots.generate( scene=scene, camera=camera, duration=5, resolution="1080p" )
shot.save("office_shot.mp4")
variants = shots.generate_variants( scene=scene, count=4, styles=["cinematic", "documentary", "commercial"] )
storyboard = shots.create_storyboard( scenes=[ {"description": "开场:城市天际线", "duration": 3}, {"description": "主角出场:办公室", "duration": 5}, {"description": "产品展示:特写", "duration": 4} ], style="cinematic" )
storyboard.export("storyboard.pdf")
|
8️⃣ EpidemicSound - 版权音乐库
定位:专业版权音乐和音效库
核心功能:
- 海量音乐:35,000+ 音乐曲目
- 丰富音效:90,000+ 音效
- 智能搜索:AI 驱动的音乐推荐
- 版权安全:商用授权保障
- API 集成:自动化音乐获取
使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| from epidemic_sound import EpidemicSound
es = EpidemicSound(api_key="your_api_key")
results = es.search_music( query="upbeat corporate", genre="pop", mood="happy", tempo="medium", duration_min=60, duration_max=180 )
track = results[0] print(f"曲名: {track.title}") print(f"艺术家: {track.artist}") print(f"时长: {track.duration}秒")
track.download( format="mp3", quality="high", output="./music/" )
sfx_results = es.search_sfx( query="notification sound", category="ui", duration_max=5 )
recommendations = es.recommend( similar_to="track_id_here", count=5 )
playlist = es.create_playlist( name="视频背景音乐", tracks=[track.id for track in results[:10]] )
|
音乐分类:
| 分类 |
描述 |
适用场景 |
| Corporate |
企业风格 |
商业视频、产品介绍 |
| Cinematic |
电影风格 |
预告片、宣传片 |
| Electronic |
电子音乐 |
科技视频、游戏 |
| Acoustic |
原声音乐 |
温馨场景、生活记录 |
| Hip Hop |
嘻哈风格 |
潮流视频、街拍 |
🔄 完整工作流
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| ┌─────────────────────────────────────────────────────────────────────┐ │ 视频制作完整流程 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 创意构思 │───▶│ 分镜制作 │───▶│ 素材准备 │ │ │ │ (Hyperframes)│ │ (Shots/LTX)│ │ (EpidemicSound)│ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 视频生成 │ │ 语音合成 │ │ 视频剪辑 │ │ │ │ (Remotion) │ │ (Azure/Eleven)│ │ (jianying) │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ │ │ │ └──────────────────┼──────────────────┘ │ │ ▼ │ │ ┌─────────────┐ │ │ │ 最终合成 │ │ │ │ (FFmpeg) │ │ │ └─────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────┐ │ │ │ 成片输出 │ │ │ └─────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘
|
完整代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
from hyperframes import createVideo, Scene from ltx_shots import Shots, Storyboard
storyboard = Storyboard.create([ {"scene": "开场动画", "duration": 3}, {"scene": "产品展示", "duration": 10}, {"scene": "功能介绍", "duration": 15}, {"scene": "结尾", "duration": 2} ])
from epidemic_sound import EpidemicSound es = EpidemicSound(api_key="your_key") background_music = es.search_music(query="corporate upbeat")[0] background_music.download(output="./assets/")
from remotion import render video = render( storyboard=storyboard, output="./temp/video_raw.mp4" )
from azure_tts import AzureTTS tts = AzureTTS(subscription="your_key") voiceover = tts.synthesize( text="欢迎观看我们的产品介绍", voice="zh-CN-XiaoxiaoNeural", output="./temp/voiceover.wav" )
from jianying import JianyingEditor editor = JianyingEditor() editor.import_media("./temp/video_raw.mp4") editor.import_media("./temp/voiceover.wav") editor.import_media("./assets/background_music.mp3") editor.sync_audio() editor.add_subtitles()
import ffmpeg ffmpeg.input("./temp/video_edited.mp4") \ .output("./output/final_video.mp4", vcodec='libx264', acodec='aac', preset='medium') \ .run()
print("✅ 视频制作完成!")
|
💡 最佳实践
工具选择建议
| 场景 |
推荐工具 |
原因 |
| 快速短视频 |
Hyperframes + jianying |
模板丰富,上手快 |
| 数据可视化 |
Remotion |
React 生态,代码驱动 |
| 专业配音 |
Azure TTS |
多语言,稳定性高 |
| 个性化语音 |
Elevenlabs |
语音克隆,情感丰富 |
| 电影级镜头 |
Shots (LTX) |
AI 生成,质量高 |
| 背景音乐 |
EpidemicSound |
版权安全,曲库丰富 |
| 底层处理 |
FFmpeg |
灵活强大,功能全面 |
性能优化
- ✅ 使用 GPU 加速视频渲染
- ✅ 合理设置并发任务数
- ✅ 预加载常用素材
- ✅ 缓存中间结果
质量控制
- ✅ 生成前预览关键片段
- ✅ 检查音画同步
- ✅ 验证字幕准确性
- ✅ 测试不同设备播放效果
📚 相关资源
🎬 总结
这8个视频制作技能覆盖了完整的视频制作链路:
| 技能 |
定位 |
核心价值 |
| Hyperframes |
创作框架 |
全能型视频制作 |
| Remotion |
代码驱动 |
程序化视频生成 |
| jianyingEditor |
快速剪辑 |
模板化高效产出 |
| FFmpeg |
底层引擎 |
灵活视频处理 |
| AzureTTS |
专业配音 |
企业级语音合成 |
| Elevenlabs |
AI语音 |
个性化语音克隆 |
| Shots (LTX) |
镜头生成 |
AI电影级镜头 |
| EpidemicSound |
音乐素材 |
版权安全音乐 |
通过合理组合这些工具,您可以高效地完成从创意构思到最终成片的完整视频制作流程。
📅 更新日期:2026年9月21日
🔖 版本:1.0.0
📧 联系我们:support@codex.dev