.htaccessでPHPのファイルアップロードサイズの上限値を変更
2022.02.5
PHPを使用して画像(動画・PDF等)をアップロードするフォームを作成した際に、ファイル…
ホームページ内に動画を掲載する場合、youtube等のサービスを利用する場合は問題ないのですが、公開条件等によって既存のサービスが使用できない時に、canvasとjavascriptを使用して表示時に動画のサムネイル(ポスター画像)を自動で生成した方法をメモ
<video id="myVideo" onclick="this.play();" controls="" controlslist="nodownload" playsinline>
<source src="video.mp4" type="video/mp4">
</video>
<canvas id="myCanvas" style="display:none;"></canvas>
document.addEventListener("DOMContentLoaded", function() {
var video = document.getElementById("myVideo");
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
// 動画データが読み込まれた後に実行
video.addEventListener("loadeddata", function() {
// video の幅と高さを canvas に合わせる
canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
// 0.5秒後のフレームを取得
video.currentTime = 0.5;
});
// 指定フレームが読み込まれたら canvas に描画
video.addEventListener("seeked", function() {
ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
// canvas を画像データに変換してポスターに設定
var posterDataUrl = canvas.toDataURL("image/jpeg");
video.setAttribute("poster", posterDataUrl);
});
});
尚、iOSでは機能制限があるようなので、読み込み時の自動取得は不可。
再生ボタンクリック時に取得はできますが、本来の目的とは異なるため個別にポスター画像を用意するか、動画の登録時に自動生成したものを保存して使用する方法が良さそうです。
2022.02.5
PHPを使用して画像(動画・PDF等)をアップロードするフォームを作成した際に、ファイル…
2020.10.3
テキストエリア等で入力した文字の中にURLを含んでいた場合に、自動で認識してリンクタグを…
2024.03.30
外部ファイル(CSVファイル等)を読み込んでサイト内に表示する際に、保存時の文字コードが…
2020.12.5
メールフォームからメールを送信する際に、画像(ファイル)を添付できるようにしてほしいとの…
2023.12.2
ワードプレスの投稿のカテゴリー機能を、目的ごとに使い分けたいというご要望があった際に、カ…
2020.08.1
動画ファイルをCMS化して保存するときに、多くの場合はファイルパスをデータベース(MyS…
2022.02.19
画像データ等をサーバーにアップロードする際、一点づつアップロードしても良いけれど、ファイ…
2019.12.29
メールフォーム等での入力値チェック(バリデーション)。PHPの「preg_match」(…
2020.08.15
フォームの入力値やURLのパラメータ等、文字列や数値を受け取る際に正規表現を利用してバリ…
2022.09.24
パソコンやスマートフォンの戻るボタンを使って画面を戻す(ブラウザバックする)時があります…