본문 바로가기

WebRTC

[Janus] janus-pp-rec 를 활용한 파일 변환

728x90

Janus 미디어서버는 서버사이드 레코딩을 지원한다.

 

내부 API 를 통해 레코딩을 시작하면 아래와 같이 파일이 생성되는데

영상 : 파일명-vido.mjr

오디오: 파일명-audio.mjr

데이터 : 파일명-data.mjr

 

해당 파일은 raw data 로, 몇가지 라이브러리를 설치하여 변환을 해야 일반적인 비디오/오디오 파일이 만들어진다.

 

정리가 필요하지만, 우선 기록용으로 가볍게 작성하려 한다.

 

0. update

apt-get update

 

1. janus-pp-rec 설치

apt-get install janus-tools

 

2. ffmpeg 설치

apt-get install ffmpeg

 

3. 파일 변환

- 먼저, 아래와 같이 레코딩 된 raw data 를 준비한다.

레코딩 된 raw data

- bash script 를 아래와 같이 준비한다.

#!/bin/bash

# 변수 정의
filename_prefix="$1"
output_file="$2"
tmp_video=/tmp/mjr-$filename_prefix.webm
tmp_audio=/tmp/mjr-$filename_prefix.opus

# 파일 변환
janus-pp-rec /opt/janus/share/janus/recordings/$filename_prefix-video.mjr $tmp_video
janus-pp-rec /opt/janus/share/janus/recordings/$filename_prefix-audio.mjr $tmp_audio

# 병합 및 내보내기
ffmpeg -i $tmp_audio -i $tmp_video  -c:v copy -c:a opus -strict experimental $output_file

# 임시 파일 제거
rm $tmp_video
rm $tmp_audio

- 아래와 같이 script 를 실행한다.

( "7094390277113162-60668" 로 생성된 오디오/비디오 파일을 변환하여 "7094390277113162-60668.webm" 파일로 내보낸다. )

sh convert.sh 7094390277113162-60668 7094390277113162-60668.webm

- 스크립트가 정상적으로 실행되면, 아래와 같이 진행 경과 및 결과를 확인 할 수 있다.

 

이상 끝-

728x90