1. VP8/VP9 포맷의 인코딩에 대해서 FFMPEG나 LibVPX에서 제공하는 하드웨어 가속이 있나요?
- 향후 AOM AV1 포맷으로 모든 IT기업들이 통합되긴 하겠지만 현재로서는 온라인 상의 범용 용도에 한해서는 VP9이 가장 주류포맷으로 활용되는거 같은데 지원범위 내에서 좀더 가속 기능을 활용해서 효율을 올릴 방법은 없을까요?
2. 디인터레이스에 있어서 Yadif방식 외에도 더 고품질의 디인터레이스 필터를 사용하거나
PureVideo나 AMF같은 라이브러리에서 (DXVA 사용유무와 관계없이) 제공하는 하드웨어 디인터레이스 기능을 샤나 인코더에서 끌어와서 사용할 수 있을까요?
- 현재는 모든 촬영/편집 소스상 생산단계에서 인터레이싱을 사용하지 않고 색공간을 분할하는 수준에 그치고 있어서 별 의미가 없겠지만
구시대 영상뿐만 아니라 개중에는 2000년대(2008년 이전) 까지의 영상소스중 확보 가능한 최고 퀄리티의 원본이 생산단계에서 인터레이스가 된 경우가 의외로 많은데
Yadif의 경우는 지금 시기에 사용되는 일반적인 SW/HW 디인터레이스 필터들의 방식보다 출력 결과물이 좋지 않아서 인터레이스된 영상소스 사용자들과는 어울리지 않는거 같습니다.
Yadif이후에 나온 더 느리고 멀티스레드 지원이 빈약하고 효율도 떨어지지만 품질이 훨씬 좋은 SW필터는 품질위주의 결과물을 원하는 사용자들이 만족스러워 할테고
Nvidia나 AMD, Intel등에서 제공하는 미디어 라이브러리에 있는 HW필터들은 이미 몇세대 전 롤아웃된 그래픽카드 제품 조차도 Yadif보다도 훨씬 나은 결과물을 제공하니 효율위주의 사용자들이 만족스러워 할거라고 생각합니다.
1. libvpx 자체가 소프트웨어 디코더/인코더이니 해당사항은 없고, FFmpeg에서 vpx 계열 하드웨어 인코딩을 하기 위해서는 custom build를 해야죠.
근데 그것도 Nvidia나 AMD 계열은 답이 없는 것 같고, 인텔 QSV 쪽으로 리눅스 상에서 VAAPI를 이용해서 하드웨어 가속 인코더를 custom build하는 걸 누가 올려놓긴 했더군요. (여기) 근데 이것도 윈도우에서는 적용이 불가능하니... 결국 현재로선 윈도우에서 vpx 계열 하드웨어 가속 인코딩은 FFmpeg를 통해서는 불가능한 것으로 보입니다. 뭐 상용 코덱이나 다른 솔루션이 있을지는... 그래서 결론적으로 vpx 계열 코덱으로 인코딩하는 가장 효과적인 옵션은 유튜브에 업로드한 후 다운로드 받는 것이라 생각됩니다.
FFmpeg에서의 하드웨어 가속에 대해서는 이 문서를 참고하시길.
2. 하드웨어 필터도 역시 마찬가지로 FFmpeg를 custom build 해야지 샤나에서는 이용할 방법이 없습니다.