合并视频和字幕:

-s  分辨率
-b:v 码率

ffmpeg -i 七龙珠-001-布玛与孙悟空.mkv -s 720x540 -b:v 1117k -vf subtitles=七龙珠-001-布玛与孙悟空.ass 2.mkv

基本参数:

-i 输入文件

-vcodec 视频编解码格式,如h264或者libx264(h264编解码)、copy(原样拷贝)、mpeg4(mp4编码)
-acodec 音频编码格式,如aac(aac编解码)

-vn 取消视频
-an  取消音频
-sn 取消字幕

1、提取声音(取消视频、取消字幕)
ffmpeg -i 31.mkv -acodec copy -vn -sn 31_shengyin.mkv

2、提取视频(取消音频、取消字幕)
ffmpeg -i 31_d.mkv -c:v copy -an -sn 31_shipin.mkv

3、合并声音到视频中
ffmpeg -i 31_shipin.mkv -i 31_shengyin.mkv -c copy 31_shipin_shengyin.mkv

4、合并字幕到视频中
视频和字幕融为一体:
ffmpeg -i 31_shipin_shengyin.mkv -vf "ass=31.ass" 31_shipin_shengyin_zimu.mkv

提取视频 (Extract Video)
ffmpeg -i 31.mkv -vcodec copy -an 31_vdio.mkv
提取音频(Extract Audio)
ffmpeg -i 31.mkv -acodec copy -vn 31_adio.mkv
提取字幕(Extract Subtitle)
ffmpeg -i 31.mkv -map 0:s:0 31.srt

# 字幕文件转换
字幕文件有很多种,常见的有 .srt , .ass 文件等,下面使用FFmpeg进行相互转换。
将.srt文件转换成.ass文件:
ffmpeg -i subtitle.srt subtitle.ass
将.ass文件转换成.srt文件:
ffmpeg -i subtitle.ass subtitle.srt

参数说明:

