node
===========================================================
var ffmpeg = require('fluent-ffmpeg');
function callback() { }
ffmpeg('input.mp4', { timeout: 432000 }).addOptions([
'-profile:v baseline', // baseline profile (level 3.0) for H264 video codec
'-level 3.0',
'-s 640x360', // 640px width, 360px height output video dimensions
'-start_number 0', // start the first .ts segment at index 0
'-hls_time 10', // 10 second segment duration
'-hls_list_size 0', // Maxmimum number of playlist entries (0 means all entries/infinite)
'-f hls' // HLS format
]).output('x/output.m3u8').on('end', callback).run()
======================================================
input.mp4 파일을 x 디렉토리에 output.m3m8 파일로 만들어 준다.
=============================================
var ffmpeg = require('fluent-ffmpeg');
var rtsp="rtsp://theview11:a1s2d3f4@110.1.1.1:554/stream1";
//var host = ”
// var port = ”
// var path = ‘/SampleVideo_big.mkv’
function callback() { }
ffmpeg(rtsp, { timeout: 432000 }).addOptions([
'-c:v libx264',
'-c:a aac',
'-ac 1',
'-strict -2',
'-crf 18',
'-profile:v baseline',
'-maxrate 400k',
'-bufsize 1835k',
'-pix_fmt yuv420p',
'-hls_time 10',
'-hls_list_size 6',
'-hls_wrap 10',
'-start_number 1'
]).output('z/output.m3u8').on('end', callback).run()
==========================================
rtsp 주소에서 영상을 받아서 m3u8 파일로 만들어 준다.
hls 로 웹에서 실시간으로 rtsp 로 볼 수 있다.