스트림(JPEG HD 및 H264 HD) 사용

중요:

2026의 경우 스트리밍에 H264 HD를 사용하려면 OpenH264 v2.6 이상을 사용해야 합니다. 이 GitHub 프로젝트에서 다운로드합니다.

누군가 VRED 스트림을 언급한다면 전이중 통신을 위해 WebSocket을 통해 웹 인터페이스에서 제공되는 JPG HDH264 HD 기능에 대해 말하는 것일 수 있습니다. VRED 스트림에서는 장면 탐색, 터치 센서 사용, HTML 5 컨텐츠와의 상호 작용도 지원됩니다. 자세한 내용은 VRED 스트림 앱을 참조하십시오.

VRED 스트림 옵션 액세스

장치 또는 시스템이 VRED가 실행 중인 PC에 연결할 수 있어야 합니다. 로컬 호스트를 사용하는 경우 VRED와 동일한 컴퓨터에서 브라우저를 실행해야 합니다.

  1. VRED 장면을 엽니다.

  2. 편집 > 기본 설정 > 일반 설정 > 웹 인터페이스 > 기준을 선택하고 웹 서버 사용이 활성화되었는지 확인합니다.

    포트 번호를 기록합니다. 기본값은 8888입니다.

  3. 적용 및 저장을 클릭합니다.

  4. GitHub에서 OpenH264 코덱 라이브러리를 다운로드한 다음 압축되지 않은 openh264-2.0.0-win64.dllC:\Program Files\Autodesk\VREDPro-<internalVersion>\bin\WIN64에 복사합니다. H.264 코덱이 없으면 오류 메시지가 나타납니다.

  5. 웹 브라우저를 열고 localhost:8888 또는 YourIP:8888을 입력합니다. 그러면 VRED 웹 서버 앱이 열립니다.

    참고:

    이 방법은 다른 시스템에서도 가능합니다. localhost를 사용하면 로컬 시스템에서 모든 항목이 실행됩니다. 다른 시스템에서 소프트웨어를 구동하려면 localhost를 VRED를 실행 중인 다른 시스템의 IP 주소로 변경합니다. 스트림을 사용자 지정 URL 경로에 연결하려면 사용자 지정 URL 라우팅을 참조하십시오.

  6. 스트림을 선택한 다음 JPEG 또는 H264 HD를 선택합니다.

    스트림 앱

    뷰포트가 나타나면 LMB을 클릭한 상태로 드래그하여 초점이동하고 마우스 휠을 사용하여 줌합니다.

연결 정보

스트림 끝점은 {schema}://{host}:{port}/socketstream입니다. 예를 들어, TLS를 사용하여 로컬 인스턴스에 연결하는 URI는 다음과 같습니다.

wss://localhost:8888/socketstream

WebSocket의 이진 유형은 arraybuffer입니다.

들어오는 데이터 정보

VRED는 WebSocket 연결을 통해 각 프레임에 대해 두 개의 메시지를 전송합니다. 첫 번째는 스트림 형식 및 몇 가지 추가 정보를 포함하는 직렬화된 JSON 문자열입니다. 두 번째는 프레임 이미지 데이터를 포함하는 이진입니다.

{
    "format": {
        "codec": "h264",
        "width": 1024,
        "height": 1320,
        "fps": 60,
        "bitrate": 8000,
        "quality": 85,
        "fixed": 0
    },
    "clients": 1
}
이름 유형 설명
format.codec 문자열 이진 이미지 데이터에 사용되는 스트림 코덱입니다. 현재 지원되는 코덱은 jpegh264입니다.
format.width 숫자 이미지 데이터의 폭입니다.
format.height 숫자 이미지 데이터의 높이입니다.
format.fps 숫자 초당 최대 프레임의 한계입니다.
format.bitracate 숫자 H264 코덱에 사용되는 비트 전송률입니다.
format.quality 숫자 JPEG 코덱에 사용되는 이미지 품질입니다.
format.fixed 숫자 스트림 형식 고정 여부를 나타내는 부울 값이며 변경할 수 없습니다.
clients 숫자 동일한 VRED 인스턴스에 연결된 클라이언트 수입니다.

