woonizzooni

[macos] ffmpeg으로 화면캡처(capture desktop)해서 rtmp송출 본문

FFmpeg

[macos] ffmpeg으로 화면캡처(capture desktop)해서 rtmp송출

woonizzooni 2020. 3. 29. 21:31

[참고글 : 빌드 / 설치 / 실행파일 다운로드]

Windows10 FFmpeg컴파일

macOS ffmpeg설치

FFmpeg 바이너리 다운로드 (Windows (32bit/64bit), macOS 64bit)

 

 

- 화면 캡처 방법 참고 : https://trac.ffmpeg.org/wiki/Capture/Desktop

- 구동환경 : 맥북 + 외부모니터 연결

 

$ ffmpeg -f avfoundation -list_devices true  -i ""

o 비디오장치

    [0] : 내장카메라

    [1] : 맥북모니터

    [2] : 외부모니터

o 오디오장치

    [0] : 맥북 마이크

    [1] : Movavi 앱 가상 장치 같은데... (신경쓰지말자)

 

o 송출 명령 구성

    1. 장치/스트림 구성

        -f avfoundation -video_device_index 1 -audio_device_index 0 -i "default" 

    2. 비디오 코덱 설정

        -c:v libx264 -deinterlace -r 24 -s 1280x720 -b:v 1200k -minrate 1200k -maxrate 1200k -bufsize 1200k

        -pix_fmt yuv420p -profile:v baseline -x264-params keyint=48:keyint_min=24:scenecut=0:bframes=0 

    3. 오디오 코덱 설정

        -c:a libfdk_aac -b:a 128k -ar 44100 

    4. 컨테이너 형식 및 출력 방식 지정

        -f  flv rtmp://127.0.0.1:1935/live/movie

 

ex)

ffmpeg -f avfoundation -video_device_index 1 -audio_device_index 0 -i "default" \
  -c:v libx264 -deinterlace -r 24 -s 1280x720 -b:v 1200k \
    -minrate 1200k -maxrate 1200k -bufsize 1200k  -pix_fmt yuv420p \
    -profile:v baseline -x264-params keyint=48:keyint_min=24:scenecut=0:bframes=0 \
  -c:a libfdk_aac -b:a 128k -ar 44100
  -f flv rtmp://127.0.0.1:1935/live/movie

기타)

   -video_deivce_index1 -autio_device_index 0 <==> -i "1:0" 

   -f mp4 test.mp4 : mp4 형식의 파일로 녹화파일 생성됨.

 

 

윈도우 환경에서는 dshow (DirectShow) 옵션을 이용해서 실행하면 되겠다.

 

Comments