要想利用HLS来实现视频的播放,就得需要将一个完整的视频文件切割成多个ts视频流,然后利用m3u8的索引文件来播放。

安装ffmpeg

$ apt-get install ffmpeg

$ apt-get install libavformat-dev

获得m3u8-segmenter

$ git clone https://github.com/johnf/m3u8-segmenter

$ aclocal

$ automake -ac

$ ./configure

$ make

$ sudo make install

编译其中的文件m3u8-segmenter

$ gcc -Wall -g m3u8-segmenter.c -o segmenter -lavformat

利用ffmpeg将已有的视频文件转换成ts文件

$ ffmpeg -y -i -vcodec copy -acodec copy -vbsf h264_mp4toannexb

其中in file为待转换的视频文件,比如input.mov,output file为转换后的文件,要命名为output.ts

利用segmenter将转换好的ts文件切割成多个ts片,并生成.m3u8的索引文件

$ ./segmenter -i out.ts -n 10 -p segmenter_test -m test.m3u8 -u http://192.168.1.100:8080/hls/

i表示输入文件,n表示切割10秒,p表示切割文件的前缀。生成ts文件m表示生成的m3u8文件名,u表示这些切割后的文件处于web server的哪个目录下。

切片之后,最后一段ts不管是不是10s,同样会按10s去切,导致切好后的视频最后一段会加上去几秒的黑段来补足10s,原因是segmenter.c中的程序写的还有缺陷,修正方法如下:https://github.com/johnf/m3u8...

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/bofangqi/article-29627-1.html

linux将ts文件合并,生成ts文件 Linux下生成HLS所需的.ts和.m3u8文件相关推荐

  1. linux下编译ts工程,linux下搭建生成HLS所需的.ts和.m3u8文件

    要想利用HLS来实现视频的在线播放,就得需要将一个完整的视频文件切割成多个ts视频流,然后利用m3u8的索引文件来播放. 在Mac下,苹果提供了streamingTools的工具,里面有mediafi ...

  2. 批处理命令html文件合并,cmd命令行无损合并批处理TS视频文件

    有时,当我们从Internet下载一些视频文件时,我们发现某些视频格式为.ts格式,并且被分成N个以上的小文件. 特别是,某些视频以.ts格式(MPEG2-TS流)播放. 因此,如果要下载此视频,则需 ...

  3. 怎么把几个PDF文件合并成一个PDF

    有时一份pdf文档资料会被分成多个部分,在整理的时候可能需要将这些文件合并到一起,那么怎样可以将这多个pdf文件合并成一个呢?下面就教你怎样用PDF编辑器对pdf文件进行合并. ​ 方法/步骤 < ...

  4. MRI脑影像分析——多种工具实现Nifti(*.nii)文件读取、处理与写入——把小舞写进脑海里、6mm半高全宽高斯核平滑脑影像、NIFTI文件合并、算fMRI平均图像

    | 图源   Nifti(Neuroimaging Informatics Technology Initiative,神经影像信息学技术倡议)文件格式,是目前各大神经影像分析工具普遍兼容的体素水平的 ...

  5. linux中文麻酱字_【树】Linux笔记 1

    以下内容是参与[生信技能树-全球听第7期]的课程笔记,记录人:小瑛  ,有问题可在公众号后台留言 小白小白,请注意:笔记中出现的所有文件路径,仅作为参考,请勿模仿! 1. 登录服务器 1.1 Mac电 ...

  6. linux终端什么字体舒服,推荐一款 Linux 上比较漂亮的字体

    推荐一款 Linux 上比较漂亮的字体 发布时间:2006-04-17 00:50:47来源:红联作者:Linux培训部长 这款字体来自中国 Linux 公社,作者是 cnhnln ,这款字体是用 f ...

  7. 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.9.0版)

    TableGo_20200520 v6.9.0 正式版发布,此次版本更新如下:           1.新增对JDK9及以上版本Java环境的支持           2.生成JavaBean更名为生 ...

  8. mysql javabean 工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.9.0版)...

    TableGo_20200520 v6.9.0 正式版发布,此次版本更新如下: 1.新增对JDK9及以上版本Java环境的支持 2.生成JavaBean更名为生成数据模型并且提供了C#.C++.Gol ...

  9. 软件测试工作常用linux命令,软件测试工程师工作中常用的Linux命令

    Linux系统有着众多的优点,比方开源.非商业版本免费.多任务多用户操作,因而Linux系统在非桌面范畴占有压倒性的市场份额.关于互联网技术工作者来说,控制常用的 cd 切换目录 cd .. 返回上一 ...

最新文章

  1. AI技术出海 - 阿里云GPU服务器助力旷视勇夺4项世界第一
  2. Java代码中方法的特殊修饰符/修饰词/关键字
  3. C语言入门经验:零基础如何学习C语言?
  4. 事物 php,什么是php事务
  5. 原创 | 我说我了解集合类,面试官竟然问我为啥HashMap的负载因子不设置成1!?...
  6. 【算法视频】字符串模式匹配--布鲁特.福斯算法
  7. 关于SSH使用的一些经验
  8. java button jbutton_java程序将Button改成JButton,该如何改?
  9. linux yasm编译,linux安装yasm报错
  10. 1.2. Container Overview
  11. 聊天室小程序服务端源码(客户端接下一条)
  12. 如何使用AE制作文字破碎动画?制作ae破碎文字特效教程分享
  13. SQL Server 修改表,不允许保存更改【解决办法】
  14. 超级计算机 任务提交,超算任务提交系统slurm用法
  15. 【李开复】成功、自信、快乐(三)
  16. 模糊神经网络2--基于ANFIS的混沌时间序列预测
  17. 阿里巴巴集团--软件测试--《社招、校招jd、公司具体介绍,校园招聘公告,应届生招聘流程,技术培训,薪资福利》整理
  18. kafka的常用命令
  19. React中实现倒计时功能根据接口防止刷新
  20. 学习OpenBlas

热门文章

  1. java开发中JDBC连接MySQL
  2. 产品体验--女子监狱
  3. android studio创建模板,Android Studio为新项目创建项目模板
  4. Ext.encode与Ext.decode的JSON转换
  5. android wear 兼容模式,TicWatch Pro智能手表兼容模式如何开启?TicWatch Pro兼容模式开启教程...
  6. 【CodeForces】988E·Divisibility by 25
  7. linux性能调优--网络概念
  8. android 适配测试,谈Android手机客户端的适配测试
  9. NATv6是个笑话,那么IPv6本身呢?
  10. 软件工程第一次作业——制作个人简历