001 进行视频的截取
命令
ffmpeg -i input.mp4 -vcodec copy -acodec copy -ss 00:08:39 -to 00:51:57 output.mp4
-
-i input.mp4
-i 表示输入文件,这里是 input.mp4。即 ffmpeg 将从这个文件读取数据进行处理。 -
-vcodec copy
-vcodec 用来指定视频编码格式。copy 表示视频编码不进行转换,而是直接复制原始视频流。即视频的内容不做任何修改,只是将其直接复制到新的输出文件中。 -
-acodec copy
-acodec 用来指定音频编码格式。copy 也表示音频编码不进行转换,音频流将被直接复制到输出文件中,保持原样。
大文件,比如有几个小时的文件,使用其他软件进行截取容易卡死,用此方法,防止卡死,速度快。
002转码
命令
ffmpeg -i 388.mkv -acodec aac -vcodec h264 388.mp4
解释 音频编码用acc流 ,视频编码用h264流
003将视频和字幕和在一起
ffmpeg -i 388.mp4 -i sub3.ass -vf ass=./sub3.ass a.mp4
sub3.ass是字幕名称 ass=./sub3.ass 表示字幕和388.mp4在同一个文件夹下面
004抓取视频的字幕
ffmpeg -i 388.mkv -an -vn -scodec copy sub3.ass
其实ffmpeg还有高级玩法,比如录制屏幕 加视频的logo 等都是可以的
同时我这里有个用bat编写的脚本,可以实现mkv /flv 转化为MP4,感兴趣的同志可以下载
https://download.youkuaiyun.com/download/wlwork66/12149580
005 对视频进行合并
最好将视频先转化为 ts格式,不能直接拼接MP4
ffmpeg -i “concat:1.ts|2.ts” -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
006 download m3u8
ffmpeg -i “http://www.example.com/index.m3u8” -c copy out.ts
007将下载的ts文件解码同时合并为mp4
ffmpeg -allowed_extensions ALL -i local.m3u8 -c copy -bsf:a aac_adtstoasc index.mp4

参考资料https://blog.youkuaiyun.com/occupy8/article/details/43115765
ts资料:
https://blog.youkuaiyun.com/cquptvlry/article/details/94182509?utm_source=distribute.pc_relevant.none-task
008 音频提取
m4a
ffmpeg -i index.mp4 -vn -codec copy out.m4a
mp3
ffmpeg -i index.mp4 -f mp3 1.mp3
原始提取
这条命令用 FFmpeg 从视频文件中提取音频,并保存为 M4A 格式。具体解析如下:
ffmpeg -i ./output.mp4 -vn -codec copy out.m4a
- ffmpeg:命令行工具,用于处理多媒体文件。
- -i ./output.mp4:指定输入文件,这里是
output.mp4。 - -vn:表示“no video”,告诉 FFmpeg 不要包含视频流,只提取音频部分。
- -codec copy:直接复制音频流,不重新编码,以保持音频的原始质量。
- out.m4a:输出文件的名称和格式,这里将音频保存为
out.m4a文件。
最终效果是从 output.mp4 中提取原始音频并保存到 out.m4a。
009 使用 m3u8文件下载合并视频
没有加密
ffmpeg -protocol_whitelist “file,http,crypto,tcp” -i ver_00_22-1126523175-avc-414051-aac-48000-63840-3787108-39a0348059887598d44487e1a6352ead-1582166951041[1].m3u8 1.ts
https://blog.youkuaiyun.com/afeiqiang/article/details/86614612?utm_source=distribute.pc_relevant.none-task
010 ffmpeg 截取音频,不改变音频格式,因为为m4a格式
使用 ffmpeg 截取音频片段并保持原始格式(如 m4a),可以通过以下命令实现。这个操作不会重新编码音频,而是直接复制原始流。
ffmpeg 命令
ffmpeg -i input.m4a -ss START_TIME -to END_TIME -c copy output.m4a
参数说明
-i input.m4a:指定输入文件。-ss START_TIME:截取的起始时间(格式为hh:mm:ss或秒数)。-to END_TIME:截取的结束时间(格式为hh:mm:ss或秒数)。-c copy:直接复制原始音频流,避免重新编码。output.m4a:指定输出文件名。
示例
1. 截取从第 30 秒到第 90 秒的音频
ffmpeg -i input.m4a -ss 00:00:30 -to 00:01:30 -c copy output.m4a
2. 从第 10 秒开始截取到文件结束
ffmpeg -i input.m4a -ss 00:00:10 -c copy output.m4a
3. 使用秒数截取
如果你知道精确的时间(秒数),可以直接用秒数:
ffmpeg -i input.m4a -ss 30 -to 90 -c copy output.m4a
注意事项
-
-ss的位置影响效率:- 如果
-ss在-i前:快速寻址,速度更快,但可能不精确。 - 如果
-ss在-i后:精确截取,但处理速度稍慢。
- 如果
-
原始流限制:
-c copy要求输入的音频流格式能够直接被复制,m4a通常是 AAC 编码,支持这种操作。- 如果输入文件有问题(如包含非标准流),可能需要重新编码。
-
时间精度:
-ss和-to的时间精度可能会受限于输入文件的关键帧间隔。
通过上述方法,你可以快速截取 m4a 文件中的音频片段,并保持原始格式不变。
812






