Saya tidak punya terlalu banyak waktu baru -baru ini untuk mengurus proyek. Jika Anda tertarik untuk membantu, silakan komentari #398
Ini adalah program untuk melemparkan audio macOS Anda, atau audio Linux ke perangkat google cast Anda atau speaker Sonos. Itu juga dapat melemparkan file video.
Ini ditulis untuk Python3, dan dapat mengalirkan melalui node.js , parec ( Linux ), atau ffmpeg . Mkchromecast mampu menggunakan format audio lossy dan lossless asalkan ffmpeg atau parec ( Linux ) diinstal. Ini juga mendukung pemutaran grup multi-kamar, dan resolusi audio tinggi 24-bit/96kHz. Selain itu, menu baki sistem tersedia.
Secara default, aliran mkchromecast dengan node.js (atau parec di linux ) bersama dengan format pengkodean audio mp3 pada laju sampel 44100Hz dan bitrate rata -rata 192k . Default ini dapat diubah menggunakan bendera --sample-rate dan -b . Berguna untuk memodifikasi parameter ini ketika router nirkabel Anda tidak terlalu kuat, atau jika Anda tidak ingin menurunkan kualitas suara. Untuk informasi lebih lanjut, kunjungi wiki, dan FAQ.
Anda secara opsional dapat menginstal ffmpeg informasi lebih lanjut di sini). Pengguna Linux juga dapat mengonfigurasi ALSA untuk menangkap audio. Perhatikan bahwa kadang -kadang jeda antara memainkan lagu dan pendengaran mungkin hingga 8 detik untuk backends tertentu.
Untuk memiliki ide menggunakan mkchromecast dari konsol, periksa gif ini.
Mkchromecast menyediakan menu baki sistem beta . Ini mengharuskan Anda untuk menginstal PyQt5 . Untuk informasi lebih lanjut, periksa persyaratan dan instal bagian.
Seperti inilah menu baki sistem:
Periksa gambar -gambar ini:
Jika Anda memiliki speaker Sonos, Anda dapat memainkan apa pun yang Anda dengarkan di komputer Anda dengan mkchromecast . Untuk menambahkan dukungan Sonos, instal modul soco Python:
pip3 install soco
Jika Anda ingin berkontribusi, Anda dapat membantu dengan melaporkan masalah atau dengan membuat permintaan tarik dengan perkembangan/peningkatan Anda. Jika kasus Anda adalah yang terakhir, kunjungi bagian pengembangan di wiki.
Untuk menggunakan mkchromecast , Anda memerlukan perangkat lunak berikut untuk streaming dengan node.js :
Untuk kontrol lebih lanjut, Anda memerlukan ffmpeg sebagai backend. Dalam hal ini instal berikut ini:
Bagi mereka yang tidak suka Pulseaudio, dimungkinkan untuk menggunakan ALSA. Dalam hal ini persyaratannya adalah:
Ada dua cara untuk menginstal aplikasi ini:
Ada aplikasi mandiri untuk pengguna macOS . Anda harus menyeretnya ke /Applications/ folder Anda.
Unduh DMG terbaru di sini. Anda juga perlu menginstal Blackhole.
Jika Anda menggunakan Homebrew, dimungkinkan untuk menginstal biner sebagai berikut:
brew install --cask mkchromecast
Jika Anda menemukan masalah dengan aplikasi, silakan laporkan di sini.
Mkchromecast tersedia di repositori resmi Debian. Untuk menginstalnya, lakukan saja:
apt install mkchromecast
Unduh paket Deb terbaru di sini, dan instal sebagai berikut:
sudo apt -f install ./mkchromecast_$VERSION_all.deb
di mana $VERSION = XYZ-Rev , misalnya : 0.2.6-1 .
Ini harus bekerja di Debian tidak stabil dan pengujian. Saya akan sangat menghargai penguji Ubuntu. Jika Anda menemukan masalah, silakan laporkan di sini.
Jika Anda mengalami masalah lain yang terkait dengan dependensi, silakan diskusikan di sini atau buka masalah baru.
Selain itu, ada dua paket ketergantungan untuk menarik dependensi pulseaudio atau ALSA:
apt-get install mkchromecast-alsa (ALSA users)
atau
apt-get install mkchromecast-pulseaudio (Pulseaudio users)
Untuk menginstal mkchromecast , klon repositori ini:
git clone https://github.com/muammar/mkchromecast.git --depth 1
Atau Anda dapat mengunduh salah satu rilis stabil di sini, dan unzip file.
Mkchromecast tersedia di AUR:
# install with aurman
aurman -S mkchromecast # install with aurutils
aur sync mkchromecast Jika Anda mendapatkan kesalahan cannot import name 'DependencyWarning' di Arch Linux, silakan periksa masalah #31.
Untuk menginstal persyaratan python, gunakan file requirements.txt yang dikirim dalam repositori ini:
pip install -r requirements.txt
Catatan : Jika langkah ini gagal, mungkin Anda perlu menjalankan instalasi dengan sudo seperti yang ditunjukkan di bawah ini. Namun, sebelum menginstal menggunakan metode ini, verifikasi mengapa pengguna biasa tidak dapat menginstal persyaratan ini.
sudo pip install -r requirements.txt
Pengguna Linux dapat mencoba menginstal persyaratan Python ini menggunakan manajer paket yang datang dengan distribusi mereka.
Contoh untuk distro berbasis 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
Catatan : Jika python3-pychromecast tidak tersedia di repositori Anda, ikuti instruksi di #9.
Untuk menginstal Blackhole, Anda dapat memeriksa https://github.com/existentialaudio/blackhole dan cukup unduh file DMG terbaru.
Jika Anda memiliki homebrew, Anda dapat menggunakan tong buatan sebagai berikut:
brew install --cask blackhole
Secara default, laju sampel di Blackhole diatur ke 44100Hz . Jika Anda ingin melakukan streaming pada tingkat sampel yang lebih tinggi, ikuti instruksi di wiki.
Catatan : Pengambilan sampel ulang ke laju sampel yang lebih tinggi bukanlah ide yang baik. Itu memang masalah di perangkat audio Chromecast. Lihat utas ini. Karena itu, jika Anda ingin melampaui 44100Hz , Anda harus menangkap suara pada laju sampel yang lebih tinggi.
Cara termudah untuk menginstal ffmpeg adalah menggunakan manajer paket, misalnya : BREW, MACPORTS atau FINK. Atau dalam kasus Linux , misalnya : Apt, Yum, atau Pacman.
Saya akan menjelaskan secara singkat kasus homebrew di sini. Pertama, Anda akan perlu dipasang homebrew di mesin Anda:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Setelah homebrew siap, Anda dapat menginstal ffmpeg . Seperti yang dinyatakan dalam situs web FFMPEG, dan karena dapat menggunakan semua format pengkodean audio di Mkchromecast , lebih baik menginstal ffmpeg dengan opsi berikut diaktifkan:
brew install ffmpeg --with-fdk-aac --with-tools --with-freetype --with-libass --with-libvorbis --with-libvpx --with-x265 --with-opus
Saat saya menggunakan Debian, cara menginstal ffmpeg adalah:
apt-get install ffmpeg
Format pengkodean audio tersedia dengan backend parec dan ffmpeg
| Format pengkodean audio | Keterangan | Catatan |
|---|---|---|
mp3 | MPEG Audio Layer III (default) | Format Kompresi Lossy (Bitrat Default: 192k) |
ogg | OGG VORBIS | Format Kompresi Lossy (Bitrat Default: 192k) |
aac | Canggih canggih (AAC) | Format Kompresi Lossy (Bitrat Default: 192k) |
opus | Karya | Format Kompresi Lossy (Bitrat Default: 192k) |
wav | Format File Audio Gelombang | Format Lossless (HQ Sound) |
flac | Codec audio lossless gratis | Format Lossless (HQ Sound) |
Binding Python ini diperlukan jika Anda bermaksud menggunakan menu baki sistem. Terkadang pip dapat menginstal PyQt5 dan pip install pyqt5 sudah cukup.
Jika ini tidak berhasil untuk Anda, saya sarankan Anda untuk menginstalnya menggunakan manajer paket.
Contoh dengan homebrew:
brew install pyqt5 --with-python3
apt-get install python3-pyqt5
Atau jika Anda menginginkannya, Anda dapat melakukannya sendiri dari sumbernya.
Untuk memperbarui sumber mkchromecast , cukup masuk ke direktori yang dikloning dan:
git pull
Atau jika Anda lebih suka, Anda bisa meneruskan argumen --update ke mkchromecast :
bin/mkchromecast --update
Jika Anda menggunakan aplikasi MacOS :
Check For Updates .mkchromecast.app di /Applications/ direktori Anda. Pengguna Linux perlu melakukan apt-get upgrade atau mengunduh Deb terbaru di sini, dan dpkg -i mkchromecast_$VERSION_all.deb .
Masuk ke direktori mkchromecast yang dikloning dan eksekusi:
bin/mkchromecast
Ini akan meluncurkan mkchromecast menggunakan node.js (atau parec untuk pengguna Linux ), dan akan melakukan bagian streaming bersama dengan format pengkodean audio mp3 . node.js bekerja dengan baik tetapi server mungkin cenderung gagal dalam keadaan tertentu. Dalam kasus seperti itu, mkchromecast dapat memulai kembali proses streaming/casting secara otomatis. Jadi, beberapa cegukan diharapkan.
Catatan : Sebagian besar langkah yang dijelaskan di sini sama untuk pengguna macOS dan Linux . Namun, jika Anda meluncurkan perintah di atas di Linux , prosesnya kurang diotomatisasi. Di Linux , Anda harus memilih dengan pavucontrol wastafel yang disebut Mkchromecast untuk streaming kecuali Anda menggunakan ALSA. Lihat wiki untuk informasi lebih lanjut. tl; dr?, periksa saja gif di bawah ini.
CATATAN : Proses cast tidak tergantung dari pemilihan wastafel pulseaudio. Ini berarti bahwa mkchromecast akan memberi tahu perangkat cast untuk mendengarkan komputer Anda tetapi tidak ada suara yang akan didengar sampai Anda memilih wastafel. Untuk pengguna ALSA, ini tidak berlaku.
ffmpeg dengan mkchromecast yang diinstal dari sumber Di bawah contoh menggunakan mp3 :
bin/mkchromecast --encoder-backend ffmpeg
Dengan ffmpeg Anda dapat memodifikasi codec:
bin/mkchromecast --encoder-backend ffmpeg -c aac
Ubah bitrate dan laju sampel:
bin/mkchromecast --encoder-backend ffmpeg -c mp3 -b 128 --sample-rate 31000
Periksa bagian Blackhole (hanya pengguna MacOS) untuk lebih lanjut tentang laju sampel.
Anda juga dapat mengatur IP host secara manual yang merupakan opsi yang berguna ketika memiliki lebih dari satu koneksi jaringan aktif atau ketika deteksi IP secara otomatis gagal:
bin/mkchromecast --host 192.168.1.1
Untuk menggunakan format pengkodean audio parec dan wav :
mkchromecast -c wav
Ada juga opsi untuk mengubah bitrate , dan dalam hal ini dengan ffmpeg :
mkchromecast --encoder-backend ffmpeg -c ogg -b 128
dan satu lagi untuk mengubah laju pengambilan sampel:
mkchromecast --encoder-backend ffmpeg -c ogg -b 128 --sample-rate 48000
Untuk meluncurkannya:
bin/mkchromecast -t
atau
mkchromecast -t
Aplikasi baki sistem dapat melakukan semua tindakan dari perintah yang disebutkan di atas. Untuk mendapatkan ide, silakan periksa video YouTube di sini.
Anda dapat memainkan URL YouTube (atau situs lain tanpa kepala dari baris perintah:
bin/mkchromecast -y https://www.youtube.com/watch?v=NVvAJhZVBT
Untuk menggunakan fungsi ini, Anda perlu menginstal youtube-dl . Di MacOS, ini dapat dilakukan dengan Homebrew: brew install youtube-dl . Dalam distro berbasis Debian: apt-get install youtube-dl .
Catatan : Anda mungkin perlu melampirkan URL antara tanda kutip, dan hanya URL di atas https yang didukung.
Anda dapat memainkan URL sumber apa pun tanpa kepala dari baris perintah:
bin/mkchromecast --source-url SOURCE_URL
Opsi ini berguna untuk:
http .Contoh:
bin/mkchromecast --source-url http://192.99.131.205:8000/pvfm1.ogg -c ogg --control
Seperti yang dapat dilihat di atas, codec harus ditentukan dengan bendera -c .
Catatan : .m3u atau .pls belum didukung.
Anda dapat mengontrol volume perangkat Google Cast Anda dengan meluncurkan mkchromecast dengan opsi --control :
bin/mkchromecast --encoder-backend ffmpeg -c ogg -b 320 --control
Ini akan memungkinkan Anda untuk menekan tombol U dan D untuk volume up dan volume down masing -masing.
Baki sistem memiliki jendela dengan slider volume untuk melakukan volume up dan volume down .
Mkchromecast memungkinkan Anda menggunakan resolusi audio tinggi 24-bit/96kHz . Ini adalah kemampuan audio Chromecast maksimum . Codec yang didukung adalah: wav dan flac . Terlepas dari fakta bahwa aac dapat menggunakan laju sampel 96000Hz , bitrate sesuai dengan format kompresi data yang lossy. Oleh karena itu, kombinasi berikut dapat mencapai kemampuan 24-bit/96kHz ini:
wav + 96000Hz .flac + 96000Hz .Referensi:
Anda sekarang dapat melemparkan video ke google cast Anda menggunakan mkchromecast . Fitur ini berfungsi baik dengan backend node dan ffmpeg dan dari baris perintah. Di masa depan, mereka mungkin antarmuka grafis untuk proses ini. Lihat proyek ini.
bin/mkchromecast --video -i "/path/to/file.mp4"
bin/mkchromecast --video -i "/path/to/file.mp4" --encoder-backend node
Catatan : Format file dapat berupa apa pun yang didukung oleh ffmpeg dan tidak secara eksklusif 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
Untuk membunuh mkchromecast saat Anda menjalankannya dari konsol, cukup tekan tombol CTRL-C atau Q untuk berhenti (ketika-bendera --control dilewati).
Saat meluncurkan dari baki sistem, gunakan tombol Quit di baki sistem.
Untuk mendapatkan lebih banyak bantuan:
bin/mkchromecast -h
Atau saat menginstal paket Debian:
mkchromecast -h
node , tidak mungkin untuk menggunakan --subtitle maupun bendera --seek .mp3 , dan aac . Saya tidak akan memberikan dukungan wma . Rupanya ada cara untuk bermain wav , dan ogg yang akan saya coba terapkan nanti. parec dan lame Encoder, keterlambatan antara audio yang dimainkan dan didengarkan bisa hingga 8 detik. Saya sarankan Anda menggunakan sesuatu yang berbeda dari MP3.Anda juga dapat memeriksa FAQ untuk informasi lebih lanjut.