const liveConfig = {
rtmp: {
port: 1935,
chunk_size: 60000,
gop_cache: true,
ping: 30,
ping_timeout: 60,
},
http: {
port: 8000,
mediaroot: '../media', // path.join(__dirname, '../../media'),
webroot: './www',
allow_origin: '*',
},
// https: {
// port: 8443,
// // key: './key.pem',
// // cert: './cert.pem',
// },
trans: {
ffmpeg: '/usr/bin/ffmpeg',
// '/Users/82104/Downloads/ffmpeg-7.0.1-essentials_build/ffmpeg-7.0.1-essentials_build/bin/ffmpeg.exe',
tasks: [
{
app: 'live',
vc: 'libx264', // x264 비디오 코덱 사용 (H.264는 인코딩 시 그래픽카드의 GPU 사용 > 사양 좋아야함.. x264는 CPU 사용)
vcParam: [
'-crf',
'18', // CRF 값 (인코딩시 사용되는 품질 기준값, 18은 거의 무손실, 23은 기본값)
'-preset',
'slow', // 인코딩 프리셋 (한 프레임을 만드는 데에 얼마나 CPU 자원을 사용할지, 느려질수록 같은 비트레이트에서 더 나은 품질)
'-b:v',
'4M', // 비디오스트림 비트레이트 (초당 비트 전송률, 즉 1초당 용량, 4M는 4 Mbps)
'-maxrate',
'4M', // 최대 비트레이트
'-bufsize',
'8M', // 버퍼(임시 저장공간?) 사이즈 (8MB)
],
ac: 'copy',
// acParam: ['-ab', '64k', '-ac', '1', '-ar', '44100'],
hls: true,
hlsFlags: '[hls_time=2:hls_list_size=3:hls_flags=delete_segments]',
// hlsKeep: true, // to prevent hls file delete after end the stream
// ffmpegParams: '-loglevel debug -report', // FFmpeg 로그 기록
// dash: true,
// dashFlags: '[f=dash:window_size=3:extra_window_size=5]',
// dashKeep: true, // to prevent dash file delete after end the stream
mp4: true,
mp4Flags: '[movflags=frag_keyframe+empty_moov]',
},
],
},
fission: { // 화질별 분할
ffmpeg:
'/Users/82104/Downloads/ffmpeg-7.0.1-essentials_build/ffmpeg-7.0.1-essentials_build/bin/ffmpeg.exe',
tasks: [
{
rule: 'live/*',
model: [
{
ab: '128k', // 오디오 비트레이트
vb: '2000k', // 비디오 비트레이트 (2 Mbps)
vs: '1920x1080', // 비디오 해상도
vf: '30', // 프레임 레이트 (초당 프레임수, 30 fps)
},
{
ab: '128k',
vb: '1500k',
vs: '1280x720',
vf: '30',
},
{
ab: '96k',
vb: '1000k',
vs: '854x480',
vf: '24',
},
{
ab: '96k',
vb: '600k',
vs: '640x360',
vf: '20',
},
],
},
],
},
};
trans 블럭 안에 fission 설정을 추가하여 model에 화질별 설정 집어넣기
'TIL' 카테고리의 다른 글
TIL 240814 - Artillery 를 이용한 부하테스트 (0) | 2024.08.14 |
---|---|
TIL 240812 - ubuntu에서 node.js에 할당된 메모리 한도 늘리기 (0) | 2024.08.12 |
TIL 240807 - node-media-server 트러블슈팅 (1) (0) | 2024.08.07 |
TIL 240805 - 로컬에서 https 테스트하기 + 인증서 발급 (0) | 2024.08.05 |
TIL 240802 - unsigned 속성 / foreign key 에러 (0) | 2024.08.02 |