✦적응형 화질 · 지금 사용 가능

네트워크 상황을 읽는 적응형 스트리밍 화질.

Remio는 두 기기 사이의 경로를 측정해 로컬 네트워크, 인터넷, 릴레이 중 하나로 분류하고, 지연과 화질 깨짐을 모두 최소화하는 비트레이트 범위를 고릅니다. 직접 끌어 맞추는 슬라이더가 아니라 세션이 시작될 때 자동으로 정해지며, 네트워크가 바뀌면 다시 확인합니다.

✦신호

경로를 보면 네트워크가 감당할 수 있는 양을 알 수 있습니다.

작은 테스트 패킷이 클라이언트에서 호스트까지 갔다 돌아오는 데 걸리는 시간(왕복 시간)과 연결이 만들어진 방식을 함께 보면 Remio가 어떤 네트워크를 상대하는지 알 수 있습니다. Remio는 세션이 시작될 때, 그리고 네트워크 경로가 바뀔 때마다 다시 확인합니다.

두 기기가 인사를 나누는 순간 Remio는 반대편으로 아주 작은 패킷을 보내 돌아오는 시간을 잽니다. 유선 LAN에서는 이 왕복 시간이 아주 짧습니다. 같은 네트워크의 Wi-Fi에서는 조금 더 길고, 4G나 5G 연결에서는 눈에 띄게 길어지며, 한두 지역을 거쳐 트래픽을 넘겨야 하는 릴레이를 통하면 빠른 모뎀을 쓰더라도 더 길어질 수 있습니다.

같은 네트워크에서 왕복 시간이 아주 짧다면 로컬 네트워크입니다. 화면은 픽셀 단위로 완벽하게 보이고, 인코더는 만들어지는 대로 프레임을 내보낼 수 있으며, 조심스럽게 굴 이유가 없습니다. 그보다 길면 더 넓은 세상으로 취급합니다. 다른 방의 Wi-Fi, 카페 핫스팟, 기차 안의 LTE, 다른 도시에 있는 릴레이 서버 같은 경우입니다. 이때 대역폭 컨트롤러가 기어를 바꿉니다.

세션은 화면 크기와 프레임 레이트에 맞춘 비트레이트로 시작하므로, 크고 빠른 디스플레이는 작은 디스플레이보다 높게 시작합니다. 이후에는 경로의 종류가 Remio가 움직이는 범위를 정합니다. 세션 도중 Wi-Fi에서 셀룰러로 바뀌거나 연결이 스스로 다시 만들어지면, 떠나온 네트워크에 맞춘 결정을 붙들지 않고 다시 확인해 조정합니다.

이 선택은 일부러 보이지 않게 숨겨 두었습니다. 연결하면 화면이 나타나고, 지연은 지금 쓰는 네트워크에 맞는 수준입니다. 설정 화면도, 잊지 않고 켜야 하는 "LAN 모드" 토글도 없습니다. 경로 확인이 입력이고 알맞은 범위가 출력이며, 네트워크가 바뀌면 세션도 따라서 바뀝니다.

✦비트레이트 범위

네트워크 종류마다 하나씩, 알맞은 범위.

하나의 적응형 곡선으로는 공통점이 전혀 없는 네트워크들 사이에서 타협할 수밖에 없습니다. Remio는 대신 경로에 맞는 범위를 고릅니다. 로컬 네트워크에서는 높게, 인터넷에서는 신중하게, 릴레이에서는 상한을 두고 운영합니다.

로컬 네트워크
상한 30–60Mbps

세션은 화면 크기와 프레임 레이트에 맞춘 비트레이트로 시작하고, 하한을 높게 유지해 화질이 다시 올라가야 하는 일이 없도록 합니다. 상한은 화면 크기에 따라 30~60Mbps이며, 키프레임이 여유를 필요로 할 때 인코더가 순간적으로 치솟을 수 있어 대기열도 지연도 생기지 않습니다.

인터넷과 릴레이
하한 300Kbps

인터넷에서는 연결이 나빠지면 하한이 300Kbps까지 내려가며, 전환이 매끄럽지 않아도 스트림은 끊기지 않습니다. 인코더가 네트워크에 보내는 양을 줄이면서 프레임 레이트를 지킵니다. 릴레이를 거칠 때는 상한이 15Mbps입니다. 공유되고 제한된 경로를 더 세게 밀어붙이면 패킷 손실만 생기기 때문입니다.

이들은 모두 같은 인코더, 같은 디코더, 같은 프레임 단위 렌더 정책을 공유합니다. 달라지는 것은 하한이 놓이는 위치, 상한이 놓이는 위치, 그리고 잠깐의 급증이 생겼을 때 인코더가 얼마나 공격적으로 밀어붙일 수 있는가입니다. 로컬 네트워크에서 그 급증은 평범한 키프레임이지만, 제한된 경로에서는 견딜 만한 세션과 완전히 끊기는 세션을 가르는 차이가 됩니다.

