• 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
    
    • 1

    把多个m4s合并并转成 MP4:

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

    把m4s文件转为 m3u8:

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

    把 mp4文件切片

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

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

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

    可以用以下方法合并:
    先将 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
    
    • 1
    • 2
    • 3

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

  • 相关阅读:
    【C++】类和对象(中)
    医疗知识图谱 neo4j
    初识C语言
    OpenGL纹理转换谜团:纹理写入FRAMEBUFFER后的镜像现象
    [计算机提升] 命令、批处理介绍
    Redis实用功能汇总
    计算机网络笔记(王道考研) 第三章:数据链路层
    算法67-链表相交问题
    Mac上好用的翻译软件推荐 兼容m
    8.反悔贪心
  • 原文地址:https://blog.csdn.net/JaneLittle/article/details/126184219