min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

PHP フォルダ内にある動画(mp4)から静止画像をキャプチャしてサムネイル化→クリックで再生するサイトを作る

 

自前の動画が貯まってきて、ファイル名だけだと何が映ってるか分からない。

動画の再生から30秒目くらいの映像を静止画にキャプチャして切り出して、クリックしたら再生できるといい。

完成イメージはこんな感じ。

f:id:min117:20151206235522p:plain

PHPで作るけど、画像の切り出しだけは予めサーバ側で済ませておく。

ffmpeg使えばbashワンライナーでできる。

開始30秒後の映像をキャプチャして「元動画のファイル名_01.jpg」とう名前で保存する。

mkdir thumb_movie_images;for i in *mp4; do echo "$i"; ffmpeg -i "$i" -ss 30 -t 1 -r 1 -f image2 ./thumb_movie_images/"$i"_%02d.jpg; done

 -ss 静止画切り出しスタートタイム(秒)

 -t 切り出す時間time(秒)

 -r 1秒間に何枚切り出すか

 -f フォーマット(image2は image toか)

 %02d.jpg 01.jpg、02.jpg…て名前になる

ーーー

PHPの完成後ソース。

thumb_movie_index.php

f:id:min117:20151206233654p:plain

f:id:min117:20151206233706p:plain

ーーー

iPad mini 4 で動きの確認。

ものすごい便利。

javascript とか要らないな。サーバサイド最高だ。

f:id:min117:20151207005705p:image