Language not available Language not available Language not available

내가 이용하는 언어를 지원하지 않는 게시물입니다. 다른 옵션:

Twitch Studio 베타 업데이트

Apr 6 2020

새로운 스트리머가 Twitch에서 쉽게 방송을 시작할 수 있도록 도와주는 무료 방송 소프트웨어인 Twitch Studio 베타가 방송 설정과 관리에 대한 여러분의 걱정을 사라지게 해줄 것입니다. 

최근 네 가지 흥미로운 새 기능으로 Twitch Studio를 업데이트했습니다: 원 클릭 그린 스크린, Chrome 브라우저 창 캡처, Vulkan 게임 캡처, 멀티 오디오 소스 지원. 이 기능에 생명을 불어넣기 위해 무대 뒤에서 무슨 일이 있었는지 궁금하신가요? 직접 읽어보세요!

원 클릭 그린 스크린 (크로마 키)

보통 그린 스크린으로 알고 있는 크로마 키는 웹캠에서 배경을 제거할 때 사용하는 필터입니다. 좋아하는 스트리머 채널에서 이미 경험해 보신 분도 있을 겁니다. 그린 스크린은 스트리머가 방송에서 개성을 보여줄 수 있는 재밌는 방식으로 방송 배경을 완전히 다르게 변형하고 콘텐츠를 더욱더 매력적이고 세련되게 보이도록 해줄 수 있습니다. 하지만 그린 스크린을 설정하는 과정이 수동이거나 모든 설정을 올바르게 하기 위해 수많은 설정을 조정해야 하기 때문에 시간이 많이 걸리곤 합니다. 이것이 바로 자동으로 크로마 키 설정을 구성하고 한 번의 클릭으로 그린 스크린을 감지할 수 있는 그린 스크린 자동 탐지 기능을 만든 이유입니다.

그런데 그린 스크린의 작동 원리가 뭘까요? 단색 배경을 사용하면 필터가 특정 색상의 모든 픽셀을 찾아 투명하게 만들 수 있습니다. 보통 이 목적을 위해 특별하게 제작된 녹색 시트나 화면을 사용하지만, 전면에 없는 단색이면 어떤 단색도 가능합니다. 단색 배경이 사람에게는 같은 색으로 보이지만, 컴퓨터는 이를 다르게 인식합니다. 그림자와 고르지 않은 조명은 컴퓨터가 해당 배경을 전체 색상 범위로 인식함을 의미합니다. 이를 고려하기 위해 필터는 각 픽셀의 휘도나 밝기를 무시하고 대신 색차나 색상만 봅니다.

단순히 휘도를 무시하는 것만으로는 부족합니다. 조명의 차이도 픽셀의 기본 색차를 변경합니다. 이를 고려하기 위해 필터에는 픽셀의 색차가 실제로 제거할 목표 배경색에 얼마나 근접해야 하는지를 제거하는 "유사성" 설정이 있습니다.

배경의 조명이 고르고 설정이 올바르게 되어 있으면 이 모든 것이 제대로 작동되지만, 설정을 조절하면 정말 곤란한 상황에 처할 수 있습니다. 유사성 값이 너무 크면 전면의 색상이 잘못 일치되며 값이 너무 작으면 배경 패치가 계속 표시됩니다. 올바른 설정값을 찾기 위해 조정해야 하는 두 가지 매개 변수(목표 색상 및 유사성 값)가 있기 때문에 올바른 설정을 찾는 것은 복잡하며 이때 Twitch Studio의 원 클릭 그린 스크린이 위력을 발휘하죠.

원 클릭 그린 스크린 시스템은 한 번의 버튼 클릭으로 이러한 설정을 최적화해줍니다. 먼저 일반적인 그린 스크린 설정의 일반적인 배경 위치에서 현재 이미지 샘플링을 시작합니다:

그리고 이 픽셀의 색차 값을 가져와 UV-색공간에 표시합니다. 이 플롯에서 한 무리의 점을 탐지하면 이 무리의 중심을 찾아 이를 목표 색상으로 사용하고 군집의 반경을 측정해 유사성 값으로 사용합니다:

이렇게 조작하지 않고도 최적의 설정을 선택할 수 있는 것입니다!

Chrome 캡처

지금까지 방송 소프트웨어의 창 캡처에는 BitBlt라는 Windows API 기능을 사용해 창의 이미지를 캡처했습니다. 이는 효율적이며 대부분의 경우 제대로 작동하지만, 최신 렌더링 방법을 사용하는 일부 애플리케이션의 경우 이 방법이 올바르게 작동하지 않습니다. 이는 Chrome이나 기타 Chrome 기반 앱(Discord, Slack, Spotify, VS Code 등)을 캡처하려고 할 때 방송 앱을 신뢰할 수 없으며 Chrome 창을 캡처할 때 오류가 자주 발생하곤 합니다. 이로 인해 종종 어떤 오류 메시지도 없이 검은색 화면이 나옵니다. 

