zoukankan      html  css  js  c++  java
  • 记将m3u8多个视频文件合并为整体法一(未加密)

    理论上讲,从网站上下载的这种视频格式的文件都是一个“.m3u8”为后缀的目录文件加上一个文件夹。文件夹里面放置的就是实际的视频文件了。如果没有加密的话,你是可以直接把它用视频播放器打开的。如果不能打开的话,那说明文件已经被加密了,本篇日记则不适合。

    理论上讲,里面的视频文件都是名称递增的,比如abcd1.ts、abcd2.ts。各个文件只有后面的数字不同而已。如果不是这样,那么,你得根据m3u8目录文件(打开方式为文本),从头至尾排序了。如果是这样的话,本篇日记是合适的,但是需要自行改动。

    言归正传,自己百度搜索 ffmpeg下载 .或者根据

    链接1:官网下载:http://www.ffmpeg.org/download.html

    链接2:百度网盘下载:https://pan.baidu.com/s/14Y8zctqGRNeA9qYLOZChRg 提取码:t8ys 。

    下载完后,解压即可,然后去配置环境变量: path。后面新建即可,加入打开bin文件夹后复制的地址栏的地址即可。

    检验配置好了没有,快捷键 windows+R,键入cmd后进入控制台,再键入ffmpeg,如果不是出现未安装的命令啥的,那应该就是没问题的。懒得插图。

    这里假设你已经配置好了。这里先给出你最后在控制台键入的语句:ffmpeg -f concat -safe 0 -i C:Users17724Desktop estfilelist.txt -c copy C:Users17724Desktop est ewoutput.mp4

    这里注意的地方就是 filelist.txt文件的位置和名称一定要设置好,还有产出视频的位置和名称也要根据下面自己改动。

    代码看不懂可以留言也可以自行百度,建议百度。

    还要注意笔者用的dev-cpp。要设置为支持c++11,怎么设置呢,因为不想插图,也就不再赘述了,留言或者自行百度都可。

     1 //这里先给出你最后在控制台键入的语句:ffmpeg -f concat -safe 0 -i C:UsersAdministratorDesktopfilelist.txt -c copy C:UsersAdministratorDesktopoutputnow.mp4
     2 #include<iostream>
     3 #include<string.h>
     4 using namespace std;
     5 int main()
     6 {
     7     /* 根据视频文件的顺序改动循环即可 */
     8     for(int i=0;i<1019;i++)
     9     {
    10         string s="file ";
    11         /* 下面添加的是视频文件的文件位置  和视频文件的共同前缀。具体的自己改动即可*/
    12         s+="'C:\Users\Administrator\Desktop\test\abcd" +to_string(i)+".ts'
    ";
    13         /* 如果原文件没有后缀的话,就去掉.ts即可。*/
    14         cout<<s;
    15     }
    16 }

    这里,要把运行后的输出内容全部复制到filelist.txt中,再在控制台中运行最后那句代码即可。合并速度很快,不会久等的。

    此外,还有一种类似的方法但是效果完全不同,读者自行体会:ffmpeg -i input1.mp4 -i input2.mp4 -i input3.mp4 -lavfi hstack=inputs=3 output.mp4  也是用于多个视频的合并,如果读者理解了上面的做法,那么下面的这种方法要运用也是毫无问题的。作者也是今天才接触这个ffmpeg,还不能算做入门,所以读者对ffmpeg有啥好的理解,也是可以指导一下的。

  • 相关阅读:
    Linnia学习记录
    漫漫考研路
    ENS的学习记录
    KnockoutJS 3.X API 第四章 数据绑定(4) 控制流with绑定
    KnockoutJS 3.X API 第四章 数据绑定(3) 控制流if绑定和ifnot绑定
    KnockoutJS 3.X API 第四章 数据绑定(2) 控制流foreach绑定
    KnockoutJS 3.X API 第四章 数据绑定(1) 文本及样式绑定
    KnockoutJS 3.X API 第三章 计算监控属性(5) 参考手册
    KnockoutJS 3.X API 第三章 计算监控属性(4)Pure computed observables
    KnockoutJS 3.X API 第三章 计算监控属性(3) KO如何实现依赖追踪
  • 原文地址:https://www.cnblogs.com/dayq/p/12462599.html
Copyright © 2011-2022 走看看