가끔 인터넷방송을 한다. 보통 컴퓨터가 느려지는데, 실시간 encoding의 부하에 의한 현상이므로 encoding만 대신 해줄 수 있는 무언가가 있으면 좋겠다는 생각이 들었다. 그러던 중 집 구석에 박혀서 python 구동기로 사용되고 있는 raspberrypi 4가 눈에 들어왔다. 이친구 분명 4K streaming이 가능한 정도의 스펙을 가지고 있었던것 같은데..

 

이리저리 검색해보니 hdmi 캡쳐 카드와 v4l2-ctl, ffmpeg와 같은 유틸이 있으면 rpi4로 hdmi 신호를 받아 encoding한 후 RTMP 서버로 보낼 수 있는 방법을 누군가가 정리해두었다. hdmi 캡쳐카드야 그리 비싸지 않으니 한번 시도해볼만할것 같다.

 

 

참고 링크

github.com/PrawnMan/HdmiPi-Streaming

 

PrawnMan/HdmiPi-Streaming

Streaming using a cheap HDMI capture card and a raspberry Pi to an RTMP Receiver. - PrawnMan/HdmiPi-Streaming

github.com

streamlabs.kr/2019/11/what-is-a-capture-card/

 

인터넷 방송시 무조건 캡처 카드가 필요한가? - StreamLabs.kr

어떤분이 인터넷 방송을 시작하려고 캡처 카드를 구입했다는 이야기를 하길래 송출용 PC를 따로 쓰시려나 보다 물어보았더니 pc는 한대인데 방송하려면 무조건 캡처 카드가 필요한지 알고 구입

streamlabs.kr

============================================================================

 

시도해 본 결과 램이 부족한건지 sd카드 용량이 부족한건지 알 수 없지만 영상과 소리가 제대로 캡쳐되지 않는 현상이 있었다

라즈베리파이로 하는 방식은 보류하고 다른 PC를 찾아서 인코딩용으로 쓰는 방법을 사용해야겠다

 

그 과정에서 이용한 커맨드 백업

더보기

v4l2-ctl --set-fmt-video=width=1280,height=720 && ffmpeg -f v4l2 -thread_queue_size 384 -input_format mjpeg -framerate 30 -i /dev/video0 -f alsa -thread_queue_size 4096 -i plughw:1,0 -acodec pcm_s16le -ac 1 -ar 96000 -copytb 1 -use_wallclock_as_timestamps 1  -c:a aac  -b:a 128k -ar 44100 -b:v 4M -c:v h264_omx -f flv [rtmp address url]

송출 화면 노이즈를 볼 수 있다

 

아래 방식과 같이 csi를 사용하는 것도 생각할 수 있는데 이건 어떨지 모르겠다

github.com/pikvm/pikvm#diy-getting-started

 

pikvm/pikvm

Open and cheap DIY IP-KVM based on Raspberry Pi. Contribute to pikvm/pikvm development by creating an account on GitHub.

github.com

 

+ Recent posts