合并视频和字幕:
-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
支持更多的参数和功能,可以根据需求使用。