なぜこれがすべて必要なのですか?
Linux Mintは素晴らしいホームOSです。 あらゆる好み、インストール、初心者でも簡単で理解しやすいグラフィカル環境の幅広い選択、インストール後すぐに必要なソフトウェアの基本セット、便利なアプリケーションマネージャー、および基本的なマルチメディアコーデックが用意されています。 全体として、ナビゲートしてLinuxに慣れるのに最適なシステムです。

しかし、自宅にNASなどを持たない人には問題がありますが、DLNAをサポートする他のデバイスでPCのコンテンツを視聴したいのです。 Linuxでは、さまざまなDLNAサーバーがありますが、
MiniDLNAが
最適です。 これにはいくつかの理由があります。 まず、これは典型的なUnixの方法です。このサーバーはDLNAサーバーであり、多くのホイッスルとの組み合わせではなく、コンテンツはどのデバイスでも簡単に認識されます。 AllShareを搭載したSamsung TVでも完全に接続されています。 また、このサーバーの驚くべき速度と要求の厳しいリソースに注目することもできます。
そして、すべてがうまくいくだろうが、ここでチームの助けを借りて
sudo apt-get install minidlna
インストールすると動作しません-リポジトリにはありません。
この誤解を解消するためのさまざまなオプションがありますが、最も正しい方法はソースからインストールすることです。
新たに作成された可能性のあるLinuxoidをこの経路から追い払わず、おそらく誰かを助けるために、多くの情報があるため、落とし穴を回避する方法を書きますが、方法の初めに、人々はもっと簡単なことをする必要があります。
準備する
rootとして実行されているコンソールでコマンドを実行する場合、sudoを記述する必要はありません。
最初に、必要なライブラリをインストールする必要があります。
更新された:
sudo apt-get update
そして、ライブラリ自体をインストールします。
sudo apt-get install libavcodec-dev libavformat-dev libavutil-dev libflac-dev libvorbis-dev libogg-dev libid3tag0-dev libexif-dev libjpeg-dev libsqlite3-dev
現在のMiniDLNAの最新バージョンは1.1.3
です。こちらからダウンロード
するか、コンソールからダウンロードできます。
wget --trust-server-names http://sourceforge.net/projects/minidlna/files/latest/download
元の名前を保持するにはアドレスの前のキーが必要です。新しいバージョンのリリースでは、ファイル名が異なります。 その後、アーカイブを解凍する必要があります。
tar -xf minidlna-1.1.3.tar.gz
展開されたソースフォルダーに移動します
cd minidlna-1.1.3
ファイルを含むフォルダーをデバイスにすぐに表示する場合は、コードをわずかに修正する必要があります。
ネタバレを開くファイルを表示する方法の要求をオフにするには、ソースフォルダーのupnpsoap.cファイルを修正する必要があります(minidlna-1.1.3、既に存在している必要があります)が、最初にバックアップを作成します。
sudo cp upnpsoap.c upnpsoap.c.old
エディターで開きます
sudo nano upnpsoap.c
検索(F6)、手順を探します:
"BrowseContentDirectory"static void BrowseContentDirectory(struct upnphttp * h, const char * action) {
手順の開始時に、SOAP / XML要求が解析され、処理されて結果が返されます。 要求の解析は、デバッグメッセージの形成で終了します。
DPRINTF(E_DEBUG, L_HTTP, "Browsing ContentDirectory:\n" " * ObjectID: %s\n" " * Count: %d\n" " * StartingIndex: %d\n" " * BrowseFlag: %s\n" " * Filter: %s\n" " * SortCriteria: %s\n", ObjectID, RequestedCount, StartingIndex, BrowseFlag, Filter, SortCriteria);
次に、root_container構成パラメーターに応じて、ルートコンテナーの選択が実装されます。
このブロックの直後、データベースへのクエリを含むブロックの前に、ビデオ、音楽、画像のフォルダーリダイレクトコードを追加します。
その結果、修正されたフラグメントは次のようになります。
if( strcmp(ObjectID, "0") == 0 ) { args.flags |= FLAG_ROOT_CONTAINER; if( runtime_vars.root_container ) { if( (args.flags & FLAG_AUDIO_ONLY) && (strcmp(runtime_vars.root_containe$ ObjectID = MUSIC_DIR_ID; else ObjectID = runtime_vars.root_container; } else { if( args.flags & FLAG_AUDIO_ONLY ) ObjectID = MUSIC_ID; } }
後続の更新の手順を簡素化するには、変更を含むパッチを保存します。
diff -u upnpsoap.c.old upnpsoap.c > ../minidlna-folders.patch
ファイルを編集する代わりに、パッチを適用するだけです:
cd ~/src/minidlna/minidlna- patch < ../minidlna-folders.patch
これで、構成に進むことができます。
これが必要ない場合は、構成に直接進んでください。
./configure
そしてコンパイル:
make
設置
1)将来バージョンを更新したい人のために、以前のバージョンを削除することができます(構成ファイルは保存されます)、これが行われない場合、インストールファイルの構成が新しいバージョンで変更される場合、古いファイルは/ usr / localに残ることがあります、最初のインストールで-直接ステップ2に進みます。
削除するには、以前のインストールのフォルダーに移動して、コマンドを実行します。
sudo apt-get remove minidlna
2)インストールを開始します(コメントでは、make installよりも正しい方法が提案されています)。
sudo checkinstall -D
-Dスイッチは、Debianパッケージを作成する必要があることを示します。
3)初期インストールを行う場合、initスクリプトを作成する必要があります。
sudo nano /etc/init.d/minidlna
、バージョンを更新する場合、他に何もする必要はありません。最初のインストール中に、空のファイルを開き、そこに次のコードを追加する必要があります。
、Ctrl + Oで保存してエディターを終了します-Ctrl + X
4)その後、スクリプトを実行する権利を付与します。
sudo chmod 755 /etc/init.d/minidlna
5)そして、initスクリプトをアクティブにします。
sudo update-rc.d minidlna defaults
6)デフォルトでは、サービスはユーザーminidlnaで開始されるため、適切なアカウントを作成する必要があります。
sudo adduser --system --home /var/lib/minidlna --group --gecos "MiniDLNA server" minidlna
7)サーバー構成ファイルを編集します。
sudo nano /etc/minidlna.conf
すべてのテレビがサーバーをポーリングするわけではないため、次のように、メディアフォルダーへのパスも指定する必要があります。「media_dir = V、/ mnt / sdb6 / Video /アレックス/「ファイルの適切なセクション内」:
minidlna.confのリスト
8)次に、initスクリプト/ etc / default / minidlnaのパラメーターを確認します。
sudo nano /etc/default/minidlna
通常、調整は必要ありません。 ファイルが見つからない場合は、ソースからの初期インストール中にリストをコピーします。
通常、この後、追加の設定は必要ありませんが、メディアへのアクセスに問題がある場合(または安全に再生したい場合)、アクセス権を構成できます。
許可の設定:サービスは制限されたユーザーとして実行されるため、公開されたフォルダーとファイルはすべてのユーザーが読み取り可能である必要があります。したがって、ファイルに対する許可644: "rw- r-- r--"および755: "rwx rx rx"、フォルダー用。
次のコマンドを使用して、minidlna.confで指定された各フォルダーの可用性を確認します。
sudo -u minidlna ls -l
フォルダーが使用できない場合は、アクセス許可を設定します。
sudo chmod -R 755
親フォルダーもすべてのユーザーが読み取り可能である必要があります。 パスで指定された各フォルダーの読み取りアクセス可能性を確認します。 親フォルダーでは、すべての子ファイルとフォルダーにリセット許可が必要でない場合、-Rスイッチなしでchmodを使用します。
アクセス許可を変更する代わりに、ファイルを所有するユーザーまたはグループの代わりにMiniDLNAを実行できます。 これを行うには、/ etc / default / minidlnaのUSERおよびGROUPパラメーターを設定し、次のコマンドで/ var / lib / minidlnaフォルダーの所有者を変更します。
sudo chown -R : /var/lib/minidlna
サーバー起動
以下を開始します。
sudo service minidlna force-reload
サービスが機能しているかどうかを確認し、起動オプションも確認します。
ps ax | grep minidlna
ポートがリッスンしているかどうかを確認します。
sudo ss -4lnp | grep minidlna
ログを確認します。
cat /var/log/minidlna.log
正常に起動した場合、ログはおよそ次のようになります。
Gothician gothician
「警告:Inotify max_user_watches [8192] is low。」と表示された場合、inotifyトラッキング記述子の数を100,000に増やす必要があります。これを行うには、/ etc / sysctl.confファイルに次の行を追加します。
エディターによる手動:
sudo nano /etc/sysctl.conf
またはコピーアンドペーストコマンド:
sudo sh -c 'printf "\n\n#MiniDLNA warning fix\nfs.inotify.max_user_watches = 100000\n" >> /etc/sysctl.conf && cat /etc/sysctl.conf'
パラメータの変更は、システムの再起動後に有効になります。
ブラウザでサーバー
アドレスを開きます:8200、ライブラリ内のファイルの数を確認します。バージョン1.1.2以降、接続されているクライアントのリストも表示されます。
DLNA / UPnP-AVサーバーのセットアップが完了しました。
ディレクトリでエラーが発生した場合、ファイルを再スキャンする必要があります。
上記のinitスクリプトを使用する場合、メディアライブラリのスキャンを開始するには、次のコマンドを使用します。
sudo service minidlna force-reload
サービスが再開され、接続されたクライアントが切断されます。
各システムの起動時にメディアライブラリをスキャンするには、/ etc / default / minidlnaファイルのDAEMON_OPTSパラメーターに起動キー「-R」を指定できます。 大きなメディアライブラリをスキャンすると、ディスクが大幅にロードされるため、システムのロードが遅くなる可能性があります。
完全なカタログ作成には数分かかる場合があります。 フォルダーは、構成内の宣言の順にスキャンされます。 上記の設定で宣言された小さなフォルダのファイルは、スキャンプロセスの最初のディレクトリに表示されます。 構成内のコンテンツがほとんど再生されない大きなフォルダーを最後に配置することは理にかなっています。
これらはすべてシステムでテストされており、健康のために使用してください。 Linuxユーザーの数が常に増加することを願っています。
http://itadept.ru/、wiki.archlinux.orgの資料に基づいています。