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有啥好的理解,也是可以指导一下的。

  • 相关阅读:
    206. 反转链表
    JAVA 排序总结
    Codeforces Round #674 (Div. 3)
    【BM模板】
    【 lca 】最近公共祖先
    【 欧拉函数 】GCD
    【 裴蜀定理 】Border
    【调和级数 && 欧拉常数】 Harmonic Number
    【Lucas定理】组合数取模算法
    【 最短路 && 思维 】Escape Plan
  • 原文地址:https://www.cnblogs.com/dayq/p/12462599.html
Copyright © 2011-2022 走看看