ffmpeg把ts文件转m3u8并切片
Linux_x86_64流媒体环境:nginx + EasyDarwin-master
客户端播放器:VLC media player
下载windows下的ffmepg二进制版本,请进网站http://ffmpeg.zeranoe.com/builds/win32/shared|static 最新版本,无需自己编译。
下载完解压后,需要配置ffmepg的path环境变量。Path=%Path%;E:\ffmpeg-20151117-git-e9aea6d-win64-static\ffmpeg-20151117-git-e9aea6d-win64-static\bin
下面流转换和切片的方式:
ffmpeg -ss 01:00:00 -i input_file_h264.mp4 -vcodec copy -acodec copy -t 00:06:00 output_file.mp4
------------------------------
利用ffmpeg将已有的视频文件转换成ts文件
ffmpeg -y -i <in file> -vcodec copy -acodec copy -vbsf h264_mp4toannexb <output file>
其中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 #需要安装segmenter包
i表示输入文件,n表示切割10秒,p表示切割文件的前缀。m表示生成的m3u8文件名,u表示这些切割后的文件处于web server的哪个目录下
PS:实践过程中发现一个问题,就是切片之后,最后一段ts不管是不是10s,同样会按10s去切,导致切好后的视频最后一段会加上去几秒的黑段来补足10s,原因是segmenter.c中的程序写的还有缺陷,修正方法如下:
---------------------------
ffmepg把ts文件转m3u8并切片:
ffmpeg -i xx.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 10 output%03d.ts
大家都说HLS代表future,rtsp已经是过去式了。
怎么分割并转换为h264编码呢?
先把ts流中的格式转换对,可以用以下命令试试:
ffmpeg -i your.ts -acodec copy -vcodec libx264 new.h264.ts
-----------------------------
ffmpeg -i xxxxx.ts -hls_time 10 -hls_list_size 10 -f hls xxxx.m3u8
-----------------------------
以下是笔者的方法:
ffmpeg -y -i bs.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb bs2.ts
ffmpeg -i bs2.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 3 output%03d.ts
ffmpeg把ts文件转m3u8并切片的更多相关文章
- ffmpeg转MP4文件为m3u8格式
第一种转换命令 #转mp4为ts ffmpeg -y -i D:\videos\BgFCWkn00qPBmWVzIEf0eQjaekx0oRjlk9VY2PcR.mp4 -vcodec copy -a ...
- 网络视频m3u8解密及ts文件合并
网络视频m3u8解密及ts文件合并 参考了两篇博客: https://blog.csdn.net/weixin_41624645/article/details/95939510 https://bl ...
- ffmpeg文件生成m3u8文件及ts切片程序(一)
ffmpeg文件生成m3u8文件及ts切片程序(一) 实现目标:输入本地文件,实现m3u8切片,功能点请看注释,注意:注释很重要. 参考: http://www.cnblogs.com/mystory ...
- ffmpeg 视频ts切片生成m3u8
下面几种转换方式是不同版本和方法 新版本ffmpeg转视频直接可以切边并生成 m3u8(目前用的方式,也可以用选项 segment ): ffmpeg -i '源文件.mp4' -c:v h264 - ...
- Linux 下使用 ffmpeg 大批量合并 ts 文件, mp4切割文件为m3u8
见范例 ffmpeg -i "concat:file001.ts|file002.ts|file003.ts|file004.ts......n.ts" -acodec copy ...
- 加密的m3u8、ts文件合并
加密后的ts文件不能直接合并或播放,需要使用key对每个ts文件进行解密. 分为两种情况: (1).如果ts文件已经全部下载好,则可以直接在本地通过ffmpeg快速解密合并. (2).如果ts文件没有 ...
- 关于m3u8文件, ts文件解密, hls 解密. 一些记录
使用openssl 解密 openssl aes-128-cbc -d -in 原.ts -out 解密后.ts -nosalt -iv 偏移量 -K key16进制 其中 iv 偏移量和 key 一 ...
- 指定一个M3U8文件,判断它包含的TS文件是不是都存在。指定一个Office生成的Swf文件,判断它包含的Swf文件是不是完整都存在。
static void Main(string[] args) { //检查M3u8文件 var fiPath = @"D:\Work\CloudPlatformUtil\CloudPlat ...
- Python3 根据m3u8下载视频,批量下载ts文件并且合并
Python3 根据m3u8下载视频,批量下载ts文件并且合并 m3u8是苹果公司推出一种视频播放标准,是一种文件检索格式,将视频切割成一小段一小段的ts格式的视频文件,然后存在服务器中(现在为了减少 ...
随机推荐
- iOS同步后couldn't load project
使用Cornerstone同步后,有时候出现下面的现象,点击运行,提示“couldn't load project” 解决方法: 1.鼠标右键点击工程“XX_Internal”,选择“show in ...
- list<PageData>传jsp隐藏域,在传回java
java传jsp,代码如下: /**去修改页面 * @param * @throws Exception */ @RequestMapping(value="/goEdit") p ...
- [转]Commons IO 官方文档
原文地址:http://ifeve.com/commons-io/ 本文翻译自 Commons IO 官方文档 译者:MagicWolf Common IO 是一个工具库,用来帮助开发IO功能 它包括 ...
- [echo]echo输出换行
echo -e "hello\nworld", -e处理转义字符
- [转]TF-IDF与余弦相似性的应用(一):自动提取关键词
这个标题看上去好像很复杂,其实我要谈的是一个很简单的问题. 有一篇很长的文章,我要用计算机提取它的关键词(Automatic Keyphrase extraction),完全不加以人工干预,请问怎样才 ...
- 批量修改mysql数据库引擎
数据库表中部分是MyISAM引擎,部分是InnoDB.由于MyISAM不支持事务,所以需要全部修改为InnoDB引擎. (下面例子SQL语句中 ecsoft 为数据库名) 通过以下查询可以看到数据库中 ...
- android开发(27) 看看我的手机里都有什么传感器
想看看我的HTC ONE x 具有什么传感器.写个代码RUN一下. 代码很简单,直接贴了 package zyf.demo.sensordemo; import java.util.List; imp ...
- 虚拟机创建及安装ELK
虚拟机创建及安装ELK 作者:高波 归档:学习笔记 2018年5月31日 13:57:02 快捷键: Ctrl + 1 标题1 Ctrl + 2 标题2 Ctrl + 3 标题3 C ...
- 引入css少引入了rel="stylesheet" 这行代码。导致整个页面空白、
忘记引入rel="stylesheet" 如下: <link href="css/swiper-3.3.1.min.css" /> 这样使得整个页 ...
- ViewPager一屏显示多个item,及边缘滑动事件优化
关于ViewPager显示两边的item方法,网络上是方法都在ViewPager外包一个Layout, 然后设置ViewPager和外面的Layout的clipChildren="false ...