일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 터치디자이너 튜토리얼
- 터치디자이너
- 터치디자이너 오퍼레이터
- 터치디자이너 에이블톤
- touchdesigner GPU
- 터치디자이너 인터페이스
- 터치디자이너 파이썬
- 터치디자이너 참조
- particleGPU
- 터치디자이너 if
- 파이썬reference
- 터치디자이너 Instancing
- TouchDesigner
- displace
- 터치디자이너 list
- 터치디자이너 replicator
- 터치디자이너 클론
- ableton live 10
- 터치디자이너 interface
- 파이썬
- 터치디자이너 함수
- touchdesinger
- 터치디자이너 강의
- 터치디자이너 python
- 터치디자이너 timeline
- TDableton
- 터치디자이너 reference
- 파이썬 if
- touchdesigner displace
- touchdesigner particle
- Today
- Total
caLAB
터치디자이너에서 고해상도 비디오(HAP codec) 작업하기 본문
터치디자이너에서 고해상도 비디오를 불러오면
프레임 레이트가 기하급수적으로 떨어지게 됩니다.
우선 테스트 하려는 비디오의 정보는 아래와 같습니다.
해상도(4864*6656), 16GB
비디오 인코딩 세팅을 변경하는 것이 최적화에 가장 효과적이었습니다.
우선 작업하고 있는 컴퓨터의 사양은 아래와 같습니다.
여기서 중요하게 보실 점은 코어 수입니다.
제가 작업하는 컴퓨터의 코어 수는 16개 입니다.
프리미어에서 hap 인코딩을 하도록 하겠습니다.
hap 인코딩이 처음에는 프리미어에 없을텐데 관련 plug-in은 인터넷에서 찾아서 깔면 됩니다.
프리미어에서 인코딩 세팅은 아래와 같이 합니다.
여기서 중요한 것은 Advanced video를 활성화 시킨 후 Chunk count를 체크하고
본인 컴퓨터의 코어 수와 맞춰 주는 것입니다.
*chunk는 비디오 데이터를 몇 개의 코어로 처리할지에 대한 정보를 저장합니다.
chunk의 수에 따라서 decode할 때의 코어 수가 결정됩니다.
터치디자이너로 돌아와서 인코딩 된 파일을 불러온 후 movieFileIn TOP으로 가서
Tune parameter를 아래와 같이 세팅합니다. Max Decode CPUs는 자신의 cpu 코어 수와 동일하게 합니다.
*High Performance Read
데이터는 디스크에서 TouchDesigner의 CPU 메모리로 직접 읽혀집니다. 이는 메모리 복사 작업을 방지하기 때문에 더 빠릅니다. 이 모드에서 TouchDesigner에 특정한 알고리즘 최적화가 수행되어 매우 높은 데이터 속도 재생이 가능합니다. 이 모드를 사용하면 디스크가 재생 중에 계속 사용되며 콘텐츠의 실제 재생 속도를 표시합니다.
이 모드는 고해상도 Hap, 무손실 H264 / H265와 같이 매우 높은 읽기 데이터 속도가 필요할 때 사용해야합니다.
처음에 1fps나오던 영상이 아래와 60fps가 나오는 결과를 보여줍니다.
info 창에서 몇 가지 확인해볼 정보는 아래와 같습니다.
hardware_yuv_to_rgb : 파일 데이터가 CPU 메모리에 있으면 이미지로 디코딩해야합니다. 이 이미지는 일반적으로 압축되지 않은 RGB 또는 YUV 데이터입니다. 대부분의 YUV 형식은 데이터가 GPU에 도착하면 RGB로 변환 되지만 일부는 CPU에서 변환됩니다. 'hardware_yuv_to_rgb'에서 CPU에서 변환되는 데이터의 개수를 확인할 수 있습니다.
hardware_decode : Nvidia 하드웨어 디코딩을 사용할 경우 1
num_pre_read_frames : 미리 읽어지고 있는 프레임의 수를 확인할 수 있습니다.
출력 윈도우의 수직 동기화 설정
오늘날 거의 모든 프로젝터와 모니터는 60Hz에서 실행되지만 30FPS 콘텐츠를 표시하는 경우가 많습니다 (비디오 또는 60FPS 에서 실행하기에는 너무 무거운 지오메트리 렌더링 ). 이런 일이 발생하면 먼저 왼쪽 하단의 타임 라인에서 속도를 30으로 변경하여 TouchDesigner의 목표 속도를 30으로 설정하여 얻을 수없는 60FPS 를 불필요하게 달성하려고 할 수 있습니다.
그렇게하면 여전히 버벅거림을 느낄 수 있습니다. 일부 프레임은 1 회 새로 고침 동안 표시되고 다른 프레임은 3 회 새로 고침 (60hz 모니터에서)으로 표시 될 수 있기 때문에 발생할 수 있습니다. 이 문제를 해결하는 가장 좋은 방법은 Window COMP 'V-Sync Mode'매개 변수를 ' FPS is Half Monitor Rate'로 설정하는 것입니다. 이렇게하면 각 프레임이 정확히 2 번 새로 고쳐 지므로 출력의 부드러움이 크게 향상됩니다.
이 문제를 해결하는 한 가지 방법 은 '3D 설정 관리'섹션 아래의 Nvidia 제어판 에서 새로운 기능을 사용하는 것 입니다. 'Vertical Sync'옵션에서 'Adaptive (Half Refresh Rate)'를 선택합니다. 그러나이 기능은 찢어짐을 유발할 수 있습니다.
50Hz 모니터의 25Hz 콘텐츠와 같은 다른 경우에도 마찬가지입니다.
'TouchDesigner > TouchDesigner자료' 카테고리의 다른 글
[터치디자이너] CHOP execute 실행 순서 (0) | 2021.04.28 |
---|---|
timer를 이용한 fade in / fade out 개발 (0) | 2021.04.21 |
터치디자이너 pygetwindow(다른 프로젝트 창 활성화 시키기) (0) | 2021.04.20 |
터치디자이너 github (0) | 2021.03.11 |
터치디자이너 GLSL (0) | 2020.07.09 |