RICOH THETA의 전천구 동영상을 정거리 원통도법으로 FFmpeg로 변환
결론
FFmpeg의 master 브랜치 빌드( Windows&Mac: "1" , Linux: 「2」 )를 구한 다음 아래 명령을 실행하여 두 개의 어안 동영상을 정거리 원통도법 동영상으로 변환할 수 있습니다.
ffmpeg -i INPUT.MP4 -y -vf crop=1920:960:0:0,v360=dfisheye:in_pad=0.112:roll=-90:e:pitch=90,crop=1920:840:0:0,pad=1920:1080:0:0 -c:a copy OUTPUT.mp4
해설
FFmpeg에 전방위 카메라용의 라이브러리v360가 작년의 9월 주변에 master 브랜치에 들어갔습니다.
다만, 2020/03/08 시점의 최신판인 4.2.2에는 포함되어 있지 않기 때문에, master 브랜치의 빌드 ( Windows&Mac: "1" , Linux: 「2」 )를 사용해 작업을 할 필요가 있습니다 .
비디오 필터 옵션
-vf
의 각 의미는 다음과 같습니다.crop=1920:960:0:0
v360=dfisheye:in_pad=0.112:roll=-90:e:pitch=90
dfisheye
: Dual Fisheye Movie로 입력 이미지 해석 in_pad=0.112
: 어안 동영상의 여백 무시 roll=-90
: 롤 각도 조정 (선택적으로 조정) e
: 정거리 원통도법에 투영하여 출력 pitch=90
: pitch 각도 조정 (선택적으로 조정) interp
: gaussian
, lanc
등 고차의 보완 처리를 이용해도 좋을지도 모릅니다 (표준은 linear
). crop=1920:840:0:0,pad=1920:1080:0:0
,crop=1920:840:0:0,pad=1920:1080:0:0
을 모두 제거해야합니다 변환 결과 예
도전
이음새가 부자연스럽기 때문에 SLAM에 걸릴 때 부작용이있을 것 같습니다.
in_pad
를 적게 취한 다음에, 그 경계를 자연스럽게 블렌드를 하고 싶습니다만, 해당하는 구현을 찾을 수 없습니다.배경
RICOH THETA 시리즈는, 아직 라이벌이 적은 전천구 촬영을 간단하게 실시할 수 있는 우수한 디바이스입니다만, 동영상 촬영의 경우에 정거리 원통도법에 투영되지 않는 동영상 데이터가 토출됩니다. 어안 카메라 2 개의 영상을 원시 인코딩 한 것 (Dual Fisheye
영화)입니다.
일반적으로 많은 서비스나 동영상 처리에서 사용되고 있는 것은 정거리 원통도법(Equirectangular)에 투영한 것을 입력으로 하고 있으므로, 그대로는 취급할 수 없습니다.
이 문제를 해결하기 위해 RICOH의 본가 도구이 있습니다. 변환 자체의 기능은 만족하지만, GUI에서의 조작이 전제가 되고 있어 대량 변환·자동 변환에 적합하지 않다는 문제가 있습니다. 또, Linux에 대응하고 있지 않는 점도 SLAM 구현에 던지는 등의 환경 구현상, 매우 마이너스입니다.
거기서, 메이저인 OSS로의 구현, 한편 지속 가능한 조달이 예상되는 방법을 조사한 결과가 본 기사가 됩니다.
거의 정리된 언급이 없었습니다만, 유일한 구체적인 Q&A가 Stack overflow에 1건 있었습니다. 다만, 이 기술대로는 잘 되지 않았기 때문에, 시행착오를 한 결과가 상기의 커멘드가 됩니다.
참고문헌
Reference
이 문제에 관하여(RICOH THETA의 전천구 동영상을 정거리 원통도법으로 FFmpeg로 변환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/colspan/items/7aaecc40e085b1a2b943텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)