我使用此命令合并目录中的许多 mp3 文件:
ffmpeg -f concat -safe 0 -i <(for f in ./*.mp3; do echo "file '$PWD/$f'"; done) -c copy ./output.mp3
现在我想将output.mp3 转换为mp4 格式。我希望我的电视接收器能够读取该 mp4。我能做些什么?
答案1
使用图像
ffmpeg -loop 1 -i input.jpg -i input.mp3 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:-1:-1:color=black,setsar=1,format=yuv420p" -shortest -fflags +shortest output.mp4
该命令使用规模+软垫滤镜使图像适合 1920x1080,塞萨尔过滤器设置正常的样本长宽比,然后格式filter 将色度子采样设置为 YUV 4:2:0 以实现播放兼容性。
看使用 ffmpeg 调整视频大小以适合特定尺寸了解更多信息和示例。
生成彩色背景
如果您想要纯色背景,请使用颜色筛选:
ffmpeg -f lavfi -i color=c=blue:s=1280x720 -i input.mp3 -shortest -fflags +shortest output.mp4
添加文字
您可以使用以下命令添加文本绘制文本筛选:
ffmpeg -f lavfi -i color=c=blue:s=1280x720 -i input.mp3 -vf "drawtext=fontfile=/path/to/font.ttf:text='Your Text':fontcolor=white:fontsize=24:box=1:[email protected]:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2" -shortest -fflags +shortest output.mp4
看使用 ffmpeg 在视频上添加文本还有更多例子。
可视化(波形等)
答案2
在一些图像编辑器中制作一张黑色图像,将其另存为image.jpg
并使用这个;
ffmpeg -loop 1 -i image.jpg -i audio.mp3 -c:a copy -c:v libx264 -shortest output.mp4
(看ffmpeg 维基)