b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

生成ts文件 Linux下生成HLS所需的.ts和.m3u8文件

电脑杂谈  发布时间:2017-01-30 20:02:46  来源:网络整理

要想利用HLS来实现视频的播放,就得需要将一个完整的视频文件切割成多个ts视频流,然后利用m3u8的索引文件来播放。生成ts文件Mac下苹果提供了streamingTools,里面有mediafilesegmenter和mediastreamsegmenter来分别实现文件和直播流的切割,一行命令直接就可以将输入的原始视频文件导出成几个ts和索引文件,直接就可以用了。但是一般服务器都是基于linux的,要想在linux下实现同样的切割,需要借助一些工具,基本是利用开源的ffmpeg和segmenter工具来实现。

安装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 <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 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

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 安吉丽娜
        安吉丽娜

        这番话就是讲给美国人听的肺腑之言

      • 豆星
        豆星

        容许现在打击的红灯区的存在

      • 张偌瑜
        张偌瑜

        半夜堵在高速路上

      热点图片
      拼命载入中...