動画
オートエンコーディング
オートエンコーディングは、単一の動画ソースファイルから対応するポスター/サムネイル画像、スプライト画像を自動的に生成し、さまざまな画質へエンコードします。
ソースファイル及びエンコードファイルのストレージ
1. ソースファイル
ソースファイルをアップロードすると、INTER-STREAMの動画保存設定に関係なく、サーバーのuploads/moviesフォルダに保存されます。
これはFFmpegがサーバー内で実行される際に、同サーバー上にあるファイルにアクセスする必要があるためです。
2. エンコード後のファイル
ソースファイルが処理されると、エンコードされたファイルは[一般設定>動画>ビデオストレージ]での動画保存設定に従って保存されます。
・アップロード先が「ローカル」に設定されている場合、ファイルはuploads/moviesディレクトリに保存されます。
・アップロード先が「外部サーバー(FTP)」の場合、ファイルは外部のサーバに保存され、ローカルストレージからは削除されます。
・アップロード先が「AWS(Amazon S3)」の場合は、」ファイルはAmazon S3バケットに移動し、ローカルストレージからは削除されます。
いずれにせよ、後で再エンコード(またはサムネイルを取得)したい場合に備えてソースファイルはローカルストレージ(uploads/moviesディレクトリ)に残ります。
ソースファイルを再び処理しない場合は、[動画>メディア]タブの対応するオプションを使用して削除できます。
オートエンコーディング動画の作成
標準動画の作成と編集方法についてはこちらをご確認ください。
ここではオートエンコーディング動画の主な特徴である[メディア]タブに焦点を当てます。
[+新規作成…]ボタンをクリックして、[オートエンコーディング]を選択します。
タイトルを入力して[保存する]ボタンを押した後、[メディア]タブからソースビデオファイルをアップロードして処理をおこないます。
Chrome,Safari,Firefox,Operaの最新バージョンを使用している場合は、動画ファイルを[ファイルを選択]ボタンにドラッグアンドドロップできます。
ファイル名に特殊文字を使用しないでください。
半角英数字(a-z,0-9)と一部の記号("-","_",etc.)を使うことができます。
動画がアップロードされるとページがリロードされ、処理オプションが表示されます。
目的の処理オプションを選択して、[ソースファイルを加工]をクリックすると対応するタスクが追加されます。
ここからタスクの進行状況を確認できます。
全ての動画処理タスクを管理するには「エンコードタスクマネージャ」(ウェブマスター・管理者のみ利用可能)に移動する必要があります。
エンコードタスクマネージャ
- 更新する:ページを更新します(F5と同様)。
- タスクオプション:処理タスクに対していくつかのアクションを実行します。
・失敗したタスクをリトライ:失敗したタスクをすべて「保留中」に設定して、それらを再度処理できるようにします。
・失敗タスクをクリア:「失敗」ステータスのタスクをすべて削除します。
・終了タスクをクリア:「完了」ステータスのタスクをすべて削除します。
・保留タスクをクリア:「保留中」ステータスのタスクをすべて削除します。 - 処理スタート(手動):システムが自動的に開始されていない場合に、強制的にエンコード/タスクの処理を開始させます。
注:タスク実行の間には5秒の意図的な遅延があります。 - 処理一時停止:連続タスク処理を一時停止します。
処理中のタスクは中断されませんが、終了すると次の「保留中」のタスクの処理は開始されません。
連続処理を再開するには、[処理スタート(手動)]ボタンをクリックします。
- オートエンコーディング動画を作成するためのリンクが表示されない:
動画設定[一般設定>動画]でエンコードが無効になっているか、サーバー内のFFmpegをシステム側で検出できなかった可能性があります。 - エンコードタスクは「失敗」と表示されるがログファイルを開くことができない(存在しない):
サーバーがシェル(shell_exec)エンコードコマンドの出力をログファイルに保存していないときに起こります。考えられる原因は次のとおりです。
1. ソースの動画のファイル名に括弧のような特殊文字が含まれている為、サーバーによるエンコードコマンドの実行が妨げられている:
→ファイル名を英数字のみに変更した後ソースファイルを再度アップロードし、再処理します。
2. なんらかの理由でサーバー側でシェルコマンドを実行できず、ログファイルに出力を保存していない:
→shell/SSHを介して直接encodingコマンドを試して何が起こるか確認してください(encodingタスクで使用される圧縮コマンドはINTER-STREAMのログ([統計>ログ])にあります)。 - エンコードタスクが「失敗」と表示され、ログファイルに「エンコーダーが見つかりません:lib......aac」というエラーが表示される:
encodingコマンドで使用されているAACコーデックがFFmpegインストールに存在しないことを意味しています。
最初にFFmpegのインストールにどのAACコーデックが利用可能であるか確認してから、設定ファイル(config/Config.inc.php)の中の適切なエンコーディングプリセットフォルダを選択してください。
その後、失敗したタスクを再試行して、手動で処理を開始してください。 - エンコードタスクが「失敗」と表示され、ログファイルに「メモリを割り当てられません」というエラーが表示される:
shell_exec()PHP関数を介して実行されたときに、サーバがFFmpegに必要なメモリの使用を許可していない場合に起こります。
これはサーバー側の問題なのでホスティング会社/サーバー管理者に連絡してください。