基本选项:
-formats 输出所有可用格式
-f fmt 指定格式(音频或视频格式)
-i filename 指定输入文件名,在linux下当然也能指定:0.0(屏幕录制)或摄像头
-y 覆盖已有文件
-t duration 记录时长为t
-fs limit_size 设置文件大小上限
-ss time_off 从指定的时间(s)开始, [-]hh:mm:ss[.xxx]的格式也支持
-itsoffset time_off 设置时间偏移(s),该选项影响所有后面的输入文件。该偏移被加到输入文件的时戳,定义一个正偏移意味着相应的流被延迟了 offset秒。 [-]hh:mm:ss[.xxx]的格式也支持
-title string 标题
-timestamp time 时间戳
-author string 作者
-copyright string 版权信息
-comment string 评论
-album string album名
-v verbose 与log相关的
-target type 设置目标文件类型("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)
-dframes number 设置要记录的帧数
视频选项:
-b 指定比特率(bits/s),似乎ffmpeg是自动VBR的,指定了就大概是平均比特率
-bitexact 使用标准比特率
-vb 指定视频比特率(bits/s)
-vframes number 设置转换多少桢(frame)的视频
-r rate 帧速率(fps) (可以改,确认非标准桢率会导致音画不同步,所以只能设定为15或者29.97)
-s size 指定分辨率 (320x240)
-aspect aspect 设置视频长宽比(4:3, 16:9 or 1.3333, 1.7777)
-croptop size 设置顶部切除尺寸(in pixels)
-cropbottom size 设置底部切除尺寸(in pixels)
-cropleft size 设置左切除尺寸 (in pixels)
-cropright size 设置右切除尺寸 (in pixels)
-padtop size 设置顶部补齐尺寸(in pixels)
-padbottom size 底补齐(in pixels)
-padleft size 左补齐(in pixels)
-padright size 右补齐(in pixels)
-padcolor color 补齐带颜色(000000-FFFFFF)
-vn 取消视频
-vcodec codec 强制使用codec编解码方式('copy' to copy stream)
-sameq 使用同样视频质量作为源(VBR)
-pass n 选择处理遍数(1或者2)。两遍编码非常有用。第一遍生成统计信息,第二遍生成精确的请求的码率
-passlogfile file 选择两遍的纪录文件名为file
-newvideo 在现在的视频流后面加入新的视频
视频选项:
-b 指定比特率(bits/s),似乎ffmpeg是自动VBR的,指定了就大概是平均比特率
-bitexact 使用标准比特率
-vb 指定视频比特率(bits/s)
-vframes number 设置转换多少桢(frame)的视频
-r rate 帧速率(fps) (可以改,确认非标准桢率会导致音画不同步,所以只能设定为15或者29.97)
-s size 指定分辨率 (320x240)
-aspect aspect 设置视频长宽比(4:3, 16:9 or 1.3333, 1.7777)
-croptop size 设置顶部切除尺寸(in pixels)
-cropbottom size 设置底部切除尺寸(in pixels)
-cropleft size 设置左切除尺寸 (in pixels)
-cropright size 设置右切除尺寸 (in pixels)
-padtop size 设置顶部补齐尺寸(in pixels)
-padbottom size 底补齐(in pixels)
-padleft size 左补齐(in pixels)
-padright size 右补齐(in pixels)
-padcolor color 补齐带颜色(000000-FFFFFF)
-vn 取消视频
-vcodec codec 强制使用codec编解码方式('copy' to copy stream)
-sameq 使用同样视频质量作为源(VBR)
-pass n 选择处理遍数(1或者2)。两遍编码非常有用。第一遍生成统计信息,第二遍生成精确的请求的码率
-passlogfile file 选择两遍的纪录文件名为file
-newvideo 在现在的视频流后面加入新的视频流
高级视频选项
-pix_fmt format set pixel format, 'list' as argument shows all the pixel formats supported
-intra 仅适用帧内编码
-qscale q 以<数值>质量为基础的VBR,取值0.01-255,约小质量越好
-loop_input 设置输入流的循环数(目前只对图像有效)
-loop_output 设置输出视频的循环数,比如输出gif时设为0表示无限循环
-g int 设置图像组大小
-cutoff int 设置截止频率
-qmin int 设定最小质量,与-qmax(设定最大质量)共用,比如-qmin 10 -qmax 31
-qmax int 设定最大质量
-qdiff int 量化标度间最大偏差 (VBR)
-bf int 使用frames B 帧,支持mpeg1,mpeg2,mpeg4
音频选项:
-ab 设置比特率(单位:bit/s,也许老版是kb/s)前面-ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96,转换 默认比特率都较小,要听到较高品质声音的话建议设到160kbps(80)以上。
-aframes number 设置转换多少桢(frame)的音频
-aq quality 设置音频质量 (指定编码)
-ar rate 设置音频采样率 (单位:Hz),PSP只认24000
-ac channels 设置声道数,1就是单声道,2就是立体声,转换单声道的TVrip可以用1(节省一半容量),高品质的DVDrip就可以用2
-an 取消音频
-acodec codec 指定音频编码('copy' to copy stream)
-vol volume 设置录制音量大小(默认为256) <百分比> ,某些DVDrip的AC3轨音量极小,转换时可以用这个提高音量,比如200就是原来的2倍
-newaudio 在现在的音频流后面加入新的音频流
字幕选项:
-sn 取消字幕
-scodec codec 设置字幕编码('copy' to copy stream)
-newsubtitle 在当前字幕后新增
-slang code 设置字幕所用的ISO 639编码(3个字母)
Audio/Video 抓取选项:
-vc channel 设置视频捕获通道(只对DV1394)
-tvstd standard

参考资料:

ffmpeg 常用命令 - 浪人残风 - 博客园

Java使用FFmpeg(自定义cmd)_HSJ0170的博客-CSDN博客_java封装ffmpeg命令

http://blog.topspeedsnail.com/archives/5204

FFmpeg在JAVA中的使用-音频提取&字幕压缩 - yehx - 博客园

ffmpeg基本用法(转) - 阿波伦 - 博客园

ffmpeg常用命令总结_浪子荆的博客-CSDN博客_ffmpeg segment

ffmpeg实现高清视频之间的相互转换 - 紫语 - 博客园

基本参数:-i 输入文件-vcodec 视频编解码格式,如h264或者libx264(h264编解码)、copy(原样拷贝)、mpeg4(mp4编码)-acodec 音频编码格式,如aac(aac编解码)-vn 取消视频-an 取消音频-sn 取消字幕转换:1、提取声音(取消视频、取消字幕)ffmpeg -i 31.mkv -acodec copy -vn -sn 3...
增加 字幕 ffmpeg -i video.avi -i sub.ass -map 0:0 -map 0:1 -map 1 -c:a copy -c:v copy -c:s copy video.mkv 提取 字幕 流 1)原始文本输出 ffmpeg -i output.mkv -an -vn -bsf:s mov2textsub -scodec copy -f rawvideo sub.
1.ffprobe gf.mkv 查看 2. ffmpeg -i gf.mkv -map 0:0 -map 0:2 -vcodec copy -acodec copy out.mkv 注: -map指定哪些流做为输入, 0:0 表示第0个输入文件的第0个流 转载于:https://www.cnblogs.com/wuhua1/p/9516182.html...
很多刚加入自媒体朋友,遇到带有 字幕 或者水印的视频,总是措手不及,不知如何处理。今天,六六青年和自媒体群的朋友聊天,就有一个群友因为不会处理视频中的 字幕 而发愁。其实,要完全去掉 字幕 ,而又不影响原视频内容的完整,需要用到专业软件AE,一帧一帧的修图,这个工程量太大,不适合刚入门的新手,接下来六六青年为大家介绍适合入门小白的操作,几分钟就能搞定的方法。 自媒体视频剪辑,怎样去掉视频中的 字幕 和水印 首先...
1. 转码视频格式: ffmpeg -i input.mp4 output.avi 2. 提取音频: ffmpeg -i input.mp4 -vn -acodec copy output.aac 3. 提取视频: ffmpeg -i input.mp4 -an -vcodec copy output.mp4 4. 调整视频分辨率: ffmpeg -i input.mp4 -s 720x480 output.mp4 5. 调整视频帧率: ffmpeg -i input.mp4 -r 30 output.mp4 6. 调整视频码率: ffmpeg -i input.mp4 -b:v 1000k output.mp4 7. 合并音视频: ffmpeg -i video.mp4 -i audio.mp3 -c copy output.mp4 8. 截取视频片段: ffmpeg -i input.mp4 -ss 00:01:30 -to 00:02:30 -c copy output.mp4 9. 添加 字幕 : ffmpeg -i input.mp4 -i subtitle.srt -c copy -c:s mov_text output.mp4 10. 转码为gif: ffmpeg -i input.mp4 output.gif 这只是一些常用的命令行, ffmpeg 支持更多的参数和功能,可以根据需求使用。