본문 바로가기
리눅스(Linux)/Ubuntu

[우분투 22.04] ffmpeg를 활용하여 동영상 파일을 RTSP로 송출하는 방법

by 연구자 공학코드 2025. 12. 5.

공지사항

  1. 제가 운영하는 IT·SI·SM 전문가 커뮤니티 아이티프로(https://cafe.naver.com/itpro)에 가입하시면 IT 개발 노하우와 SI 구축 및 사업관리 노하우, 솔루션 정보를 제공받으실 수 있습니다.

  2. 제가 운영하는 개발자 커뮤니티 코어큐브(https://cafe.naver.com/ewsncube)에 가입하시면 컴퓨터 관련 학습 자료와 질의응답을 제공받으실 수 있습니다.

728x90
반응형

우분투 22.04 환경에서 ffmpeg를 활용하여 동영상 파일을 RTSP로 송출하는 방법은 아래와 같다.

ffmpeg 설치

아래의 명령어를 입력하여 ffmpeg를 설치한다.

sudo apt-get install ffmpeg

설치가 진행되는 화면

아래의 명령어를 입력하여 설치된 ffmpeg 버전을 확인한다.

ffmpeg -version

ffmpeg 버전이 나타난 화면

RTSP 서버 설치

아래의 명령어를 입력하여 RTSP 서버로 사용할 mediamtx의 설치 파일을 다운로드 한다.

wget https://github.com/bluenviron/mediamtx/releases/download/v1.12.3/mediamtx_v1.12.3_linux_amd64.tar.gz

다운로드가 진행되는 화면

아래의 명령어를 입력하여 다운로드한 설치 파일을 압축 해제한다.

tar xvf mediamtx_v1.12.3_linux_amd64.tar.gz

설치 파일이 압축해제된 화면

아래의 명령어를 입력하여 mediamtx의 설정을 변경하기 위해 편집 모드로 진입한다. 설정 항목을 상황에 맞게 적절하게 수정한다. 본 글에서는 수정하지 않고 그대로 사용한다. 

vi mediamtx.yml

설정 파일을 편집기로 연 화면

설정이 완료되면 아래의 명령어를 입력하여 mediamtx를 실행한다.

./mediamtx

mediamtx가 실행된 화면

ffmpeg 동영상 파일 송출

아래의 명령어를 입력하여 'video.mp4' 동영상 파일을 RTSP 서버인 mediamtx로 보내서 RTSP가 송출되도록 한다.

ffmpeg -re -stream_loop -1 -i ~/video.mp4 -c copy -f rtsp -rtsp_transport tcp rtsp://127.0.0.1:8554/stream1

설정을 수정해서 송출시에 인증을 해야하는 경우에는 아래의 명령어와 같이 입력한다.

ffmpeg -re -stream_loop -1 -i ~/video.mp4 -c copy -f rtsp -rtsp_transport tcp rtsp://아이디:비밀번호@127.0.0.1:8554/stream1

RTSP 송출이 시작된 화면
RTSP 송출 중인 화면

아래의 사진처럼 VLC 미디어 재생기 같은 RTSP 클라이언트를 사용하여 동영상이 잘 송출(스트리밍)되는지 확인한다.

네트워크 스트림 열기
주소 입력
잘 스트리밍되는 화면

백그라운드 실행

아래의 명령어로 백그라운드에서 ffmpeg를 실행할 수 있다.

nohup ffmpeg -re -stream_loop -1 -i ./video.mp4 -c copy -f rtsp -rtsp_transport tcp rtsp://127.0.0.1:8554/stream0 > stream0.log 2>&1 &

실행된 프로세스의 고유 번호인 pid를 파일로 저장하면서 백그라운드로 실행하려면 아래의 명령어를 사용한다.

nohup ffmpeg -re -stream_loop -1 -i ./video.mp4 -c copy -f rtsp -rtsp_transport tcp rtsp://127.0.0.1:8554/stream0 > stream0.log 2>&1 & echo $! > stream0.pid

참고문서

  1. "FFMPEG RTSP 스트리밍 링크 정리", Alphago, 2020년 10월 20일. @원문보기
  2. "ffmpeg으로 rtsp 송출하기(RTSPSimpleServer, mediamtx)", 빗자루검, 2024년 7월 12일. @원문보기
  3. "mediamtx", bluenviron, GitHub. @원문보기
  4. "FFMPEG", bsh6226, 2025년 4월 30일. @원문보기
  5. "Does FFMPEG support RTSP authentication?", 2011년 2월 16일. @원문보기
  6. "ffmpeg 사용시 유의사항", 아미, 2010년 11월 11일. @원문보기

 

728x90
반응형

댓글