flv转MP4
单文件转换
ffmpeg -i "input.flv" -c copy "output.mp4"
多文件转换
for %i in (*.flv) do ffmpeg -i "%i" -c copy "%~ni.mp4"
文件合并
把文件名按以下格式写入新建的“sample.txt”中
file '文件1.mp4'
file '文件2.mp4'
file '文件3.mp4'
file '文件4.mp4'
file '文件5.mp4'
执行命令
ffmpeg -f concat -safe 0 -i sample.txt -c copy output.mp4
windows中,批量转换
-
新建批处理文件
filename.bat
,文件内容如下@echo off for %%i in (*.flv) do ffmpeg -i "%%i" -c copy "%%~ni.mp4"
@echo off
:这是一个常用的Windows批处理命令,用于关闭命令提示符窗口中的命令回显。这样在运行批处理脚本时,只会显示输出结果,而不会显示执行的命令。for %%i in (*.flv) do
:这是一个循环命令,用于遍历当前目录下所有扩展名为.flv的文件。在每次循环中,%%i
将代表一个flv文件的完整路径和文件名。ffmpeg -i "%%i" -c copy "%%~ni.mp4"
:这是ffmpeg命令,用于将单个flv文件转换为mp4文件。-i "%%i"
:指定输入文件的路径和文件名,即当前循环中的flv文件。-c copy
:指定视频和音频流的编码方式。在这里,我们使用“copy”表示直接复制原始视频和音频流,而不进行重新编码。这样可以更快地完成转换,但请注意,输出文件的编码格式将与输入文件相同。"%%~ni.mp4"
:指定输出文件的路径和文件名。%%~ni
表示当前循环中的flv文件的文件名(去除扩展名),.mp4
是输出文件的扩展名。
截取视频片段
# 格式:ffmpeg -ss <开始秒数> -i "<原文件名>" -t <截取的多少秒> -c copy "<新文件名>"
#下面是例子,从5140秒开始,截取460秒
ffmpeg -ss 5140 -i "1.mp4" -t 460 -c copy "2.mp4"
# 不建议使用时间段的方法,感觉会抽风,也可能是我操作不当
从视频中分离音频
ffmpeg -i input.mp4 -vn -acodec copy output.aac
-i input.mp4 指定输入文件为input.mp4。
-vn 禁用视频轨道,只处理音频。
-acodec copy 拷贝音频编解码器,这样不会对音频进行转码,速度会更快。
output.aac 指定输出文件的格式为AAC。根据需要,也可以选择输出其他格式,如MP3等。
给视频添加水印
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=W-w-10:H-h-10" output.mp4
其中
input.mp4
是原始视频文件
watermark.png
是要添加的水印图片文件
output.mp4
是输出视频文件
-filter_complex
参数用于指定复杂的过滤器操作
overlay
过滤器用于将水印图片叠加到视频上
W-w-10:H-h-10
表示水印的位置在视频的右下角,留出了10个像素的边距。
可以根据需要调整边距和水印的位置,以实现不同的效果
Comments NOTHING