В последнее время у меня не так много времени, чтобы позаботиться о проекте. Если вы будете заинтересованы в помощи, прокомментируйте #398
Это программа для создания вашего MacOS Audio или Linux Audio на ваши устройства Google Cast или динамики Sonos. Он также может разыграть видеофайлы.
Он записан для Python3, и он может транслировать через node.js , parec ( linux ) или ffmpeg . MKCHROMECAST способен использовать аудио -форматы без потерь при условии, что установлены ffmpeg или parec ( Linux ). Он также поддерживает воспроизведение групповых групп и 24-битное/96 кГц высокого разрешения аудио. Кроме того, доступно меню системного лотка.
По умолчанию потоки MKCHROMECAST с node.js (или parec in Linux ) вместе с форматом кодирования mp3 с частотой дискретизации 44100Hz и средним битрейтом 192k . Эти значения по умолчанию могут быть изменены с использованием флагов --sample-rate и -b . Полезно изменить эти параметры, когда ваш беспроводной маршрутизатор не очень мощный, или в случае, если вы не хотите ухудшать качество звука. Для получения дополнительной информации посетите вики и FAQ.
По желанию вы можете установить 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 здесь. Вам также нужно установить черную дыру.
Если вы используете 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 .
Это должно работать в Debian нестабильно и тестирование. Я был бы признателен и тестеров Ubuntu. Если вы найдете какие -либо проблемы, сообщите об этом здесь.
Если вы испытываете другие проблемы, связанные с зависимостями, пожалуйста, обсудите их здесь или откройте новую проблему.
Кроме того, существует два пакета зависимостей для тяги 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 используйте файл requirements.txt , поставляемый в этом репозитории:
pip install -r requirements.txt
ПРИМЕЧАНИЕ . Если этот шаг не удастся, возможно, вам нужно запустить установку с sudo как показано ниже. Однако перед установкой, используя этот метод, убедитесь, почему обычный пользователь не может установить эти требования.
sudo pip install -r requirements.txt
Пользователи Linux могут попытаться установить эти требования к Python, используя менеджеры пакетов с их дистрибутивами.
Пример для Debian Distros:
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 . Если вы хотите транслировать с более высокими показателями дискретизации, следуйте инструкциям в вики.
Примечание . Переплата до более высоких показателей дискретизации не является хорошей идеей. Это было действительно проблемой в аудиоустройствах 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 (по умолчанию) | Формат сжатия потеря (битрейт по умолчанию: 192K) |
ogg | Огг Ворбис | Формат сжатия потеря (битрейт по умолчанию: 192K) |
aac | Усовершенствованное звуковое кодирование (AAC) | Формат сжатия потеря (битрейт по умолчанию: 192K) |
opus | Опус | Формат сжатия потеря (битрейт по умолчанию: 192K) |
wav | Аудио -файл формы сигнала | Формат без потерь (HQ Sound) |
flac | Бесплатный аудиокодек без потерь | Формат без потерь (HQ Sound) |
Эти привязки 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 здесь.
Вы можете играть на YouTube URL -адреса (или другие сайты без заповедников из командной строки:
bin/mkchromecast -y https://www.youtube.com/watch?v=NVvAJhZVBT
Чтобы использовать эту функцию, вам нужно установить youtube-dl . В MacOS это можно сделать с HomeBrew: brew install youtube-dl . В Debian Distros: 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 высокое разрешение аудио. Это максимальная способность аудио -хромаста . Поддерживаемые кодеки: wav и flac . Несмотря на то, что aac может использовать распределенную скорость 96000Hz , битрейт соответствует частоту сжатия данных. Следовательно, следующие комбинации могут достичь этой 24-bit/96kHz возможности:
wav + 96000Hz Гц.flac + 96000Hz . Скорость дискретизации.Ссылки:
Теперь вы можете разыграть видео в свой актерский состав Google, используя Mkchromecast . Эта функция работает как с Backends 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 ENCODER задержка между воспроизводным и слушанием звука может составлять до 8 секунд. Я предлагаю вам использовать что -то другое, чем mp3.Вы также можете проверить FAQ для получения дополнительной информации.