경로가 바뀔 때 다시 확인하는 것도 범위 자체만큼 중요합니다. Wi-Fi에서 셀룰러로 옮겨 가거나 연결이 스스로 다시 시작되면, Remio는 경로를 다시 확인해 세션이 시작된 네트워크가 아니라 지금 쓰는 네트워크에 범위를 맞춥니다.

✦결정하는 것

범위를 정하는 기준, 숨기는 것 없이.

모든 일은 네 가지가 합니다. 경로를 분류하는 방식, 로컬 네트워크 범위, 인터넷과 릴레이 범위, 그리고 렌더 정책입니다. 이는 Remio가 실행되는 모든 코덱과 모든 플랫폼에서 같습니다.

경로 분류
로컬 · 인터넷 · 릴레이세션이 시작될 때 정해지고, 네트워크 경로가 바뀔 때마다 다시 확인합니다.
로컬 네트워크 범위
상한 30–60Mbps하한은 높게 유지되고, 상한은 키프레임 급증을 흡수합니다.
인터넷 및 릴레이 범위
하한 300Kbps연결이 나빠도 스트림이 끊기지 않고 버팁니다.
렌더 정책
항상 가장 최신 프레임오래된 프레임은 버립니다. 손실된 패킷은 제시간에 도착할 수 있으면 즉시 다시 보내고, 그렇지 않으면 Remio가 새 프레임을 요청합니다.
✦지연 시간

로컬 네트워크에서 처리 지연은 약 8ms.

인코더는 B-프레임을 끈 초저지연 H.265로 동작하므로, 모든 프레임은 이전 프레임에만 의존하고 다음에 올 프레임에는 의존하지 않습니다. 간격마다 한 번 캡처하고, 인코딩된 프레임 하나를 내보내며, 곧바로 전송합니다. 프레임 페이싱도, 인코더 대기열도, "따라잡기" 로직도 없습니다. LAN에서 체감하는 나머지는 디스플레이 자체의 60Hz 주사율 주기입니다.

클라이언트에서는 가장 최신 프레임을 그리고 나머지는 버립니다. 손실된 패킷은 제시간에 도착할 수 있으면 즉시 다시 보내고, 그럴 수 없으면 기다리지 않고 건너뛴 뒤 새 프레임을 요청합니다.

적응형 화질로 iPad에서 스트리밍 중인 Remio
✦모든 코덱, 모든 플랫폼

하나의 로직, 모든 코덱, 모든 플랫폼.

비트레이트 범위는 특정 코덱이나 운영체제에 묶여 있지 않습니다. 두 Mac 사이의 H.265 연결이든, 오래된 Windows 컴퓨터로의 H.264든, 최신 Android 기기로의 H.265든 같은 규칙이 적용됩니다.

H.265는 데스크톱 콘텐츠에서 비트당 화질이 가장 좋고, 모든 Mac, iPhone, iPad, 최신 Windows GPU, 최근 Android 칩셋에 하드웨어 인코더나 디코더가 있기 때문에 기본 코덱입니다. 하드웨어란 작업이 메인 CPU가 아닌 전용 실리콘 블록에서 처리된다는 뜻입니다. 더 빠르고 에너지 효율도 좋으며, 컴퓨터의 나머지 자원은 세션이 시작되기 전에 하던 일을 계속할 수 있습니다.

H.264는 H.265를 하드웨어로 처리할 수 없는 소수의 기기를 위한 대체 코덱입니다. 같은 화면에 대역폭을 조금 더 쓰지만 어디서나 작동하며, 같은 범위 로직이 변경 없이 그대로 적용됩니다.

인코딩 쪽에서는 macOS의 VideoToolbox, Radeon GPU의 AMF, Intel 내장 그래픽의 QSV, Windows의 NVIDIA 카드용 NVENC, Linux 호스트의 VAAPI를 사용합니다. 디코딩 쪽에서는 Apple 기기의 VideoToolbox와 Android의 MediaCodec을 사용합니다. 이 중 어느 것도 사용자에게 드러나지 않습니다. 두 기기를 페어링하면 엔진이 양쪽이 하드웨어로 처리할 수 있는 최선의 코덱을 고르고, 범위는 네트워크에 따라 스스로 정해집니다.

그 결과 지원하는 모든 플랫폼에서 OS별 별도 코드 경로 없이 같은 적응 동작이 제공됩니다. iPhone과 통신하는 Mac도, Android 태블릿과 통신하는 Windows PC도 같은 범위 로직을 얻으며, 양쪽 모두 하드웨어 가속을 쓰고 속도를 늦추는 소프트웨어 대체 경로는 없습니다. 양쪽이 지원하는 경우 같은 파이프라인이 HDR(Apple 실리콘 Mac이나 Windows PC에서 HDR 화면이 있는 기기로)과 진정한 4:4:4 컬러(Mac이나 NVIDIA 또는 최근 Intel 그래픽을 쓰는 Windows PC에서 Mac, Windows PC, iPhone, iPad로)도 함께 전달합니다.

✦체감

세 가지 네트워크, 세 가지 실제 경험.

