目次

    はじめに

    近年のデジタルメディアの発展において、多くのアプリケーションが様々なメディア形式に対応する必要があります。
    そこで登場するのが、オープンソースのマルチメディアフレームワークであるFFmpegです。

    FFmpegとは?

    FFmpeg は、動画や音声のエンコード、デコード、変換処理などの多くのマルチメディアの処理を行うことができるフレームワークです。
    コマンドラインツールとしても提供され、動画の変換、編集、ストリーミングなど、豊富な機能を提供しています。
    これからXserverでFFmpegをインストールから使用できるまでの手順を提供させていただきます。

    FFmpegのダウンロード

    まずは、FFmpegのバイナリーファイルをローカルでダウンロードする必要があります。
    エックスサーバーはLinuxサーバーなのでlinux-64をダウンロードする必要があります。
    以下のサイトからダウンロードすることができます。
    FFprobeのダウンロードも必要がある場合FFmpegと同じくダウンロードしましょう。
    こちらにて、ffprobeについて少し説明したいと思います。
    「ffprobeは、FFmpegの一部であり、メディアファイルに関する詳細な情報を取得するためのユーティリティです。
    FFmpegは主にメディアの変換と処理に使用されますが、ffprobeはメディアファイルそのものに関する情報を取得するために使用されます。」

    FFmpegをサーバーにアップロード

    先ほどダウンロードしたFFmpeg のzipファイルを解凍して、以下のディレクトリにアップロードします。
    /home/自分のサーバー名/.local/bin/
    サーバーで「.local/bin/」が無い場合は作成しましょう。
    ffprobeも必要があれば、同じディレクトリ内でアップロードしてください。

    FFmpegに実行権限を付与する

    アップロードしたFFmpegが使用できるように実行権限を設定する必要があります。
    cdコマンドでアップロードしたFFmpegのディレクトリまで移動して、chmodコマンドで実行権限を付与します。
    下に確認してください。
    「ディレクトリまで移動」
    $ cd /home/自分のサーバー名/.local/bin
    「実行権限を付与」
    $ chmod +x ffmpeg

    コマンド実行

    下のように「ffmpeg」コマンドを叩いて実行できればインストールが完了です。

    サーバーの「.bash_profile」ファイルを編集

    この部分は必要に応じて設定を行ってください。
    .bash_profile」ファイルに下のように設定してください。
    修正したあとは「.bash_profile」をこのコマンド「$ source ~/.bash_profile」で再読み込みが必要です。

    仕様に関する設定

    プロジェクトで設定

    サーバーの設定あとは作業ディレクトリで下のComposerコマンドを実行します。
    「composer require pbmedia/laravel-ffmpeg」

    configファイルの編集

    config/app.phpに「providers」と「aliases」に編集する必要があります。

    artisanコマンド実行

    プロジェクトのルートディレクトリで下のコマンドを実行します。
    「php artisan vendor:publish --provider="Pbmedia\LaravelFFMpeg\FFMpegServiceProvider"」
    configディレクトリ配下にlaravel-ffmpeg.phpファイルが作成されることが確認できます。

    環境の設定

    laravelでは「.env」ファイルのに下の設定を追加する必要があります。

    まとめ

    FFmpegは、マルチメディア処理の分野で頻繁に利用される強力なツールです。様々なフォーマットへの変換やストリーミング、フィルタリングなど、その機能は多岐にわたります。開発者やメディアコンテンツ制作者にとって、FFmpegは欠かせない存在となっています。
    それでは、FFmpegの世界へダイブし、新しいメディア処理の可能性を探ってみましょう。

    PREV
    2023.12.10
    GSAPでページに個性を!~ScrollTriggerを応用してみよう~
    NEXT
    2023.12.11
    将来的にどのテクノロジーが普及するのか?