現在表示中:

FFmpeg を使用したビデオトランスコーダーは、AEM アセットでのコネクタ FFmpeg トランスコーダーと同様に動作しますが(ビデオコンポーネントを参照)、同じトランスコーダーのソースコードを共有しているので、この FFmpeg を使用するバージョンではプロセスをより細かく制御できます。ただし、FFmpeg を使用しない場合、または標準提供のトランスコーダーによる方法以外の使い方が必要な場合は、このソースコードをテンプレートとして使用して、自由にトランスコーダーをビルドできます。また、FFmpeg を使用する場合は、ファイルコピーサービスを使用して AEM の外部にあるファイルシステムにビデオレンディションをコピーできることに注意してください。

FFmpeg に基づいたプラガブルなビデオトランスコーダー、ビデオサムネールおよび配信サービスを使用するには、次の 4 つのタスクを実行します。

  1. FFmpeg をダウンロードしてインストールします。
  2. cq-s7dam-video-core-1.0.jar をインストールします。
  3. CQ ワークフローによって新しいビデオサービスをセットアップします。
    • FFmpeg サムネールサービスをセットアップします。
    • FFmpeg トランスコーディングサービスをセットアップします。
    • FFmpeg ネットワークファイルコピーサービスをセットアップします。

FFmpeg のインストール

FFmpeg をダウンロードしてインストールし、そのインストールを検証します。

  1. http://www.ffmpeg.org にアクセスして、環境(Macintosh、Windows または Linux)に合った最新バージョンの FFmpeg をダウンロードし、インストールします。

    ffmpeg 実行可能ファイルをシステムパス内に設定してください。システムの任意のディレクトリから ffmpeg を実行できるようになります。

注意:

AEM 6.2 は FFmpeg 3.0 に対応しており、FFmpeg 3.0(6.2 の一般提供時点で最新のバージョン)で正しく実行されるように設定されています。
FFmpeg のドキュメント(https://trac.ffmpeg.org/wiki/Encode/AAC)に記載の通り、FFmpeg 3.0 に libvo-aacenc エンコーダーや libaacplus エンコーダーの事前ビルドは同梱されません。これらのエンコーダーを使用するには、--with-fdk-aac オプションや --with-faac オプションを使用して FFmpeg をインストールするか、フリーソース以外のソースから FFmpeg をコンパイルします。

FFmpeg はすべてのトランスコーディング処理を実行するので、デフォルト設定への参照はすべてアドビによって検証されている特定のバージョンの FFmpeg に関連付けられます。これは将来変更になる可能性があります。詳しくは、FFmpeg のエンコーディングガイドライン(https://trac.ffmpeg.org/wiki/Encode/H.264https://trac.ffmpeg.org/wiki/Encode/AAC)を参照してください。

注意:

ソフトウェアのセキュリティの観点から、アドビはサードパーティのすべてのソフトウェアについて最新リリースを使用することをお勧めします。ただし、FFmpeg 3.0 にアップグレードできない場合は、次を試してください。

  • /etc/dam/video/iehq/jcr:content and /etc/dam/video/hq/jcr:contentcustomArgs プロパティに -strict -2 追加する。
  • /etc/dam/video/iehq/jcr:content/etc/dam/video/hq/jcr:contentaudioCodec プロパティを aac から libvo_aacenc に変更する。

cq-s7dam-video-core-1.0.jar のインストール

FFmpeg のインストール後、s7damVideobundle を検証します。

  1. お使いの環境で AEM を開きます。

  2. s7damvideobundle.tar を解凍し、s7damvideobundle/core ディレクトリに移動します。

    s7damvideobundle.tar はこちらからダウンロードできます。

  3. 次のコマンドを実行します。

    mvn clean install sling:install

    このプロジェクトの jar ファイルは、/libs/dam/install/cq-s7dam-video-core-1.0.jar 以下にインストールされています。コードは、CQ コードベースの一部である既存の DAM Video アプリケーションから派生したものです。

    次のプロセスのラベルが付いた 3 つのサービスがインストールされます。

    • 「プラガブルコンポーネントの FFMPEG によってサムネールを作成」

    別のサードパーティ製ビデオエンコーダーとの統合用に再利用できるリファレンス実装コンポーネントとして使用します。

    • 「プラガブルコンポーネントの FFMPEG によってビデオをトランスコード」

    カスタマイズが必要な場合に、FFMPEG によってエンコーディング用に使用されます。例えば、ソースビデオの縦横比に応じて異なるエンコーディングプロファイルを適用するためのビジネスルールのセットアップが考えられます。

    • 「トランスコードされたビデオを NFS マウントにコピー」

    出力されたエンコーディング済みファイルを配信(CDN やビデオパッケージングサービスとの統合など)用のサーバーマウントに保存するために使用します。

CQ ワークフローによるビデオサービスのセットアップ

  1. AEM の実行中のインスタンスで、次の場所にアクセスします。

    localhost:4502/workflow

  2. ツールワークフローモデルをタップし、次に、ワークフローモデルページでDAM アセットの更新をダブルクリックします。

  3. DAM アセットの更新ページのワークフローモデルで、既存の FFmpeg サムネールサービスと FFmpeg トランスコーディングサービスをすべて削除します。

    これで、FFmpeg サムネールサービスをセットアップする準備ができました。

FFmpeg サムネールサービスのセットアップ

  1. AEM サイドキックで、「ワークフロー」リストを展開します。

  2. プロセスステップ」をワークフローページにドラッグ&ドロップします。


  3. このプロセスステップをダブルクリックして、ステップのプロパティダイアログボックスを開きます。「共通」タブで、"FFmpeg サムネールサービス" などのタイトルを入力します。

    オプションで、「説明」フィールドに、プロセスの識別にさらに役立つ説明("ビデオポスターフレームを抽出します" など)を入力します。

  4. プロセス」タブをタップします。「プロセス」ドロップダウンリストで、「プラガブルコンポーネントの FFMPEG によってサムネールを作成」を選択します。

  5. ハンドラー処理の設定」オプションをオンにします。

  6. 引数」フィールドに次の値を追加します。

    count:4,index:2,[140:100],[48:48],[319:319]

    引数の countindex については、次の場所で説明しています。

    ビデオサムネールを作成

  7. OK」をクリックし、ワークフローページの左上付近にある「保存」をクリックします。

    これで、FFmpeg トランスコーディングサービスをセットアップする準備ができました。このサービスは、カスタマイズが必要な場合に、FFMPEG によってビデオをエンコーディングするために使用されます。例えば、ソースビデオの縦横比に応じて異なるビデオエンコーディングプロファイルを適用するためのビジネスルールのセットアップが考えられます。

FFmpeg トランスコーディングサービスのセットアップ

  1. AEM サイドキックの「ワークフロー」リストにある「プロセスステップ」を、先ほど追加した FFmpeg サムネールステップのすぐ下のワークフローにドラッグ&ドロップします。

  2. このプロセスステップをダブルクリックして、ステップのプロパティダイアログボックスを開きます。「共通」タブで、"FFmpeg トランスコーディングサービス" などのタイトルを入力します。

    オプションで、「説明」フィールドに、プロセスの識別にさらに役立つ説明("Web 対応ビデオ形式を作成します" など)を入力します。

  3. プロセス」タブの「プロセス」ドロップダウンリストで、「プラガブルコンポーネントの FFMPEG によってビデオをトランスコード」を選択します。

  4. ハンドラー処理の設定」オプションをオンにします。

  5. 引数」フィールドに次の値を追加します。

    profile:firefoxhq,profile:hq,profile:flv

    ここで追加するトランスコーディングビデオプロファイルは、ツールページ(/etc/dam/video)のツール/アセット/ビデオプロファイルフォルダーにある、標準提供のアセットビデオプロファイルを参照する必要があります。

     

  6. OK」をクリックし、ワークフローページの左上付近にある「保存」をクリックします。

    これで、ネットワークファイルコピーサービスをセットアップする準備ができました。このサービスは、コンテンツ配信ネットワーク(CDN)やビデオパッケージングサービスとの統合用に、出力されたエンコード済みファイルを NFS サーバーマウントに保存するために使用できます。

ネットワークファイルコピーサービスのセットアップ

  1. AEM サイドキックの「ワークフロー」リストにある「プロセスステップ」を、先ほど追加した FFmpeg トランスコーディングステップのすぐ下のワークフローにドラッグ&ドロップします。

  2. このプロセスステップをダブルクリックして、ステップのプロパティダイアログボックスを開きます。「共通」タブで、"FFmpeg NFS コピーサービス" などのタイトルを入力します。

    オプションで、「説明」フィールドに、プロセスの識別にさらに役立つ説明("トランスコーディングされたファイルは、この NFS コピーサービスによって指定されたディレクトリにコピーされます" など)を入力します。

  3. プロセス」タブをクリックし、「トランスコードされたビデオを NFS マウントにコピー」を選択します。

  4. ハンドラー処理の設定」オプションをオンにします。

  5. 引数」フィールドで、トランスコーディングされたビデオファイルとサムネールを広域配信のために配置する場所となる共有マウントを作成します。例えば、次のような形式を使用できます。

    mount:/tmp/cq,mount:/tmp/cq2

    このパスによって、トランスコーディングされたファイルが /tmp/cq/tmp/cq2 のマウントにコピーされます。

    マウントの作成は、ストリーミングなどの各種オプションを使用してビデオを配信する場合に便利です。

  6. OK」をクリックし、ワークフローページの左上付近にある「保存」をクリックします。

    これまで説明した 3 つのサービスのセットアップが完了したら、アセットにビデオをアップロードできます。 

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

リーガルノーティス   |   プライバシーポリシー