이진 이미지 데이터에는 앞의 4바이트에 프레임 번호가 포함되어 있습니다. 이미지 데이터를 디코더로 보내기 전에 이 번호를 추출해야 합니다. 또한 프레임을 동기화하려면 프레임 번호를 VRED로 다시 보내야 합니다. 자세한 내용은 나가는 데이터를 참조하십시오.

나가는 데이터 정보

VRED는 클라이언트가 처리할 수 있는 프레임 수를 자동으로 관리할 수 있습니다. 이를 위해 VRED에서는 렌더링된 프레임을 확인하기 위해 클라이언트의 피드백이 필요합니다. 문자열 메시지는 sync(${frame})과 같은 형식입니다.

동기화 외에도 탐색 명령은 특히 이 채널을 통해 VRED로 보낼 수 있습니다. 아래 모든 명령 테이블이 나와 있습니다.

명령 매개변수 설명 예제
dblclic button: number, keyModifier: number, x: number, y: number 마우스 두 번 클릭 -
keypress keyCode: number, keyModifier: number, x: number, y: number 키 누르기 또는 키 아래로 keypress(-10, 0x04000000, 483, 281)
mousedown button: number, keyModifier: number, x: number, y: number 마우스 버튼 아래로 mousedown(-10, 0x02000000, 483, 281)
mouseup button: number, keyModifier: number, x: number, y: number 마우스 버튼 위로 mouseup(-10, 0, 483, 281)
mousewheel delta: number, keyModifier: number, x: number, y: number 마우스 휠 변경 mousewheel(-10, 0, 483, 281)
동기화 frame: number VRED와 클라이언트 간에 프레임을 동기화합니다. sync(128)
업데이트 - VRED가 새 프레임을 강제로 렌더링하도록 합니다. update()

매개변수 설명:

  • button 값은 마우스 버튼을 나타냅니다. 왼쪽 버튼 = 0, 가운데 버튼 = 1, 오른쪽 버튼 = 2.
  • keyCode는 눌린 키의 수정되지 않은 십진 ASCII 값을 나타냅니다.
  • keyModifier 값은 눌린 키 수정자에 설정된 비트입니다. Alt 키 = 0x08000000, Ctrl 키 = 0x04000000, Shift 키 = 0x02000000.
  • xy 값은 스트림 이미지 크기에 상대적인 마우스 위치를 나타냅니다.

모든 인터랙션으로 인해 VRED가 하나 이상의 새 프레임을 렌더링합니다. 추가 프레임은 렌더 설정에 따라 달라집니다. 예를 들어, 안티앨리어싱이 활성화된 경우 VRED는 여러 개의 프레임을 전송합니다.

스트림 형식 변경

스트림 형식은 별도의 /stream/param? 끝점을 통해 변경할 수 있습니다. 예를 들어, 다음은 TLS를 통해 형식을 전체 HD 및 JPEG 인코딩을 사용하여 로컬 인스턴스로 변경하는 URL입니다.

GET https://localhost:8888/stream/param?width=1920&height=1080&format=jpeg&quality=85&fps=30

아래 모든 매개변수 테이블이 나와 있습니다.

이름 유형 설명
format 문자열 스트림 코덱, jpeg 또는 H264일 수 있습니다.
width 숫자 스트림 이미지의 폭입니다.
height 숫자 스트림 이미지의 높이입니다.
fixed 부울 해상도가 고정되어 있으며 fixed = false를 보낼 때까지 변경할 수 없음을 나타냅니다.
fps 숫자 클라이언트에게 보내는 초당 최대 프레임 수를 제한합니다.
bitrate 숫자 일반적으로 200016000 사이의 값인 H264 코덱의 비트 전송률입니다.
quality 숫자 1(최고 압축)에서 100(최고 품질) 사이의 값을 사용한 JPEG 인코더의 이미지 품질입니다.