# ts2ts **Repository Path**: xiaobo0903/ts2ts ## Basic Information - **Project Name**: ts2ts - **Description**: 实时的转换ts片 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-18 - **Last Updated**: 2022-01-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ts2ts #### 介绍 ##### 实时的转换ts片网关,是基于hls协议的基础上,对于ts分片文件进行实时的转码操作,主要是为了生成预览码流;减少带宽的使用; ##### 实时转码因为片较小,基本只增加1秒左右的延时,基本不会卡顿,可以作为监控等的源进行使用; #### 设置方法 基于nginx来进行实现,nginx需要支持lua环境,具体安装可以参考网上的opentry的安装; ##### 1 安装nginx完成后,在nginx目录中建立lua子目录;(mkdir lua) ##### 2 把realtimets.lua拷入该目录中; ##### 3 建立虚拟盘/tmp/vdisk_ts(主要是解决处理文件的效率) ##### #mkdir /tmp/vdisk_ts; ##### #mount -t tmpfs -o size=1024m tmpfs /tmp/vdisk_ts ##### 4 把nginx.conf 拷入conf目录(可能会覆盖以前的配置,做好备份工作) ##### 其中upstream中的地址,需要根据实际的环境进行修改; ##### 5 正常的m3u8访问地址:http://10.10.10.2/hls/live.m3u8 ##### 实时转码的访问地址: http://10.10.10.2/ts2ts/live/m3u8(也可在不同的机器上,修改upstream中的地址) #### nginx中重要的配置项: #### http中: upstream tsbackend { server 10.0.2.8; keepalive 100; } #### server中: location /ts2ts { #application/vnd.apple.mpegurl m3u8; default_type application/vnd.apple.mpegurl; content_by_lua ' local base_m3u8_url = ngx.var.uri:gsub("/ts2ts/", "/") local res = ngx.location.capture(base_m3u8_url) local new_body = res.body:gsub(".ts", ".mts") ngx.print(new_body) ngx.exit(ngx.HTTP_OK) '; } location ~ \.mts$ { default_type video/mp2t; content_by_lua_file lua/realtimets.lua; } location /proxyts { proxy_pass http://tsbackend/; }