표 속 숫자는 쉽습니다. 대부분의 사람들이 실제로 만나는 세 가지 상황에서 적응형 범위가 무엇을 가져다주는지 살펴보세요.

기가비트 광랜 LAN. 두 기기가 유선이거나 같은 Wi-Fi 6 공유기에 있으면 4K에서도 화면이 픽셀 단위로 완벽하고, 커서를 움직이고 그것이 움직이는 걸 보기까지 느껴지는 지연이 없습니다. 100% 확대에서도 글자가 아주 선명합니다. 웹사이트를 전속력으로 스크롤해도 호스트에서 직접 스크롤하는 것과 똑같아 보입니다. 네트워크에 키프레임을 위한 여유가 충분하고, 파이프라인의 어떤 부분도 속도를 제한하지 않습니다.

카페 Wi-Fi. 노트북 스무 대와 함께 쓰는 환경에서도 스트림은 60fps를 유지하며 깨끗합니다. 네트워크가 잠시 혼잡해지면 구석에서 잠깐 블록 현상이 보였다가 사라질 수 있습니다. 인코더가 프레임 레이트를 위해 디테일을 조금 내주었고, 클라이언트는 멈추지 않았으며, 세션이 끊어질 것 같은 느낌은 전혀 없었습니다. 로컬 네트워크 범위였다면 움찔했을 충격을 인터넷 범위가 흡수한 것입니다.

4G LTE 핫스팟. 주머니 속 휴대폰으로도 대부분의 최신 통신사에서 1080p 화면을 60fps로 깔끔하게 유지합니다. 움직임이 많은 장면의 디테일은 더 부드러워지는데, 인코더가 로컬 네트워크가 허용하는 비트레이트의 일부에 화면을 맞추기 때문입니다. 하지만 반응성은 똑같습니다. 클릭하면 클릭이 전달되고, 입력하면 키가 바로 나타납니다. 원격 데스크톱이 영상 통화가 아니라 진짜 원격 데스크톱처럼 느껴집니다.

이 세 가지 세션 어디에서도 설정을 바꾸거나, 화질을 고르거나, 시작 전에 네트워크 테스트를 할 필요가 없었습니다. Remio가 경로를 확인하고, 범위가 스스로 정해졌으며, 경험은 지금 쓰는 네트워크에 맞춰졌습니다.

✦FAQ

자주 묻는 질문

적응형 화질 모델에서 흔히 나오는 다섯 가지 질문에 솔직하게 답합니다.

Remio는 어떤 범위를 쓸지 정하려고 무엇을 측정하나요?
테스트 패킷이 기기 사이를 오가는 데 걸리는 시간과, 연결이 로컬인지, 인터넷을 통하는지, 릴레이를 거치는지를 봅니다. 같은 네트워크에서 왕복 시간이 아주 짧으면 로컬 네트워크로 간주하고, 그보다 길면 셀룰러, 먼 거리의 Wi-Fi, 릴레이 연결로 간주합니다. Remio는 세션이 시작될 때, 그리고 네트워크 경로가 바뀌면 다시 확인합니다.
하나의 적응형 곡선 대신 범위를 따로 두는 이유는 무엇인가요?
하나의 곡선은 로컬 네트워크에서 인코더를 끊임없이 억제하고, 잠깐의 급증마다 화질 깨짐을 일으킵니다. 범위를 따로 두면 로컬 네트워크 경로는 최고 화질을 유지하고, 인터넷과 릴레이 경로는 연결이 나빠도 스트림이 끊기지 않고 버팁니다.
적응형 화질은 셀룰러에서도 작동하나요?
네. 4G/5G에서는 인터넷 범위(하한 최저 300Kbps)가 대부분의 최신 네트워크에서 깨끗한 60fps 스트림을 유지합니다. 인코더는 프레임 레이트를 낮추기 전에 화질을 먼저 낮춥니다.
지연을 더하는 버퍼가 있나요?
없습니다. 클라이언트는 매 프레임 간격마다 가장 최신 프레임을 그립니다. 손실된 패킷은 제시간에 도착할 수 있으면 즉시 다시 보내고, 그럴 수 없으면 기다리지 않고 건너뛴 뒤 새 프레임을 요청합니다. 원격 데스크톱에서 오래된 프레임은 설계상 버려집니다.
자동 감지를 직접 바꿀 수 있나요?
경로 확인은 자동이라 설정할 것이 없습니다. 프레임 레이트 상한처럼 직접 한도를 정하고 싶다면 클라이언트의 스트림 설정에서 바꿀 수 있습니다. 대부분은 자동으로 두는 편이 더 나은 경험을 얻습니다.
Remio 앱 아이콘

적응형 화질은 연결하는 순간 켜집니다.

접속하려는 컴퓨터와 접속에 쓰는 기기에 Remio를 설치하세요. 대역폭 컨트롤러가 세션이 시작될 때 알맞은 범위를 고릅니다. 설정할 것은 없고, 화면만 보면 됩니다.