設定
動画
動画品質
動画品質とは
YouTube、Vimeo、DailyMotionなどのビデオサービスには「HQ」ボタンがあり、このボタンをクリックすると高品質のビデオが表示されます。
INTER-STREAMにも同様に「HQ」ボタンがあります。ここでは最大4種類の画質を設定することができます。
設定数について
通常もしくはそれ以下(低速)での接続、モバイルデバイス、または古いPCを使用しているユーザー向けの「低画質(Normal)」と、高速ネットでの接続または高スペックPCを使用しているユーザー向けの「高品質(HQ)」の2種類での設定が基本となります。
デフォルトでは「標準」(700Kbps)と「HQ」(1250Kbps)の2つの定義済み品質があります。これらは自由に変更可能です。
複数画質の定義について
定義した品質ごとに動画を圧縮/エンコードする必要があるため、より多くの作業が必要となりますが、ユーザーにとってはより良い視聴環境の選択肢が広がる事を意味します。
設定
ラベル
画質名を入力します(必須項目)。
表示形式
対応する画質に関連付けられている動画ファイル/ストリームを再生するデバイス及び技術。
- Flash+HTML5
動画はFlashまたはHTML5ビデオプレーヤーで再生されます。 - HTML5のみ
関連する動画は、HTML5ビデオプレーヤーでのみ再生されます。 - Flashのみ
関連する動画はFlashビデオプレーヤーでのみ再生されます。
注:FlashおよびHTML5のビデオ圧縮に関する詳細については「ビデオ圧縮に関する一般的な考慮事項」を参照してください。
ビットレート
これは参照値です。この値は、初めてINTER-STREAMヘアクセスした際にエンドユーザーに表示される画質を決定するために使用されます。
ユーザーは必要に応じて他の利用可能な画質に切り替えることができます。
この設定値は不具合なくいつでも変更できますが、帯域幅検出システム(Flashプレーヤーのみ)の一貫性を保つため、選択したビットレートをビデオに反映させることをお勧めします。
設定した画質の有効/無効化
設定した画質を有効にするには、空白のラベルを入力して「保存する」をクリックします。新しい品質が表示されます。
設定した画質を無効にするには「ラベル」項目を空欄にして保存すると、その画質の使用を停止します。
画質設定の削除
画質設定を削除することは、設定を無効にすることとは異なります。
右側の ボタンをクリックして画質を削除すると、システムは設定した画質を無効にするだけでなく、その画質に関連するすべてのメディア(ファイルなど)も削除します。
その他のファイルタイプサポート
特定のビデオテクノロジ/ファイルタイプのサポートを有効/無効にすることができます。
- WebMを有効化
HTML5でのWebMフォーマットのサポートを有効にします。
WebMが有効にすると動画の「メディア」タブに品質ごとに追加のメディアスロットが表示されます。 - DASHを有効化
HTML5でのMPEG-DASHのサポートを有効にします(StreamClip拡張が必要)。
DASHが有効にすると動画(VODストリーム/Live)の 「メディア」タブに追加のメディアスロットが表示されます。
エンコード設定
必要条件
エンコード設定を行うには以下の要件が必要です。
FFmpeg 1.2以上:
・H.264ビデオ圧縮ライブラリ:libx264
・AACオーディオ圧縮ライブラリ:以下のいずれか(libfaac,lifaad,libvo_aacenc,libfdk_aac,etc.)
エンコードを有効化
動画のオートエンコーディングを有効/無効にします。
注:エンコードを無効にした場合、もしくはシステム側でサーバーのFFmpegを検出できない場合はオートエンコーディングを用いて動画を作成することはできません。
タイムアウト
ここで指定した処理時間を超えたエンコードタスクは失敗したと見なされます。(秒単位)
FFmpegパス
FFmpegを実行可能なファイルへのパス(詳細はホスティングプロバイダまたはサーバ管理者に確認してください)
Windows環境でのパス例:C:\ffmpeg\bin\ffmpeg.exe(拡張子は.exe)
Linux環境でのパス例:/user/local/bin/ffmpeg
実行時間が長くなるようPHP側で設定する必要があります。
高度な設定オプション
サーバーの設定によっては、ビデオエンコーダに適用されるいくつかの設定を変更する必要があるかもしれません。
デフォルトでは、INTER-STREAMはfscockopenを使用して、バックグラウンドでエンコードタスク処理スクリプト(/video_encoder.php)を非同期的に起動します。これを実行できない場合は、cURLに依存する別の方法を試すことができます。
タスク処理起動モードを変更するには設定ファイル(config/Config.inc.php)を編集して、PHPの終了タグ"?>"の前に次のコードを追加します。
モードを変更した後は、[動画>エンコードタスクマネージャ>処理スタート(手動)]から、エンコード処理をもう一度開始する必要があります。
利用可能なモードでタスク処理を開始できない場合は、./video_encoder.phpスクリプトを自動的に実行できるようサーバーにcronジョブを設定する必要があります(スクリプトはlynx、wgetまたはcurl cronコマンドで絶対URLを使用して実行されます)。
また、エンコードタスク処理の再帰を無効にする必要があります。
これは設定ファイル(config/Config.inc.php)を編集して、PHPの終了タグ"?>"の前に次のコードを追加します。
Cronコマンドの例
Linuxサーバでは「nice」コマンド、Windowsサーバでは「START」コマンドを使用して、CPU負荷を下げるFFmpegの低優先度実行モードを有効にする事も可能です。
設定ファイル(config/Config.inc.php)を編集してPHPの終了タグ"?>"の前に次のコードを追加し、必要に応じてコマンドをカスタマイズします。
$FFMPEG_NICE_CMD = "nice -n 19"; // Linuxサーバー用niceコマンド
$FFMPEG_NICE_CMD_WIN = "START /LOW /B /WAIT"; // Windowsサーバー用niceコマンド
その他の設定オプション
ソースビデオファイルをアップロードした後すぐにエンコーディングタスクを作成するよう設定することが可能です。
有効にするには設定ファイル(config/Config.inc.php)を編集して、PHPの終了タグ"?>"の前に次のコードを追加します。
デフォルト処理が失敗した際にSpriteを入手するための代替コマンドがあります。
コマンドを選択するには設定ファイル(config/Config.inc.php)を編集して、PHPの終了タグ"?>"の前に次のコードを追加します。
出力サイズがソースビデオファイルよりも大きい場合、エンコードタスクをスキップすることが可能です。
タスクのスキップを許可するには設定ファイル(config/Config.inc.php)を編集して、PHPの終了タグ"?>"の前に次のコードを追加します。
$ENCODING_SKIP_TASKS_IF_SOURCE_IS_SMALLER_THAN_OUTPUT = true;
// 次の2つの変数は、少なくとも品質が常にエンコードされるようにするために役立ちます。最低の動画品質に割り当てられているエンコーディングプリセットの幅と高さに合わせて設定します。
$ENCODING_SKIP_MIN_OUTPUT_WIDTH = 720; // 出力サイズがソースの動画サイズより大きく、かつ出力幅がこの数値より大きい場合にのみタスクをスキップします。それ以外の場合はタスクはスキップされません。
$ENCODING_SKIP_MIN_OUTPUT_HEIGHT = 576; // 出力サイズがソースの動画サイズより大きく、かつ出力の高さがこの数値より大きい場合にのみタスクをスキップします。それ以外の場合はタスクはスキップされません。
圧縮プロファイル
エンコードが有効になっていると、各画質の右側に圧縮プロファイルのドロップダウン(Encoding Preset)が表示されます。
INTER-STREAMには汎用の圧縮プリセットが含まれています。プリセットの調整に関連する技術サポートは行っていません。
圧縮プロファイルに関するファイル
圧縮プロファイルは framework/lib/ffmpeg_presets ディレクトリ内に格納されています。
デフォルトでは、システムは次のプリセットフォルダを使用します。
・H.264の場合:"/libx264-libvo_aacenc/"
・WebM(ver.1.9以降)の場合:"/libvpx-libvorbis/" 注:WebMが有効な場合のみ
プリセットファイルはffmpeg_presets_cmd.jsonになります(JSON形式)
注:プリセットファイルに変更を加えた後にファイル検証することを推奨します。オンライン検証ツールの利用が便利です。
設定ファイル(config/Config.inc.php)から使用するプリセットフォルダを指定することが可能です。
$FFMPEG_PRESETS_WEBM_FOLDER = "libvpx-libvorbis";
ffmpeg_presets.jsonとffmpeg_presets_cmd.json
従来のプリセットファイルは"ffmpeg_presets_cmd.json"ファイルがデフォルトで使用されていますが、古いINTER-STREAMでは稀に"ffmpeg_presets.json"ファイルが使用されている場合があります。
新しいファイルでは、より厳密なFFmpegコマンドラインの使用を可能とします。
設定ファイル(config/Config.inc.php)からは使用するプリセットファイルの種類を指定することが可能です。
$FFMPEG_PRESETS_WEBM_STYLE = "cmd";
ビデオストレージ
ビデオファイルのアップロード先を選択します
ローカル
動画ファイルは現在のINTER-STREAMサーバー内にアップロードされます。
外部サーバー(FTP)
動画ファイルはFTP経由で外部サーバーにアップロードされます。
FTPアドレス
動画ファイルを保存するFTPアドレスを入力します
例)
ftp://ftp.myvideoserver.com/httpdocs/movies
ftp://ftp.myvideoserver.com/
FTPユーザーネーム/FTPパスワード
FTPサーバのログイン情報
FTPアクティブモード
一部サーバーではファイル転送に「アクティブ」FTPモードが必要となる場合があります。動画のアップロードに問題がある場合は、「Yes」を選択してください。
再生ベースURL
動画ファイルにアクセスするURLを指定します。
例)http://www.myvideoserver.com/movies
MEMO:再生URLの指定方法やストリーミングURLの使用方法について追加の制御が必要な場合は、StreamClip拡張機能が必要です。
AWS(Amazon S3)
動画ファイルはAmazon S3アカウントにアップロードされます。
AWSアクセスキー/AWSシークレットキー
S3アカウントへの認証情報
AWSバケット
ファイルを保存するバケットの名前を入力してください。
AWSパス
ファイルを保存するバケット内のフォルダ名。ファイルをルートに保存する場合は空欄にします。
AWSエンドポイント
バケット作成時に選択したエンドポイント
再生ベースURL
動画ファイルにアクセスするHTTPアドレスを指定します。
例)https://s3.amazonaws.com/bucket-name/
MEMO:再生URLの指定方法やストリーミングURLの使用方法について追加の制御が必要な場合は、StreamClip拡張機能が必要です。
画質:拡張機能
注:「Playback Base URL Formula」フィールドは、ビデオのアップロードに外部サーバーまたはAmazon S3を使用している時にINTER-STREAMをCDNと統合するために使用されます。
この機能を使用するには『INTER-STREAM Advance』ならびにStreamClip拡張機能が必要となります。
再生ベース「URLフォーミュラ」の説明
「URLフォーミュラ」を利用すると、FTPまたはAWSによるワンポイントファイル発行に基づき『INTER-STREAM Advance』とCDN(詳しくはこちら)、およびメディアアクセス用の「URLフォーミュラ」を統合できます。
動画をアップロードすると、その動画は転送先サーバーにアップロードされ、データベースに保存される唯一のデータはファイル名です。動画ファイルへの最終的なURLは「URLフォーミュラ」を使用して再生時に生成されます。
「URLフォーミュラ」が入力されていない場合は、代わりにプレイバックベースURLが使用されます(下記参照)。
同様に、「URLフォーミュラ」を使用すると現在の再生ベースURLが上書きされます。
「URLフォーミュラ」作成方法
例)
http://my.cdn/app/folder/{filename.ext}.smil
rtmp://mymediaserver.com/app/mp4:{filename.ext}
http://mymediaserver.com/vod/{filename.ext}
このラベル{filename.ext}は、ファイルへの最終的なURLを生成するときに実際のビデオファイル名を含める/置き換える事を示します。
AWS CloudFrontの統合
1.バケットルートにあるファイル
H.264:Flashストリーミング
対応する画質(Flashスロット)に入力するための「URLフォーミュラ」は以下の様になります。
rtmp://s#############.cloudfront.net/cfx/st/mp4:{filename.ext}
ラベルの前にある "mp4:"に注意してください。
H.264:HTML5 + Flash(プログレッシブダウンロード)
対応する画質(HTML5またはFlashスロット)に入力するための「URLフォーミュラ」は以下の様になります。
https://s3.amazonaws.com/<bucket_name>/{filename.ext}(S3のみ)
https://<bucket_name>.s3.amazonaws.com/{filename.ext}(S3のみ)
https://d#############.cloudfront.net/{filename.ext}(CloudFront "ダウンロード配布")
URLが"https://"で始まることに注意してください。
2.バケットのフォルダにあるファイル
H.264:Flashストリーミング
対応する画質(Flashスロット)に入力するための「URLフォーミュラ」は以下の様になります。
rtmp://s#############.cloudfront.net/cfx/st/mp4:<folder_name>/{filename.ext}
ラベルの前にある "mp4:"に注意してください。
H.264:HTML5 + Flash(プログレッシブダウンロード)
対応する画質(HTML5またはFlashスロット)に入力するための「URLフォーミュラ」は以下の様になります。
https://s3.amazonaws.com/<bucket_name>/<folder_name>/{filename.ext}(S3のみ)
https://<bucket_name>.s3.amazonaws.com/<folder_name>/{filename.ext}(S3のみ)
https://d#############.cloudfront.net/<folder_name>/{filename.ext}(CloudFront "ダウンロード配布")
URLが"https://"で始まることに注意してください。
Youtube
YouTubeの直接再生用としてINTER-STREAMの画質とYouTubeの画質の間のグローバルマッピングを設定することが可能です。