ffmpeg
ffmpeg嵌入字幕
软字幕 即内挂字幕,字幕还可以分离出来,插入速度快,但是需要播放器支持 注意:输出的视频格式只支持mp4
ffmpeg -i 201907181053358357.mp4 -i out.srt -c copy -c:s mov_text output.mp4ffmpeg -i Mr.Robot.S02E03.1080p.BluRay.x265-RARBG.mp4 -i Subs/Mr.Robot.S02E03.1080p.BluRay.x264-SHORTBREHD/Mr.Robot.S02E03.1080p.BluRay.x264-SHORTBREHD.简体\&英文.srt -c copy -c:s mov_text 03.mp4
# 实测可用
ffmpeg -i Mr.Robot.S02E03.1080p.BluRay.x265-RARBG.mp4 -i Subs/Mr.Robot.S02E03.1080p.BluRay.x264-SHORTBREHD/Mr.Robot.S02E03.1080p.BluRay.x264-SHORTBREHD.简体\&英文.srt -c:v copy -c:a copy -c:s mov_text 03.mp4
# 直接显示
ffmpeg -i Mr.Robot.S02E03.1080p.BluRay.x265-RARBG.mp4 -vf ass=./Subs/Mr.Robot.S02E03.1080p.BluRay.x264-SHORTBREHD/Mr.Robot.S02E03.1080p.BluRay.x264-SHORTBREHD.简体\&英文.ass Mr03.mp4分割文件
ffmpeg -ss 00:00:00 -t 00:00:30 -i test.mp4 -vcodec copy -acodec copy output.mp4-ss 指定从什么时间开始
-t 指定需要截取多长时间
-i 指定输入文件
使用方法
FFmpeg是一款功能强大的开源多媒体处理工具,可以用于处理音频和视频文件。它具有广泛的应用领域,包括格式转换、编码、解码、剪辑、拼接等。下面是一些常用的FFmpeg使用方法:
转换视频格式:
使用以下命令可以将一个视频文件从一种格式转换为另一种格式:
ffmpeg -i input.mp4 output.avi这将将input.mp4文件转换为output.avi文件。
转换音频格式:
使用以下命令可以将一个音频文件从一种格式转换为另一种格式:
ffmpeg -i input.mp3 output.wav这将将input.mp3文件转换为output.wav文件。
剪辑视频:
可以使用以下命令从一个视频文件中剪辑出指定时间段的内容:
ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:30 -c:v copy -c:a copy output.mp4这将从input.mp4文件中提取从第10秒到第40秒的内容,并保存为output.mp4文件。
调整视频尺寸:
使用以下命令可以调整视频文件的分辨率:
ffmpeg -i input.mp4 -vf "scale=640:480" output.mp4这将将input.mp4文件的分辨率调整为640x480,并保存为output.mp4文件。
提取音频:
使用以下命令可以从一个视频文件中提取音频:
ffmpeg -i input.mp4 -vn -acodec copy output.aac这将从input.mp4文件中提取音频流,并保存为output.aac文件。
合并视频
ffmpeg不支持mp4直接合并,先将mp4转为ts格式,再进行合并
ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
ffmpeg -i "concat:1.ts.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4使用FFmpeg的"concat"协议。
下面是一个简单的步骤:
创建一个文本文件,例如
input.txt,在该文件中列出要合并的视频文件的路径。每个视频文件应位于单独的一行。例如:file 'video1.mp4' file 'video2.mp4'运行以下FFmpeg命令,使用
input.txt作为输入文件,并指定输出文件名:ffmpeg -f concat -safe 0 -i input.txt -c copy output.mp4-f concat指定使用"concat"协议进行合并。-safe 0允许使用相对路径。-i input.txt指定输入文件为input.txt。-c copy表示直接复制视频流和音频流,而不进行重新编码。output.mp4是输出文件名,可以根据需要进行修改。
请确保视频文件的编解码格式、分辨率和其他参数相匹配,以避免合并后的视频出现问题。另外,如果两个视频的属性不同(例如,一个是横向视频,一个是纵向视频),在合并之前可以使用FFmpeg进行必要的调整,以确保它们的属性一致。
去掉视频前指定秒数的内容
有时下载的影视剧前面会有广告,可以根据广告长度对其进行剪切
例如下面就是将视频前45秒剪切,只保留后面的部分示例
#! /bin/bash
mkdir temp
for file in ls *.mp4
do ffmpeg -i $file -ss 45 -c copy temp/$file
done
rm -rf *.mp4 && mv temp/*.mp4 ./ && rmdir temp
最后更新于