![라이브 스트리밍에서 대기 시간이 없고 높은 fps 포트 전달을 달성하려면 socat를 사용하십시오.](https://linux55.com/image/136548/%EB%9D%BC%EC%9D%B4%EB%B8%8C%20%EC%8A%A4%ED%8A%B8%EB%A6%AC%EB%B0%8D%EC%97%90%EC%84%9C%20%EB%8C%80%EA%B8%B0%20%EC%8B%9C%EA%B0%84%EC%9D%B4%20%EC%97%86%EA%B3%A0%20%EB%86%92%EC%9D%80%20fps%20%ED%8F%AC%ED%8A%B8%20%EC%A0%84%EB%8B%AC%EC%9D%84%20%EB%8B%AC%EC%84%B1%ED%95%98%EB%A0%A4%EB%A9%B4%20socat%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%8B%AD%EC%8B%9C%EC%98%A4..png)
이 명령을 사용하여 socat
라이브 스트리밍 포트에서 연결을 전달하고 있습니다.
TCP4-LISTEN:8080 TCP4:123.456.789.12:80
문제는 지연과 낮은 fps를 추가하는 반면, 포트 전달이 없는 라이브 스트리밍은 지연 없이 높은 fps 없이 완벽하게 작동한다는 것입니다.
- 이 문제의 원인은 무엇입니까?
- 이 구성을 수정할 수 있는 방법이 있습니까
socat
, 아니면 다른 방법을 사용해야 합니까?
답변1
저는 이에 대한 전문가는 아니지만 socat
이름(SOcket CAT)을 잠깐 살펴보면 두 개의 소켓을 열고 사용자 공간에서 이를 조작하는 방식으로 작동하는 것 같습니다.
slm이 제안한 대로 를 통해 구성해 보는 것은 어떨까요 iptables
?
Iptables는 netfilter를 구성하는 사용자 공간 애플리케이션입니다. Netfilter 코드는 커널에 내장되어 있습니다. 전달된 패킷이 커널 공간에서 사용자 공간으로 또는 그 반대로 전달될 필요가 없기 때문에 성능이 향상될 수 있습니다.
자원
답변2
방화벽에서:
$ sudo firewall-cmd --zone=public --add-masquerade
$ sudo firewall-cmd --zone="public" \
--add-forward-port=port=8080:proto=tcp:toport=80:toaddr=123.123.123.123
iptables
다음 SF Q&A를 참조하세요 .동일한 네트워크 내에서 한 IP에서 다른 IP로 포트를 전달하는 방법은 무엇입니까?.