有些网站下载视频时,音频、视频是分开的两个独立文件,需要把它们合并为一个包含音频轨道的视频文件,才能正常播放。使用ffmpeg命令可以轻松合并音视频。
这里用的是ffmpeg工具,需要提前安装好。
单个合并
打开命令窗口,切换到音频、视频文件所在的目录,然后直接运行以下命令即可完成合并。
ffmpeg -i video.m4s -i audio.m4s -c:v copy -c:a copy output.mp4
上述命令解释如下:
-i video.m4s:指定输入的视频文件。
-i audio.m4s:指定输入的音频文件。
-c:v copy:表示视频编解码器直接复制,不进行重新编码,以节省时间和保持画质。
-c:a copy:音频编解码器同样直接复制,不重新编码。
output.mp4:指定合并后输出的视频文件名,这里格式为 MP4,可根据需求指定为其他支持的格式。
批量合并
要将当前文件夹下的所有音频、视频批量合并为视频文件,可以建立bat脚本,双击运行。以下是完整代码:
@echo off setlocal enabledelayedexpansion rem 遍历当前文件夹下所有的 m4s 文件 for %%a in (*.m4s) do ( set "prefix=%%~na" set "prefix=!prefix:~0,2!" set "video_found=false" set "audio_found=false" set "video_file=" set "audio_file=" rem 再次遍历文件夹,查找匹配前缀的音视频文件 for %%b in (*.m4s) do ( set "current_prefix=%%~nb" set "current_prefix=!current_prefix:~0,2!" if "!current_prefix!"=="!prefix!" ( rem 尝试通过文件大小来区分音频和视频,通常视频文件更大 for %%c in ("%%b") do set "file_size=%%~zc" if "!video_found!"=="false" ( set "video_file=%%b" set "video_found=true" set "video_size=!file_size!" ) else ( if !file_size! GTR !video_size! ( set "audio_file=!video_file!" set "video_file=%%b" set "video_size=!file_size!" ) else ( set "audio_file=%%b" ) set "audio_found=true" ) ) ) rem 如果找到了一组音视频文件,则进行合并 if "!video_found!"=="true" and "!audio_found!"=="true" ( rem 获取视频文件的全名(去除扩展名) set "output_name=!video_file:~0,-4!.mp4" rem 使用 -y 参数自动覆盖已存在的文件 ffmpeg -y -i "!video_file!" -i "!audio_file!" -c:v copy -c:a copy "!output_name!" echo 已合并 !video_file! 和 !audio_file! 为 !output_name! ) ) endlocal
本文地址:https://cas01.com/7815.html
公 众 号 :注意两个号的区别,小斯想
(OneNote为主);cas01
(知识管理理论及实践)。
温馨提示:本站发布的压缩包如需密码解压,若无特别说明,密码统一为:cas01.com
版权声明:本文为原创文章,版权归 小斯 所有,转载请保留出处。
公 众 号 :注意两个号的区别,小斯想


温馨提示:本站发布的压缩包如需密码解压,若无特别说明,密码统一为:cas01.com
版权声明:本文为原创文章,版权归 小斯 所有,转载请保留出处。