1.截取视频
ffmpeg -ss 00:00:00 -t 60 -accurate_seek -i 1.mp4 -codec copy 1_out.mp4
-ss 是开始时间
-t 从开始截取的时间算,截取持续的时间,单位秒
-i 是源文件
-codec copy :后面是生成的文件
2.视频压缩
ffmpeg -i 1.mp4 -b:v 400k -s 960x540 2.mp4
-i 输入文件的路径或者url;
-s 设置输出文件的分辨率,wxh;
-b:v 输出文件的码率,一般500k左右即可,人眼看不到明显的闪烁,这个是与视频大小最直接相关的;
输出视频的分辨率为960x540,码率为400k
或者
ffmpeg -i 1.mp4 -vcodec libx264 -crf 24 2.mp4
3.提取视频中的音频
ffmpeg -i 1.mp4 -acodec copy -vn 2.aac
提取mp3的最好使用下面格式(音质320kpbs)
ffmpeg -i test.mp4 -b:a 320k -f mp3 -vn test.mp3
-i 表示input,即输入文件
-f 表示format,即输出格式
-vn表示vedio not,即输出不包含视频
4.音频截取
ffmpeg -i 325.acc -ss 00:00:00 -t 02:00:00 325_1.acc
5、视频加字幕,以及错误解决
https://www.bilibili.com/read/cv11490614/
shell命令
@echo off
rem chcp 65001
echo 1.截取视频
echo 2.视频压缩
echo 3.提取视频中的音频
echo 4.截取音频
echo 5.给视频添加字幕
set /p a=请从1-5中选择想要的功能:
if %a%==1 goto _f1
if %a%==2 goto _f2
if %a%==3 goto _f3
if %a%==4 goto _f4
if %a%==5 goto _f5
:_f1
set /p start_time=请输入开始时间,按回车键确认,格式:00:00:00,默认是:00:00:00
if not defined start_time set start_time=00:00:00
set /p cut_time_length=请输入截取时长单位秒,按回车键确认,默认60s也就是1分钟。
if not defined cut_time_length set cut_time_length=60
set /p input_file=请输入源文件路径,按回车键确认。
set /p output_file= 请输入输出文件路径,按回车键确认。默认output.mp4
if not defined output_file set output_file=output.mp4
echo 开始执行
ffmpeg -ss %start_time% -t %cut_time_length% -accurate_seek -i %input_file% -codec copy %output_file%
echo 截取视频完成请确认。
goto :eof
:_f2
set /p input_file=请输入源文件路径,按回车键确认。
set /p output_file=请输入输出文件路径,按回车键确认。默认output_compress.mp4
if not defined output_file set output_file=output_compress.mp4
rem ffmpeg -i %input_file% -vcodec libx264 -crf 24 %output_file%
rem ffmpeg -i %input_file% -b:v 400k -s 960x540 %output_file%
ffmpeg -threads 2 -i %input_file% -c:v libx264 -crf 28 -preset veryfast -c:a copy -movflags +faststart %output_file% -y
echo 压缩完成请确认。
goto :eof
:_f3
set /p input_file=请输入源文件路径,按回车键确认。
set /p output_file=请输入输出mp3文件路径,按回车键确认。默认输出output.mp3到桌面
if not defined output_file set output_file=output.mp3
ffmpeg -i %input_file% -f mp3 -b:a 320k -vn %output_file%
echo 提取完成请确认。
goto :eof
:_f4
set /p input_file=请输入想要截取的音频文件路径,按回车键确认。
set /p start_time=请输入开始时间,按回车键确认,格式:00:00:00,默认是:00:00:00
if not defined start_time set start_time=00:00:00
set /p cut_time_length=请输入截取持续时间,按回车键确认,格式:00:00:00,默认是:00:01:00
if not defined cut_time_length set cut_time_length=00:01:00
set /p output_file=请输入输出文件路径,按回车键确认。默认输出output_cut.mp3到桌面
if not defined output_file set output_file=output_cut.mp3
ffmpeg -i %input_file% -ss %start_time% -t %cut_time_length% -acodec copy %output_file%
echo 截取音频完成请确认。
goto :eof
:_f5
set /p input_file=请输入想要添加字幕的视频路径,按回车键确认。
set /p text_file=请输入字幕文件路径,格式srt 或者ass。
set /p output_file=请输入输出文件路径,按回车键确认。默认输出output_captions.mp4到桌面
if not defined output_file set output_file=output_captions.mp4
ffmpeg -i %input_file% -vf subtitles='%text_file%' %output_file%
echo 字幕添加完成请确认。
pause
goto :eof
将上面的内容存到ffmpeg_.bat, 然后文件编码改为ANSI运行即可。