Skip to content

SublimeCT/rtsp_to_hls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rtsp -> hls

使用 nodejsrtsp 视频流转换为 hls 并写入到本地文件, 必须安装 ffmpeg 才能使用, 可以指定路径

usage

import { RtspConverter } from 'rtsp_to_hls'

// 首先应确保 `ffmpegPath` 和 `outputDir` 存在
const encoder = 'libxh264' // 设置生成的 hls 流的编码格式, 不传或传空为不转码
const rc = new RtspConverter(url, ffmpegPath, outputDir, encoder)

// 监听事件
rc.on('error', handleRCError)
rc.on('stderr', handleRCError)
rc.on('stdout', handleRCOutput)
rc.on('connected', handleRCConnected)
rc.on('existsM3u8', () => {
    // 此时已经生成了 m3u8 文件
    console.log(rc.saveM3u8Path)
    // 使用 `file` 协议播放 `.m3u8` 文件
    this.videoSrc = `file://${rc.saveM3u8Path}`
})

// 设置视频编码
// rc.setEncoder('libx264')

// 设置是否禁用 log
// rc.enableLog()
// rc.disableLog()

// 开始生成 ts 文件
rc.download()
// 开始截图
// rc.printscreen()

// get video info(video codec / audio codec)
rc.getVideoEncoder()

// 在退出播放时必须要停掉 ffmpeg 进程, 否则 ...
rc.kill()

// all(active) process
RtspConverter.processList

// kill all
RtspConverter.killAll()

test

先修改 test/config.js 中的参数

yarn test

About

rtsp convert to hls and save local disk

Resources

License

Stars

Watchers

Forks

Packages

No packages published