ffmpeg在windows的安装、合并、切片、.m4s、.m3u8处理

最近的项目涉及到视频处理,虽然我只是个小前端,正常的视频切片处理啥的都是在后端完成,但是在项目技术点调研阶段、接口联调之前,我还得自己处理视频,我用的工具是 ffmpeg,因为涉及到.m3u8格式和.m4s格式的一些操作。
ffmpeg的介绍我就不多说了,这里是它的官网地址: ffmpeg.org/ ,这里是文档: ffmpeg.org/documentati… (看的头大,没咋看下去)
先说说在windows系统的安装,我用的是 scoop,步骤:(在放视频的文件夹,按住 shift键的同时右键鼠标,选择“在此处打开PowerShell窗口” )
在这里插入图片描述

windows 安装scoop,命令: iwr -useb get.scoop.sh | iex
使用scoop安装ffmpeg:命令: scoop install ffmpeg
安装完成之后看看能不能使用ffmpeg,如果不能,还需要配置环境变量

然后来进行一下简单的操作:

把mp4 切割成m4s片段(切成别的格式也行,自己在这里把m4s格式改了就行了),命令:

ffmpeg -i t.mp4 -hls_segment_filename 'file%03d.m4s' out.m3u8

把多个m4s合并并转成 MP4:

ffmpeg -i "concat:file000.m4s|file001.m4s|file002.m4s|file003.m4s|file004.m4s|file005.m4s" -c copy out.mp4

把m4s文件转为 m3u8:

ffmpeg -i "concat:file000.m4s|file001.m4s|file002.m4s|file003.m4s|file004.m4s|file005.m4s" -c copy out.m3u8

把 mp4文件切片

ffmpeg -ss 00:00:00 -t 00:00:30 -i t2.mp4(原视频) -vcodec copy -acodec copy pic1.mp4(新视频)

把两/多个 mp4文件合并(这样直接拼接有问题,只拼接了时长,第第一秒不动)二个视频的内容一直卡在它的

ffmpeg -f concat -i mylist.txt -c copy output.mp4

可以用以下方法合并:
先将 mp4 转化为同样编码形式的 ts 流,因为 ts流是可以 concate 的,先把 mp4 封装成 ts ,然后 concate ts 流, 最后再把 ts 流转化为 mp4

ffmpeg -i mobile.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb mobile.ts
ffmpeg -i t1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb t1.ts
ffmpeg -i "concat:t1.ts|mobile.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4

P.S. 如果需要m3u8加载不同的m4s等文件,可以手动改 m3u8中的内容(进行增删视频片段)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/JaneLittle/article/details/126184219