TS格式视频的使用

什么是TS文件格式

TS(Transport Stream,传输流)是一种封装的格式,它的全称为MPEG2-TS。MPEG2-TS是一种标准数据容器格式,传输与存储音视频、节目与系统信息协议数据,主要应用于数字广播系统,例如,DVB、ATSC与IPTV。传输流最初是为广播而设计的。后来,通过在标准的188字节数据包中添加4字节的时间码(TC),从而使该数据包成为192字节的数据包,使其适用于数码摄像机,录像机和播放器。

Tips:MPEG2是一种多媒体传输、复用技术,在数字电视广播中可提供数百个节目频道。复用的含义是,可以同时传输多层节目。MPEG-2标准中,有两种不同的码流输出到信道,一种是节目码流(PS: Program Stream ,节目流),适用于没有传输误差的场景;一种是传送流(TS : Transport Stream ,传输流),适用于有信道噪声的传输场景。TS流是将视频、音频、PSI等数据打包成传输包进行传送,主要用于节目传输。MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。

优点有:
● 动态带宽分配:由于TS的传输包长度是固定的,因此可将视频、音频和数据信息进行实时的、灵活的分配。
● 可分级性。
● 可扩展性。
● 抗干扰性。
● 接收机成本低廉。

什么是MP4

MP4或称MPEG-4第14部分(英语:MPEG-4 Part 14)是一种标准的数字多媒体容器格式。MPEG-4第14部分的扩展名为.mp4,以存储数字音频及数字视频为主,但也可以存储字幕和静止图像。因其可容纳支持比特流的视频流(如高级视频编码),为流媒体。详细内容可参见

MP4 和 TS的区别

主要有以下几点:

  • ts文件不提供关于时长等信息,你无法在ts文件里去实现音视频的seek操作
  • mp4不同于ts,是提供了时长等信息,可以执行seek到指定位置 .ts文件一般用于m3u8中, 或者提供了流媒体基础信息的前提下使用
  • mp4文件可以在不下载完全媒体文件的前提下进行seek操作;因为其头部记录moov信息(moov box中包含编码、分辨率、码率、帧率、时长、音频采样率等等媒体信息)

MP4 装换为 TS

1、前往 ffmpeg 官网,下载页面:​ ​https://ffmpeg.org/download.html

2、选择苹果图标,进入如下链接,选择需要的版本进行下载

3、下载完成,解压即可

4、前往命令行终端,执行 ffmpeg 命令(需要进入到安装目录,也可以配置到环境变量中)

ffmpeg -i video.mp4 -r 30 -s 960x540 -an -f mpegts -codec:v mpeg1video -codec:a mp2 -qscale 0  video.ts
参数名称 备注
-i 输入要处理的视频文件路径
-r 输出文件的帧频为
-s 设置帧大小 格式为W * H 缺省160X128
-an 不使能音频纪录
-f 强迫采用格式fmt
-codec:v 强制使用codec编解码方式
-codec:a 强制使用codec编解码方式
-qscale 使用固定的视频量化标度(VBR)

更多参数参见:https://www.jianshu.com/p/049d03705a81

前端播放ts

可以使用jsmpeg,官网地址

let player = new JSMpeg.Player(url [, options]);

相关参考

https://zhuanlan.zhihu.com/p/526685396
https://www.jianshu.com/p/c85149f37601
https://zh.wikipedia.org/wiki/MP4

你可能感兴趣的:(前端,音视频,ffmpeg,网络,html)