gif to mp4 세번째 이야기 > 자유게시판

자유게시판

gif to mp4 세번째 이야기 정보

gif to mp4 세번째 이야기

본문

그누보드 5.4.2.8에서 gif to mp4를 위해서 lib/thumbnail.lib.php 에 이벤트가 추가 되어서

 

ffmpeg이 사용가능한 곳에서는 그누보드 플러그인을 사용가능합니다.

 

https://sir.kr/g5_plugin/7476

 

그런데 갤러리 게시판이나 웹진 같은 곳에서 리스트 스킨에서 사진을 줄여서 보여주는데, GiF도 비디오로 보여주면 좋은데

 

사진 게시판 중간쯤 https://sir.kr/cm_pix/p2  에 보면 전체가 다 보입니다.

 

그래서 일반 유튜브처럼 초기에 2초-3초 정도만 보여 주면 좋을 것 같습니다.

 

그래서 ffmpeg옵션을 찾아보니 -t 옵션이 있네요 -t 3 으로 하면 3초정도의 mp4 만들어 집니다.

 

이벤트 코드 https://github.com/gnuboard/gnuboard5/blob/master/lib/thumbnail.lib.php#L729

 

run_event('is_animated_gif_after', $filename, $cache[$key], $time);

 

을 넣어주고

 

아래와 같이 받아서

function fn_is_animated_gif_after_gif($filename, $is_count, $time=0){

 

$time이 0이면 기존 ffmpeg으로 하고

$time이 있으면 아래와 같이 -t $time 옵션으로 

 

@exec('ffmpeg -i '.escapeshellcmd(preg_replace('/[^0-9A-Za-z_\-\.\\\\\/]/i', '', $filename)).' -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -pix_fmt yuv420p -movflags +faststart -t '.$time.' '.escapeshellcmd(preg_replace('/[^0-9A-Za-z_\-\.\\\\\/]/i', '', $mp4_file)));

 

get_list_thumbnail에서 시간 옵션을 가지고 불러지면 될 것 같습니다.

 

시간 옵션 테스트는 4.3버전으로 해 봤습니다.

추천
4

댓글 6개

1. 혹시 4.3이미지 pull해서 그누보드 도커에서 ffmpeg가 php exec() 명령어로 실행이 될까요?

전 도저히 안되더라구요.

ssh에서는 당연히 되던데...

docker내부에 있어서 그런지 명령어가 안먹히더라구요.

그냥php이미지에 ffmpeg를 그냥 설치하는 고전적인 방식으로 했는데

그누보드에서 ffmpeg를 활용할 수 있는 방법 부탁드립니다.

2. time옵션을 넣으면 기존 생성된 mp4와 파일 이름이 같게 형성되지 않을까요?

extend이 들어가는 파일에 poster 생성할 때 앞에 접두어 붙이는 것처럼 3초짜리도 'preview_파일이름' 이런 식으로 지정하는 것도 좋아보입니다.

그래서 thumbnail.lib.php에서 gif 썸네일을 3초짜리 mp4로 지정해주면 제일 좋겠네요.
뭔가 테스트를 해보곤 싶은데 요즘 몸이 힘드니 눈에 잘 들어오질 않네요....ㅠㅠ

한가한 겨울에 이것저것 해볼 요량인데 그럿도 올해는 가능 할까 모르겠습니다.
전체 879 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT