최근 프로젝트를 처리 할 시간이 너무 많지 않습니다. 도움에 관심이 있으시면 #398에 대해 의견을 제시하십시오.
이 프로그램은 MacOS 오디오 또는 Linux 오디오를 Google 캐스트 장치 또는 Sonos 스피커에 캐스팅하는 프로그램입니다. 비디오 파일도 시전 할 수 있습니다.
Python3 용으로 작성되었으며 node.js , parec ( Linux ) 또는 ffmpeg 통해 스트리밍 할 수 있습니다. MKCHROMECAST는 ffmpeg 또는 parec ( LINUX )가 설치되면 손실 및 무손실 오디오 형식을 사용할 수 있습니다. 또한 멀티 룸 그룹 재생 및 24 비트/96kHz 높은 오디오 해상도를 지원합니다. 또한 시스템 트레이 메뉴를 사용할 수 있습니다.
기본적으로 MKCHROMECAST는 44100Hz 의 샘플 속도 및 192k 의 평균 비트 전송률로 mp3 오디오 코딩 형식과 함께 node.js (또는 Linux 의 parec )를 사용하여 스트림합니다. 이러한 기본값은 --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를 다운로드하십시오. 블랙 홀을 설치해야합니다.
홈 브루를 사용하는 경우 다음과 같이 바이너리를 설치할 수 있습니다.
brew install --cask mkchromecast
응용 프로그램에 문제가있는 경우 여기에서보고하십시오.
MKCHROMECAST는 공식 데비안 리포지토리에서 제공됩니다. 설치하려면 그냥하십시오.
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 Arch Linux에서 cannot import name 'DependencyWarning' 오류가 발생하면 문제 #31을 확인하십시오.
Python 요구 사항을 설치하려면 requirements.txt 파일은이 저장소에서 배송됩니다.
pip install -r requirements.txt
참고 :이 단계가 실패하면 아래와 같이 sudo 로 설치를 실행해야 할 수도 있습니다. 그러나이 메소드를 사용하기 전에 일반 사용자가 이러한 요구 사항을 설치할 수없는 이유를 확인하십시오.
sudo pip install -r requirements.txt
Linux 사용자는 배포판을 제공하는 패키지 관리자를 사용하여 이러한 파이썬 요구 사항을 설치하려고 시도 할 수 있습니다.
데비안 기반 배포판의 예 :
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
기본적으로 Blackhole의 샘플 속도는 44100Hz 로 설정됩니다. 더 높은 샘플 속도로 스트리밍하려면 위키의 지침을 따르십시오.
참고 : 더 높은 샘플 속도로 다시 샘플링하는 것은 좋은 생각이 아닙니다. 실제로 Chromecast 오디오 장치에서 문제였습니다. 이 스레드를 참조하십시오. 따라서 44100Hz 넘어서려면 더 높은 샘플 속도로 사운드를 캡처해야합니다.
ffmpeg 설치하는 가장 쉬운 방법은 패키지 관리자 ( 예 : Brew, MacPorts 또는 Fink)를 사용하는 것입니다. 또는 Linux , 예를 들어 Apt, Yum 또는 Pacman의 경우.
나는 여기에서 홈브류의 경우를 간단히 설명하겠습니다. 먼저 컴퓨터에 홈 브루를 설치해야합니다.
/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 오디오 계층 III (기본값) | 손실 압축 형식 (기본 비트 레이트 : 192k) |
ogg | OGG VORBIS | 손실 압축 형식 (기본 비트 레이트 : 192k) |
aac | 고급 오디오 코딩 (AAC) | 손실 압축 형식 (기본 비트 레이트 : 192k) |
opus | 작 | 손실 압축 형식 (기본 비트 레이트 : 192k) |
wav | 파형 오디오 파일 형식 | 무손실 형식 (HQ 사운드) |
flac | 무료 무손실 오디오 코덱 | 무손실 형식 (HQ 사운드) |
시스템 트레이 메뉴를 사용하려면 이러한 파이썬 바인딩이 필요합니다. 때로는 pip 가 PyQt5 설치할 수 있으며 pip install pyqt5 로 충분합니다.
이것이 효과가 없다면 패키지 관리자를 사용하여 설치하는 것이 좋습니다.
홈브류의 예 :
brew install pyqt5 --with-python3
apt-get install python3-pyqt5
또는 원한다면 출처에서 직접 할 수 있습니다.
mkchromecast 소스를 업데이트하려면 복제 된 디렉토리로 들어가서 :
git pull
또는 선호하는 경우 --update 인수를 mkchromecast 에 전달할 수 있습니다.
bin/mkchromecast --update
MacOS 응용 프로그램을 사용하는 경우 :
Check For Updates 하십시오./Applications/ 디렉토리에서 mkchromecast.app 을 교체하십시오. Linux 사용자는 apt-get upgrade 수행하거나 최신 DEB를 여기에서 다운로드하고 dpkg -i mkchromecast_$VERSION_all.deb 다운로드해야합니다.
복제 된 mkchromecast 디렉토리에 들어가서 실행하십시오.
bin/mkchromecast
이것은 node.js (또는 Linux 사용자를위한 parec )를 사용하여 mkchromecast를 시작하고 mp3 오디오 코딩 형식과 함께 스트리밍 부분을 수행합니다. node.js 괜찮게 작동하지만 특정 상황에서 서버가 실패 하는 경향이 있습니다. 이러한 경우 MKCHROMECAST는 스트리밍/캐스팅 프로세스를 자동으로 다시 시작할 수 있습니다. 따라서 일부 딸꾹질이 예상됩니다.
참고 : 여기에 설명 된 대부분의 단계는 MacOS 및 Linux 사용자에 대해 동일합니다. 그러나 Linux 에서 위의 명령을 시작하면 프로세스가 자동화되지 않습니다. Linux 에서는 ALSA를 사용하지 않는 한 스트림을 위해 Mkchromecast 라는 싱크대를 pavucontrol 로 선택해야합니다. 자세한 내용은 위키를 참조하십시오. tl; dr?, 아래 GIF를 확인하십시오.
참고 : 캐스트 프로세스는 Pulseaudio 싱크의 선택과 독립적입니다. 이것은 mkchromecast가 캐스트 장치에 컴퓨터를 듣도록 지시하지만 싱크를 선택할 때까지 소리가 들리지 않습니다. ALSA 사용자의 경우 적용되지 않습니다.
ffmpeg 백엔드 사용 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 로 수행 할 수 있습니다. 데비안 기반 배포판 : apt-get install youtube-dl .
참고 : 견적 표시 사이에 URL을 동봉해야 할 수도 있으며 https 통한 URL 만 지원됩니다.
명령 줄에서 모든 소스 URL을 헤드리스로 재생할 수 있습니다.
bin/mkchromecast --source-url SOURCE_URL
이 옵션은 다음에 유용합니다.
http 스트리밍 소스가 이미있는 경우 MPD를 사용하는 캐스팅.예:
bin/mkchromecast --source-url http://192.99.131.205:8000/pvfm1.ogg -c ogg --control
위에서 볼 수 있듯이 코덱은 -c 플래그로 지정되어야합니다 .
참고 : .m3u 또는 .pls 는 아직 지원되지 않았습니다.
--control 을 사용하여 MKCHROMECAST를 시작하여 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 높은 오디오 해상도를 사용하여 캐스트 할 수 있습니다. 이것은 최대 Chromecast 오디오 기능 입니다. 지원되는 코덱은 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
또는 데비안 패키지를 설치할 때 :
mkchromecast -h
node 백엔드를 사용하여 비디오를 캐스팅 할 때는 --subtitle 이나 --seek 플래그를 사용할 수 없습니다.mp3 및 aac 입니다. 나는 wma 지원하지 않을 것입니다. 분명히 wav 플레이하는 방법이 있으며, 나중에 구현하려고 노력할 ogg . parec 과 lame Encoder를 사용할 때 오디오와 청취 사이의 지연은 최대 8 초가 될 수 있습니다. MP3와 다른 것을 사용하는 것이 좋습니다.자세한 내용은 FAQ에서 확인할 수도 있습니다.