ليس لدي الكثير من الوقت مؤخرًا لرعاية المشروع. إذا كنت مهتمًا بالمساعدة ، فيرجى التعليق على #398
هذا برنامج لإلقاء صوت MacOS الخاص بك ، أو صوت Linux على أجهزة Cast أو مكبرات الصوت Sonos. يمكن أن يلقي أيضا ملفات الفيديو.
تتم كتابتها لـ Python3 ، ويمكنها البث عبر node.js أو parec ( Linux ) أو ffmpeg . Mkchromecast قادر على استخدام تنسيقات صوتية خاسرة وبدون خسارة بشرط تثبيت ffmpeg أو parec ( Linux ). كما يدعم تشغيل مجموعة متعددة الغرف ، ودقة صوتية عالية 24 بت/96 كيلو هرتز. بالإضافة إلى ذلك ، تتوفر قائمة علبة النظام.
بشكل افتراضي ، تدفق mkchromecast مع node.js (أو parec في Linux ) مع تنسيق ترميز الصوت mp3 بمعدل عينة قدره 44100Hz ومتوسط معدل البت 192k . يمكن تغيير هذه الإعدادات الافتراضية باستخدام أعلام --sample-rate و -b . من المفيد تعديل هذه المعلمات عندما لا يكون جهاز التوجيه اللاسلكي قويًا جدًا ، أو في حالة لا ترغب في تدهور جودة الصوت. لمزيد من المعلومات ، تفضل بزيارة الويكي ، والأسئلة الشائعة.
يمكنك اختياريا تثبيت ffmpeg المزيد من المعلومات هنا). يمكن لمستخدمي Linux أيضًا تكوين ALSA لالتقاط الصوت. لاحظ أنه في بعض الأحيان قد يكون التأخر بين تشغيل أغنية وسماع ما يصل إلى 8 ثوانٍ لبعض الظهر.
للحصول على فكرة عن استخدام mkchromecast من وحدة التحكم ، تحقق من هذا GIF.
يوفر MkChromecast قائمة علبة نظام تجريبي . يتطلب منك تثبيت PyQt5 . لمزيد من المعلومات ، تحقق من المتطلبات وتثبيت الأقسام.
هذا ما تبدو عليه قائمة علبة النظام:
تحقق من هذه الصور:
إذا كان لديك مكبرات صوت Sonos ، فيمكنك لعب كل ما تستمع إليه في جهاز الكمبيوتر الخاص بك مع Mkchromecast . لإضافة دعم Sonos ، قم بتثبيت وحدة soco Python:
pip3 install soco
إذا كنت ترغب في المساهمة ، فيمكنك المساعدة من خلال الإبلاغ عن المشكلات أو عن طريق إنشاء طلبات سحب مع تطوراتك/تحسيناتك. إذا كانت قضيتك هي الأخيرة ، قسم تطوير الزيارة في الويكي.
من أجل استخدام mkchromecast ، تحتاج إلى البرنامج التالي للبث باستخدام node.js :
لمزيد من التحكم ، تحتاج إلى ffmpeg كخلفية. في هذه الحالة ، قم بتثبيت ما يلي:
بالنسبة لأولئك الذين لا يحبون Pulseaudio ، من الممكن أن يلقي باستخدام ALSA. في هذه الحالة ، تكون المتطلبات:
هناك طريقتان لتثبيت هذا التطبيق:
هناك تطبيق مستقل لمستخدمي MacOS . تحتاج إلى سحبه إلى /Applications/ المجلد.
قم بتنزيل أحدث DMG هنا. تحتاج أيضًا إلى تثبيت Blackhole.
إذا كنت تستخدم Homebrew ، فمن الممكن تثبيت الثنائي على النحو التالي:
brew install --cask mkchromecast
إذا وجدت أي مشكلة في التطبيق ، فيرجى الإبلاغ عنه هنا.
يتوفر Mkchromecast في مستودعات Debian الرسمية. لتثبيته ، فقط افعل:
apt install mkchromecast
قم بتنزيل أحدث حزمة Deb هنا ، وقم بتثبيتها على النحو التالي:
sudo apt -f install ./mkchromecast_$VERSION_all.deb
حيث $VERSION = XYZ-Rev ، على سبيل المثال : 0.2.6-1 .
هذا يجب أن يعمل في دبيان غير مستقر واختبار. وسأكون أقدر اختبار أوبونتو كذلك. إذا وجدت أي مشاكل ، يرجى الإبلاغ عنها هنا.
إذا واجهت مشكلات أخرى تتعلق بالتبعيات ، فيرجى مناقشتها هنا أو فتح مشكلة جديدة.
بالإضافة إلى ذلك ، هناك حزمان للاعتماد لسحب التبعيات Pulseaudio أو ALSA:
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
أو يمكنك تنزيل أحد الإصدارات المستقرة هنا ، وفك ضغط الملف.
يتوفر Mkchromecast في AUR:
# install with aurman
aurman -S mkchromecast # install with aurutils
aur sync mkchromecast إذا حصلت على الخطأ cannot import name 'DependencyWarning' في Arch Linux ، فيرجى التحقق من المشكلة رقم 31.
لتثبيت متطلبات Python ، استخدم File requirements.txt تم شحنه في هذا المستودع:
pip install -r requirements.txt
ملاحظة : إذا فشلت هذه الخطوة ، فربما تحتاج إلى تشغيل التثبيت باستخدام sudo كما هو موضح أدناه. ومع ذلك ، قبل التثبيت باستخدام هذه الطريقة ، تحقق من عدم تمكن المستخدم العادي من تثبيت هذه المتطلبات.
sudo pip install -r requirements.txt
يمكن لمستخدمي Linux محاولة تثبيت متطلبات Python هذه باستخدام مديري الحزم القادمة مع توزيعاتهم.
مثال على التوزيع المستند إلى دبيان:
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.
إذا كان لديك Homebrew ، فيمكنك استخدام Cask المشروب على النحو التالي:
brew install --cask blackhole
بشكل افتراضي ، يتم ضبط معدل العينة في الثقب الأسود على 44100Hz . إذا كنت ترغب في التدفق بمعدلات عينة أعلى ، اتبع التعليمات الواردة في الويكي.
ملاحظة : إعادة أخذ العينات إلى معدلات العينة الأعلى ليست فكرة جيدة. لقد كانت بالفعل مشكلة في أجهزة صوتية Chromecast. انظر هذا الموضوع. لذلك ، إذا كنت ترغب في تجاوز 44100Hz ، فيجب عليك التقاط الصوت بمعدل عينة أعلى.
أسهل طريقة لتثبيت ffmpeg هي استخدام مدير الحزمة ، على سبيل المثال : Brew ، Macports أو Fink. أو في حالة Linux ، على سبيل المثال : APT أو Yum أو Pacman.
سأصف بإيجاز حالة البيرة هنا. أولاً ، ستحتاج إلى تثبيت Homebrew في جهازك:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
بمجرد أن تكون Homebrew جاهزة ، يمكنك تثبيت ffmpeg . كما هو مذكور في موقع FFMPEG ، ولكي تتمكن من استخدام جميع تنسيقات ترميز الصوت في 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 Audio Layer III (افتراضي) | تنسيق ضغط ضياع (معدل البت الافتراضي: 192 ك) |
ogg | Ogg Vorbis | تنسيق ضغط ضياع (معدل البت الافتراضي: 192 ك) |
aac | ترميز الصوت المتقدم (AAC) | تنسيق ضغط ضياع (معدل البت الافتراضي: 192 ك) |
opus | opus | تنسيق ضغط ضياع (معدل البت الافتراضي: 192 ك) |
wav | تنسيق ملف الصوت الموجي | تنسيق بدون فقدان (صوت المقر الرئيسي) |
flac | برنامج ترميز الصوت المجاني بدون فقدان | تنسيق بدون فقدان (صوت المقر الرئيسي) |
هناك حاجة إلى روابط 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 إما إلى إجراء apt-get upgrade أو تنزيل أحدث DEB هنا ، و dpkg -i mkchromecast_$VERSION_all.deb .
ادخل إلى دليل mkchromecast المستنسخ وتنفيذ:
bin/mkchromecast
سيؤدي ذلك إلى تشغيل MkChromecast باستخدام node.js (أو parec لمستخدمي Linux ) ، وسيقوم بجزء البث مع تنسيق ترميز الصوت mp3 . يعمل node.js بشكل لائق ولكن قد يميل الخادم إلى الفشل في ظل ظروف معينة. في مثل هذه الحالة ، يمكن لـ MkChromecast إعادة تشغيل عملية التدفق/الصب تلقائيًا. لذلك ، من المتوقع بعض الفواق.
ملاحظة : معظم الخطوات الموضحة هنا هي نفسها بالنسبة لمستخدمي MacOS و Linux . ومع ذلك ، إذا قمت بتشغيل الأمر أعلاه في Linux ، فإن العملية أقل تلقائيًا. في Linux ، تحتاج إلى تحديد مع pavucontrol الحوض يسمى Mkchromecast للبث إلا إذا كنت تستخدم ALSA. انظر الويكي لمزيد من المعلومات. 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
تحقق من القسم Blackhole (مستخدمي 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
وواحد آخر لتغيير معدل أخذ العينات:
mkchromecast --encoder-backend ffmpeg -c ogg -b 128 --sample-rate 48000
لإطلاقه:
bin/mkchromecast -t
أو
mkchromecast -t
يمكن لتطبيق علبة النظام تنفيذ جميع الإجراءات من الأوامر المذكورة أعلاه. للحصول على فكرة ، يرجى التحقق من فيديو YouTube هنا.
يمكنك تشغيل عناوين URL على YouTube (أو مواقع أخرى بلا رأس من سطر الأوامر:
bin/mkchromecast -y https://www.youtube.com/watch?v=NVvAJhZVBT
لاستخدام هذه الوظيفة ، تحتاج إلى تثبيت youtube-dl . في MacOS ، يمكن القيام بذلك باستخدام Homebrew: brew install youtube-dl . في Distros المستندة إلى Debian: apt-get install youtube-dl .
ملاحظة : قد تحتاج إلى إرفاق عنوان URL بين علامات الاقتباس ، ويتم دعم عناوين URL فقط عبر https .
يمكنك تشغيل أي عناوين 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 لم يتم دعمها بعد.
يمكنك التحكم في وحدة تخزين جهاز Google Cast عن طريق إطلاق MkChromecast مع الخيار --control :
bin/mkchromecast --encoder-backend ffmpeg -c ogg -b 320 --control
سيسمح لك ذلك بالضغط على مفاتيح U و D لزيادة volume up وخفض volume down على التوالي.
يحتوي علبة النظام على نافذة مع شريط تمرير وحدة تخزين للقيام volume up volume down .
يتيح لك MkChromecast أن يلقي باستخدام دقة الصوت عالية 24-bit/96kHz . هذا هو أقصى قدرة صوتية Chromecast . برامج الترميز المدعومة هي: wav و flac . على الرغم من حقيقة أن aac يمكنه استخدام معدل العينة 96000Hz ، فإن البت يتوافق مع تنسيق ضغط البيانات فقدان. لذلك ، يمكن للمجموعات التالية تحقيق هذه القدرة 24-bit/96kHz :
wav + 96000Hz معدل العينة.flac + 96000Hz معدل العينة.مراجع:
يمكنك الآن إلقاء مقاطع فيديو إلى طاقم Google الخاص بك باستخدام Mkchromecast . تعمل هذه الميزة مع كل من 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
أو عند تثبيت حزمة دبيان:
mkchromecast -h
node ، لا يمكن استخدام أي --subtitle ولا --seek .mp3 ، و aac . لن أعطي دعم wma . من الواضح أن هناك طريقة للعب wav ، و ogg التي سأحاول تنفيذها لاحقًا. parec و lame Encoder ، يمكن أن يصل التأخير بين الصوت الذي تم تشغيله والاستماع إليه إلى 8 ثوانٍ. أقترح عليك استخدام شيء مختلف عن MP3.يمكنك أيضًا التحقق من الأسئلة الشائعة لمزيد من المعلومات.