私は最近、プロジェクトの世話をする時間があまりありません。支援に興味がある場合は、#398にコメントしてください
これは、 MACOSオーディオをキャストするプログラム、またはGoogleキャストデバイスまたはSonosスピーカーにLinuxオーディオをキャストするプログラムです。また、ビデオファイルをキャストすることもできます。
Python3用に記述されており、 node.js 、 parec ( Linux )、またはffmpegを介してストリーミングできます。 MkChromecastは、 ffmpegまたはparec ( Linux )がインストールされている場合、LosyおよびLosslessオーディオ形式を使用できます。また、マルチルームグループの再生、および24ビット/96kHzの高オーディオ解像度もサポートしています。さらに、システムトレイメニューが利用可能です。
デフォルトでは、 mkchromecastは、 node.js (またはLinuxのparec )を備えたストリーミングと、 44100Hzのサンプルレートと192kの平均ビットレートでのmp3オーディオコーディング形式です。これらのデフォルトは--sample-rateおよび-bフラグを使用して変更できます。ワイヤレスルーターがそれほど強力ではない場合、または音質を低下させたくない場合には、これらのパラメーターを変更すると便利です。詳細については、WikiとFAQをご覧ください。
オプションでffmpeg詳細については、こちらからインストールできます)。 Linuxユーザーは、オーディオをキャプチャするようにALSAを構成することもできます。歌と聴覚を演奏することの間の遅れは、特定のバックエンドで最大8秒である場合があることに注意してください。
コンソールからmkchromecastを使用することを知るには、このGIFをチェックしてください。
mkchromecastはベータシステムトレイメニューを提供します。 PyQt5をインストールする必要があります。詳細については、要件を確認し、セクションをインストールしてください。
これは、システムトレイメニューのように見えるものです。
これらの画像を確認してください:
Sonosスピーカーがいる場合は、 MkChromecastでコンピューターで聴いていることをすべてプレイできます。 Sonosサポートを追加するには、 soco Pythonモジュールをインストールします。
pip3 install soco
貢献したい場合は、問題を報告するか、開発/改善でプルリクエストを作成することで支援できます。あなたのケースが後者の場合は、Wikiの開発セクションにアクセスしてください。
mkchromecastを使用するには、 node.jsでストリーミングするには次のソフトウェアが必要です。
さらにコントロールするには、 ffmpegバックエンドとして必要です。その場合、以下をインストールしてください。
Pulseaudioが好きではない人のために、ALSAを使用してキャストすることが可能です。その場合、要件は次のとおりです。
このアプリケーションをインストールする方法は2つあります。
MacOSユーザー向けのスタンドアロンアプリケーションがあります。 /Applications/フォルダーにドラッグする必要があります。
ここから最新のDMGをダウンロードしてください。また、ブラックホールをインストールする必要があります。
HomeBrewを使用している場合、次のようにバイナリをインストールすることができます。
brew install --cask mkchromecast
アプリケーションに問題がある場合は、こちらを報告してください。
MkChromecastは、公式のDebianリポジトリで入手できます。それをインストールするには、ただしてください:
apt install mkchromecast
ここから最新のデブパッケージをダウンロードし、次のようにインストールしてください。
sudo apt -f install ./mkchromecast_$VERSION_all.deb
ここで、 $VERSION = XYZ-Rev 、例: 0.2.6-1 。
これは、Debianの不安定でテストで機能するはずです。 Ubuntuのテスターにも感謝します。問題が見つかった場合は、ここで報告してください。
依存関係に関連する他の問題が発生した場合は、ここでそれらについて話し合うか、新しい問題を開いてください。
さらに、PulseaudioまたはALSAの依存関係を引くための2つの依存関係パッケージがあります。
apt-get install mkchromecast-alsa (ALSA users)
または
apt-get install mkchromecast-pulseaudio (Pulseaudio users)
mkchromecastをインストールするには、このリポジトリをクローンします。
git clone https://github.com/muammar/mkchromecast.git --depth 1
または、ここから安定したリリースの1つをダウンロードして、ファイルを解凍することもできます。
mkchromecastはAURで入手できます。
# install with aurman
aurman -S mkchromecast # install with aurutils
aur sync mkchromecastエラーがArch Linuxでcannot import name 'DependencyWarning'場合は、問題#31を確認してください。
Python要件をインストールするには、このリポジトリに出荷されたrequirements.txtを使用します。
pip install -r requirements.txt
注:このステップが失敗した場合は、以下に示すように、 sudoでインストールを実行する必要がある場合があります。ただし、このメソッドを使用してインストールする前に、通常のユーザーがこれらの要件をインストールできない理由を確認します。
sudo pip install -r requirements.txt
Linuxユーザーは、ディストリビューションを搭載したパッケージマネージャーを使用して、これらのPython要件をインストールしようとすることができます。
Debianベースのディストリビューションの例:
sudo apt-get install python3.6 python3-pip python3-pychromecast python3-flask python3-psutil python3-setuptools python3-mutagen python3-gi vorbis-tools sox lame flac faac opus-tools
注: python3-pychromecastリポジトリで利用できない場合は、#9の指示に従ってください。
Blackholeをインストールするには、https://github.com/existentialAudio/blackholeを確認して、最新のDMGファイルをダウンロードできます。
自家製の場合は、次のようにBrew Caskを使用できます。
brew install --cask blackhole
デフォルトでは、ブラックホールのサンプルレートは44100Hzに設定されています。より高いサンプルレートでストリーミングしたい場合は、Wikiの指示に従います。
注:サンプルレートを高くすることは良い考えではありません。それは確かにChromecastオーディオデバイスの問題でした。このスレッドを参照してください。したがって、 44100Hzを超えたい場合は、より高いサンプルレートでサウンドをキャプチャする必要があります。
ffmpegをインストールする最も簡単な方法は、Brew、MacPorts、Finkなどのパッケージマネージャーを使用することです。またはLinuxの場合、例:apt、yum、またはpacman。
Homebrewの事例について簡単に説明します。まず、マシンにHomebrewをインストールする必要があります。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrewの準備ができたら、 ffmpegをインストールできます。 FFMPEG Webサイトで述べられているように、 MKChromecastですべてのオーディオコーディング形式を使用できるようにするには、次のオプションを有効にしてffmpegをインストールすることをお勧めします。
brew install ffmpeg --with-fdk-aac --with-tools --with-freetype --with-libass --with-libvorbis --with-libvpx --with-x265 --with-opus
Debianを使用しているとき、 ffmpegのインストール方法は次のとおりです。
apt-get install ffmpeg
parecおよびffmpegバックエンドで利用可能なオーディオコーディングフォーマット
| オーディオコーディング形式 | 説明 | メモ |
|---|---|---|
mp3 | MPEGオーディオレイヤーIII(デフォルト) | 損失のある圧縮形式(デフォルトビットレート:192k) |
ogg | Ogg Vorbis | 損失のある圧縮形式(デフォルトビットレート:192k) |
aac | 高度なオーディオコーディング(AAC) | 損失のある圧縮形式(デフォルトビットレート:192k) |
opus | Opus | 損失のある圧縮形式(デフォルトビットレート:192k) |
wav | 波形オーディオファイル形式 | ロスレスフォーマット(HQサウンド) |
flac | 無料のロスレスオーディオコーデック | ロスレスフォーマット(HQサウンド) |
システムトレイメニューを使用する場合は、これらのPythonバインディングが必要です。 pipがPyQt5をインストールでき、 pip install pyqt5十分である場合があります。
これが機能しない場合は、パッケージマネージャーを使用してインストールすることをお勧めします。
HomeBrewの例:
brew install pyqt5 --with-python3
apt-get install python3-pyqt5
または、あなたがそれを望むなら、あなたは情報源から自分でそれをすることができます。
mkchromecastソースを更新するには、クローン化されたディレクトリに入ってください。
git pull
または、それを好む場合は、 --update引数をmkchromecastに渡すだけです。
bin/mkchromecast --update
MacOSアプリケーションを使用している場合:
Check For Updatesをクリックしてください。mkchromecast.appを/Applications/ディレクトリに置き換えます。 Linuxユーザーは、 dpkg -i mkchromecast_$VERSION_all.deb apt-get upgradeを実行するか、ここから最新のDebをダウンロードする必要があります。
クローン化されたmkchromecastディレクトリに入り、実行します。
bin/mkchromecast
これにより、 node.js (またはLinuxユーザー向けのparec )を使用してMkChromecastを起動し、 mp3オーディオコーディング形式とともにストリーミングパーツを実行します。 node.jsきちんと動作しますが、サーバーは特定の状況下で故障する傾向があります。このような場合、 MkChromecastはストリーミング/キャストプロセスを自動的に再起動できます。したがって、いくつかのしゃっくりが予想されます。
注:ここで説明する手順のほとんどは、 MacOSおよびLinuxユーザーで同じです。ただし、 Linuxで上記のコマンドを起動すると、プロセスの自動化が低くなります。 Linuxでは、ALSAを使用している場合を除き、 pavucontrolでMkchromecastと呼ばれるシンクをストリーミングするシンクを選択する必要があります。詳細については、Wikiをご覧ください。 tl; dr?、以下のGIFを確認してください。
注:キャストプロセスは、Pulseaudioシンクの選択から独立しています。これは、 mkchromecastがキャストデバイスにコンピューターを聴くように指示することを意味しますが、シンクを選択するまで音は聞こえません。 ALSAユーザーには、これは適用されません。
ffmpegバックエンドを使用して、 MKCHROMECASTがソースからインストールされていますmp3を使用した例の下:
bin/mkchromecast --encoder-backend ffmpeg
ffmpeg使用すると、コーデックを変更できます。
bin/mkchromecast --encoder-backend ffmpeg -c aac
ビットレートとサンプルレートを変更します。
bin/mkchromecast --encoder-backend ffmpeg -c mp3 -b 128 --sample-rate 31000
サンプルレートの詳細については、セクションブラックホール(MacOSユーザーのみ)を確認してください。
また、ホストIPを手動で設定することもできます。これは、複数のアクティブネットワーク接続を持つ場合、または自動的にIP検出が失敗した場合に便利なオプションです。
bin/mkchromecast --host 192.168.1.1
parecおよびwavオーディオコーディング形式を使用してキャストするには:
mkchromecast -c wav
bitrateを変更するオプションもあります。この場合、 ffmpegを使用してください。
mkchromecast --encoder-backend ffmpeg -c ogg -b 128
サンプリングレートを変更するもう1つ:
mkchromecast --encoder-backend ffmpeg -c ogg -b 128 --sample-rate 48000
起動するには:
bin/mkchromecast -t
または
mkchromecast -t
システムトレイアプリケーションは、前述のコマンドからすべてのアクションを実行できます。アイデアを得るには、こちらのYouTubeビデオをご覧ください。
YouTube URL(または他のサイトをコマンドラインから重視して再生できます。
bin/mkchromecast -y https://www.youtube.com/watch?v=NVvAJhZVBT
この関数を使用するには、 youtube-dlをインストールする必要があります。 MacOSでは、これはhomebrew: brew install youtube-dlで行うことができます。 Debianベースのディストリビューション: apt-get install youtube-dl 。
注:引用符の間にURLを囲む必要がある場合があり、 https上のURLのみがサポートされています。
コマンドラインから任意のソースURLを重視して再生できます。
bin/mkchromecast --source-url SOURCE_URL
このオプションは次のように役立ちます。
httpストリーミングソースがあります。例:
bin/mkchromecast --source-url http://192.99.131.205:8000/pvfm1.ogg -c ogg --control
上で見ることができるように、コーデックは-cフラグで指定する必要があります。
注: .m3uまたは.plsはまだサポートされていません。
MkChromecastをオプション--controlで起動することで、Googleキャストデバイスのボリュームを制御できます。
bin/mkchromecast --encoder-backend ffmpeg -c ogg -b 320 --control
これによりvolume upとvolume downためにUとDキーをそれぞれ押すことができます。
システムトレイには、 volume up volume downボリュームスライダーを備えたウィンドウがあります。
mkchromecastでは24-bit/96kHz高オーディオ解像度を使用してキャストできます。これは、最大クロムキャストオーディオ機能です。サポートされているコーデックは次のとおりですwavとflac 。 aac 96000Hzサンプルレートを使用できるという事実にもかかわらず、ビットレートは損失のあるデータ圧縮形式のビットレートに対応しています。したがって、次の組み合わせでは、この24-bit/96kHz機能を達成できます。
wav + 96000Hzサンプルレート。flac + 96000Hzサンプルレート。参考文献:
MkChromecastを使用して、Googleキャストにビデオをキャストできるようになりました。この機能は、 nodeとffmpegバックエンドとコマンドラインの両方で機能します。将来、それらはこのプロセスのグラフィカルインターフェイスになる可能性があります。このプロジェクトを参照してください。
bin/mkchromecast --video -i "/path/to/file.mp4"
bin/mkchromecast --video -i "/path/to/file.mp4" --encoder-backend node
注:ファイルの形式は、 ffmpegによってサポートされているものであり、MP4のみではありません。
bin/mkchromecast --video -i "/tmp/Homeland.S06E01.Fair.Game.1080p.AMZN.WEBRip.HEVC.DD5.1.x265.mkv" --subtitles /tmp/Homeland.S06E01.Fair Game.HDTV.x264-BATV.en.HI.srt
bin/mkchromecast --video --resolution 4k -i /path/to/myvideo.something --subtitles /path/to/my.srt
bin/mkchromecast --source-url http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4 -c mp4 --volume --video
bin/mkchromecast -y https://www.youtube.com/watch?v=VuMBaAZn3II --video
MkChromecastをコンソールから実行したときに殺すには、 Ctrl-CまたはQキーを押して終了するだけです( --controlフラグが渡されたとき)。
システムトレイから起動するときは、システムトレイのQuitボタンを使用します。
もっと助けを得るために:
bin/mkchromecast -h
またはDebianパッケージをインストールするとき:
mkchromecast -h
nodeバックエンドを使用してビデオをキャストする場合、 --subtitleも--seekフラグも使用しないことはできません。mp3とaacです。私はwmaサポートを与えません。どうやらwavをプレイする方法があり、 oggは後で実装しようとします。 parecとlameエンコーダーを使用する場合、再生されてリスニングされたオーディオの間の遅延は最大8秒になります。 mp3とは違うものを使用することをお勧めします。詳細については、FAQを確認することもできます。