GIF to MP4
@우성짱 님의 https://sir.kr/cm_free/1561548 의 글을 보고 찾아 봤습니다.
@볼피드 님이 컨텐츠 몰에서 판매하고 있는 상품 https://sir.kr/cmall/1587895919
웹어셈블리를 이용하여 직접 mp4를 클라이언트에서 인코딩합니다. 라고 되어 있습니다.
그러다 보니
@우성짱 님의 https://sir.kr/cm_free/1561471 이 글을 보면 WebM은 애플 기계에서는 한계가 있다고 합니다.
그럼 현재로서는 FFMPEG을 써야 되는데, 이것은 웹 호스팅에서는 불가능 합니다.
최소 VPS를 사용해야 가능할 것 같습니다.
그럼 그누보드에서는 썸네일처럼 처리하면 될 것 같습니다.
https://github.com/gnuboard/gnuboard5/blob/master/lib/thumbnail.lib.php#L180 에서 $is_animate 일때
이부분에서 gif to mp4로 하면 될 것 같습니다.
https://rigor.com/blog/optimizing-animated-gifs-with-html5-video/
그런데 그누보드에서 mp4 파일이 올라가나요?
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 19개
그리고 인코딩이 된 후에는 인코딩 상태로 보여지기 때문에 기기에 상관없이 보여집니다.
웹 어셈블리를 이용하여 c로 인코딩 된 라이브러리를 자바스크립트로 변환이 되어있는 상태고, ffmpeg의 h264 코덱만 인코딩 할 수 있게 추출하여 바꾼것이기 때문에 ffmpeg과 실제로 기능의 차이는 없습니다.(1M 약간 넘는 js)
단, 속도 및 스크립트의 크기로 인해 일부 기능이 제거되었기에 일부 잘못된 GIF 포맷에서는 색깔값이 잘못 들어가 전체적으로 누렇게 뜨는 현상이 있는데 해당 현상이 나타나는 경우 관리자가 직접 확인하여 웹 ffmpeg(클라이언트단에서 동작하는)를 끌어와 수정할 수 있게 되어있습니다.(실제로 설치하면 100MB가 넘음, cdn을 활용하면 25MB)이고 이것은 ffmpeg 자체가 원래 용량이 크기 때문에 클라이언트에서 동작할 때 배보다 배꼽이 큰 경우가 발생합니다.
속도도 위에 말한 방식에 비해 5~10배이상 느리구요.
웹호스팅 상에서는 현재 브라우저의 기능이 좀 더 확장되고 개발되지 않는 이상 이정도가 최대라고 생각됩니다.
GIF 문제는 외국도 다를게 없습니다
그나마 MP4(H264) 포맷이 움짤 대용으로 쓰이며 주목 받는 것은 해당 포맷의 영상은 현재 쓰이는 99%의 기기에서 문제없이 동작하기 때문이구요.
이미지와 동영상이라는 갭. 그리고 GIF로 만드는것이 유저들에게 동영상으로 제작하여 업로드하는것보다 훨씬 접근성이나 편의성이 있기 때문에 GIF는 여전히 남아있을거라 생각됩니다.
이미지 포맷쪽에서는 더 효율적인 APNG webp 등의 포맷도 브라우저 호환성에 의해 제약을 받고 있는 상태이니까요.
트래픽은 사용자가 신경 쓸 부분이 아니기 때문에 결국 사이트 관리자들이 알아서 최적화 시켜야 할 오랜 과제라고 생각되네요.
gif가 유통되는 기본 확장자이구요.
ffmpeg를 통해 mp4로 변환하는게 대세인데
직접서버에서 하기에는 자원의 한계가 있기 때문에
https://cloudconvert.com/api/v1/convert/gif-to-mp4
이런 api를 써서 변환하는 것 같습니다.
git 가 mp4로 바뀌어 있더라고요.
그냥 여기 api 사용하면 편하던데요...
만약에 저라면 파일 업로드 시
Lambda의 파이썬으로 변환하는 걸 짜서 s3에 저장하는 걸로 개발 할 것 같습니다.