nginx+nginx-rtmp-module+ffmpegを使用してストリーミングメディアサーバーを構築する場合の注意事項 (5)

WBOY
リリース: 2016-08-08 09:29:45
オリジナル
1782 人が閲覧しました

パート 5

少し前に、HLS をサポートできるストリーミング メディア サーバーが Ubuntu 上に構築されました。最終的な目標は、そのようなストリーミング メディア サーバーを arm 開発ボード上に構築することです。現時点では、作業のほんの一部だけが移植され、将来的に継続できるように記録されています。

1. まずはarm開発ボードにnginxを移植します。

誰かがすでにこれを行っているので、他の人のプロジェクトを使用することができます。

https://bitbucket.org/ntakimura/android-nginx/src/c80cb9c41a725ecf57f73a196735100aeef5b6e4/?at=android

これは android-nginx オープンソース プロジェクトであり、これに基づいて開発が続けられています。

2. 元のコードをダウンロードした後、上記の手順に従います:

まず、NDK 環境があることを確認し、NDK ツール チェーンを呼び出します。

android ndk は、ツール チェーンをカスタマイズできるスクリプトを提供します。メソッドは次のとおりです。

$NDK_HOME/build/tools/make-standalone-toolchain.sh \
    --platform=android-14 --install-dir=$HOME/local/android-toolchain
ログイン後にコピー
ここで、NDK_HOME は NDK パスです。

3. 2 番目のステップによると、プロジェクトの公式 Web サイトに書かれていることは次のとおりです:

auto/configure \
    --crossbuild=android-arm \
    --prefix=/sdcard/nginx \
    --with-cc=$HOME/local/android-toolchain/arm-linux-androideabi/bin/gcc \
    --without-pcre --without-http_rewrite_module --without-http_userid_module \
    --with-cc-opt=-Wno-sign-compare
ログイン後にコピー
ただし、auto の前のディレクトリに入って実行すると、エラーが表示され、gcc が見つからないため、コマンドを実行する必要があります。変更されました:
auto/configure \
    --crossbuild=android-arm \
    --prefix=/home/wangrui/arm-nginx \
    --with-cc=/home/wangrui/local/android-toolchain/bin/arm-linux-androideabi-gcc \
    --without-pcre --without-http_rewrite_module --without-http_userid_module \
    --with-cc-opt=-Wno-sign-compare
ログイン後にコピー
今後の make と make install は root 配下になるため、コマンド内の HOME をディレクトリ /home/wangrui/ に変更しました。

4. エラーがなければ正常に完了し、make、make install

5. arm-nginx を Android SDCARD にコピーします。

コピーする場合、権限の問題が発生し、コピーを作成できません。 arm-nginx フォルダーの権限を変更します。

chmod 777 arm-nginx -R
ログイン後にコピー
-R は、フォルダー内のサブフォルダーとファイルも変更されることを意味します。

6. データケーブルで電話を接続し、USB デバッグを開き、adb ツールをインストールします

sudo apt-get install android-tools-adb
ログイン後にコピー

7. SDK ディレクトリに入ります。私のディレクトリは /home/wangrui/java/sdk/platform-tools です。

コマンドを実行します:

adb shell
ログイン後にコピー
が電話に入り、コマンドを実行します:
cd sdcard
ログイン後にコピー
は SD カードに入り、arm-nginx ディレクトリを見つけます。

8. 完全なコマンドは次のとおりです:

cd sdcard/arm-nginx/sbin/ 
ログイン後にコピー

実行
./nginx
ログイン後にコピー
プロンプトのエラー:
nginx: [alert] could not open error log file: open() "/home/wangrui/arm-nginx/logs/error.log" failed (2: No such file or directory)
2015/02/12 16:16:26 [emerg] 4079#0: open() "/home/wangrui/arm-nginx/conf/nginx.conf" failed (2: No such file or directory)
ログイン後にコピー
はファイルを見つけることができません。コマンドを変更します。
./nginx -p /sdcard/arm-nginx/ -c /sdcard/arm-nginx/conf/nginx.conf
ログイン後にコピー
実行プロンプト エラー:
nginx: [emerg] getgrnam("nogroup") failed (2: No such file or directory)
ログイン後にコピー
修正方法がまだ分からないので、今日はここに記録しておきます。 もうすぐ年休に入るので、後から少しずつ続けた方が楽です...

遭遇した先輩たち。このような状況の場合は、アドバイスをいただければ幸いです。

ありがとう

上記は、nginx+nginx-rtmp-module+ffmpeg を使用してストリーミング メディア サーバーを構築する際の注意事項 (5) を、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート