新媒体视频不是简单的“拍摄+剪辑”,而是内容、技术与算法协同的产物。专业视角下,它具备三个特征:竖屏优先、数据驱动、自动化生产。本文从工程角度拆解新媒体视频的生产链路,并给出可运行的 Python + FFmpeg 代码。
+faststart。技术关键:竖屏 1080×1920,30/60fps,CRF 18–23,音频响度 -14 LUFS。
环境:Python 3.10+、ffmpeg、openai-whisper。
import subprocess, pathlib
def to_vertical(src, dst):
vf = (
"split=2[bg][fg];"
"[bg]scale=1080:1920:force_original_aspect_ratio=increase,"
"crop=1080:1920,boxblur=20:5[bg];"
"[fg]scale=1080:-2[fg];"
"[bg][fg]overlay=(W-w)/2:(H-h)/2"
)
cmd = ["ffmpeg", "-y", "-i", str(src), "-filter_complex", vf,
"-c:v", "libx264", "-preset", "fast", "-crf", "23",
"-c:a", "aac", "-b:a", "128k",
"-movflags", "+faststart", str(dst)]
subprocess.run(cmd, check=True)
for f in pathlib.Path("input").glob("*.mp4"):
to_vertical(f, pathlib.Path("output") / f.name)import whisper
def format_time(s):
h = int(s // 3600); m = int((s % 3600) // 60); sec = s % 60
return f"{h:02d}:{m:02d}:{sec:06.3f}".replace(".", ",")
model = whisper.load_model("base")
result = model.transcribe("output/demo.mp4", language="zh")
with open("output/demo.srt", "w", encoding="utf-8") as f:
for i, seg in enumerate(result["segments"], 1):
f.write(f"{i}\n{format_time(seg['start'])} --> {format_time(seg['end'])}\n"
f"{seg['text'].strip()}\n\n")subprocess.run([
"ffmpeg", "-y", "-i", "output/demo.mp4",
"-vf", "subtitles=output/demo.srt:force_style='FontSize=18,PrimaryColour=&HFFFFFF&'",
"-c:v", "libx264", "-crf", "20", "-c:a", "copy",
"output/demo_sub.mp4"
], check=True)
subprocess.run([
"ffmpeg", "-y", "-ss", "3", "-i", "output/demo_sub.mp4",
"-vframes", "1", "-q:v", "2", "output/cover.jpg"
], check=True)subprocess.run([
"ffmpeg", "-y", "-i", "output/demo_sub.mp4",
"-af", "loudnorm=I=-14:TP=-1.5:LRA=11",
"-c:v", "copy", "output/final.mp4"
], check=True)抖音、视频号、小红书以 9:16 为主,B站、YouTube 仍保留 16:9。转码时建议:
-movflags +faststart 便于流媒体播放;发布后重点看:3 秒完播率、平均播放时长、互动率、转粉率。用 A/B 测试封面和标题,把高完播片段剪成切片二次分发。数据反馈应进入下一轮脚本生成,形成闭环。
新媒体视频的竞争已从单纯创意转向“创意 + 工程”。掌握 FFmpeg、Whisper 与 Python 自动化,能显著提升产能与一致性。真正的专业,是让技术服务于叙事,让数据驱动迭代。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。