이러한 문제 때문에 자른 디스플레이 캡처를 사용하거나 앱을 소프트웨어 렌더링 모드로 전환하는 편법을 사용하곤 합니다. (가능한 경우) 하지만 이런 편법은 불편한 점이 많습니다. 자른 디스플레이 캡처의 경우 창을 이동하면 의도하지 않은 방송의 장면을 공유할 위험이 있으며 소프트웨어 렌더링 모드를 변경하면 방송 중이지 않을 때도 앱의 성능에 영향을 줄 수 있습니다.

저희는 이러한 상태를 개선하고 싶었습니다. PrintWindow도 다른 창의 내용을 캡처할 때 사용할 수 있는 API지만, 대부분 빈 출력이나 신뢰할 수 없는 출력을 제공합니다. 하지만 이 함수는 강제적으로 대상 창 전체를 다시 칠해주는 문서화되지 않은 PW_RENDERFULLCONTENT 플래그를 허용하며 이 문제를 해결합니다.

이 새로운 캡처 방식은 강제적으로 대상 창이 추가 작업을 함으로써 이 출력을 렌더링하기 때문에 만능 해결책은 아니지만, 출력 자체가 없는 대안보다 확실히 낫습니다. 실제로 필요할 때만 이런 성능 저하가 발생하도록 하기 위해 기본값으로 전통적인 BitBlt 방식에서 캡처 문제가 있다고 알려진 앱의 캡처 모드만 활성화하고 우리가 놓친 것이 있을 수 있으므로 유저가 이 "호환성 캡처" 모드를 선택할 수 있도록 허용합니다. 이렇게 하면 거의 모든 경우에 성능 저하 없이 창 캡처를 수행할 수 있습니다.

Vulkan 게임 캡처 

게임 환경이 쉴 새 없이 발전하고 있다는 걸 잘 알고 있습니다. 이에 Twitch Studio 팀의 최우선 순위는 최신 기술에 발맞추어 진화하고 스트리머가 모든 최신 게임을 방송할 수 있도록 도와주는 것입니다. 이를 위해 이제 Twitch Studio에서 Vulkan 그래픽 API에서 실행되는 게임의 게임 캡처를 지원합니다. 다른 렌더링 API와 달리 Vulkan은 게임을 캡처하고 오버레이를 즉시 렌더링하는 방법을 제공하기 때문에 매우 흥미로운 프로젝트였습니다. 일반적으로 게임 캡처는 실행 중인 게임에 코드를 삽입한 다음 렌더링 API에 연결하여 각 게임 플레이 프레임을 가로채서 복사합니다. Vulkan은 (방송 앱과 같은) 타사 소프트웨어가 모든 Vulkan 게임을 자동으로 불러오는 특별 DLL을 등록할 수 있도록 허용하는 레이어 시스템을 제공합니다. 이는 게임 캡처 과정을 간소화해 현재 코드 삽입 기술의 복잡성을 상당 부분 무시할 수 있게 해줍니다.

멀티 오디오 소스

Twitch Studio는 방송에 처음으로 도전하는 스트리머를 위해 기능을 간소화한 베타 버전을 출시했으며 그로 인해 하나의 마이크와 하나의 데스크톱 오디오 캡처로 간소화된 오디오 모델을 사용했습니다. 스트리머 여러분의 의견에 따라 기능을 확장함에 따라 가장 많은 요청을 받은 기능 중 하나는 추가 오디오 채널/장치 지원이었으며 최근 이를 위해 기본 오디오 시스템에 대한 리팩터링을 시작했습니다.

이 오디오 점검을 통해 기본 오디오 환경을 최대한 간단하고 명확하게 유지하면서도 최대한 간단하게 사용할 수 있는 고급 구성 옵션을 추가하고 싶었습니다. 그러기 위해서는 오디오 장치를 관리하는 방법을 완전히 바꿔야 했습니다. 단순히 기본 출력을 선택하고 필요에 따라 마이크를 추가하는 대신 이제 새로운 장치를 추가할 때 모든 입력 및 출력 장치를 모니터링할 수 있습니다. 오디오 시스템 간소화 외에도 계획 중인 오디오 기능을 위한 토대도 마련 중입니다.

Twitch는 새로운 스트리머가 더 쉽게 방송 여정을 시작할 수 있도록 노력 중입니다. 올해도 스트리머가 계속해서 방송의 수준을 높이고 최대한 간단하고 능률적으로 Twitch를 이용할 수 있도록 다양한 도구를 개발하고 있습니다. 아직 Twitch Studio를 경험해보지 못하신 분들은 지금 바로 여기에서 사용해보세요.

기타 새소식