Innholdsfortegnelse:

Lag en Chromecast som Raspberry Pi -enhet: 7 trinn
Lag en Chromecast som Raspberry Pi -enhet: 7 trinn

Video: Lag en Chromecast som Raspberry Pi -enhet: 7 trinn

Video: Lag en Chromecast som Raspberry Pi -enhet: 7 trinn
Video: Broke 90 in Smart Tv 2024, Juli
Anonim
Lag en Chromecast som Raspberry Pi -enhet
Lag en Chromecast som Raspberry Pi -enhet
Lag en Chromecast som Raspberry Pi -enhet
Lag en Chromecast som Raspberry Pi -enhet
Lag en Chromecast som Raspberry Pi -enhet
Lag en Chromecast som Raspberry Pi -enhet
Lag en Chromecast som Raspberry Pi -enhet
Lag en Chromecast som Raspberry Pi -enhet

Jeg eier allerede en Chromecast v2 (den runde, USB -pinnen er v1 og v3 ser ut som v2, men med G på i og har en power brick med Ethernet -port på den) og jeg elsker den, det er veldig morsomt å bruke og enkel å sette opp, MEN …

Ja, det er et MEN, når jeg er på et sted hvor jeg ikke har internettilgang og ikke kan bruke dataplanen min, kan jeg ikke bruke den til å streame lokale medier fra telefonen eller nettbrettet, selv når jeg ikke gjør det trenger ikke internett i det hele tatt, google i den "store visdommen" til dem bestemte seg for ikke å la det starte opp uten internett, det er ille hvis du ender opp med å trenge det for å streame

Jeg har en GL-MT300A mini-ruter, er veldig veldig liten og kan drives av en telefon, eksternt batteri eller telefonlader, jeg bruker den til å ha min Chromecast sammenkoblet med den, og når jeg trenger internett, kobler jeg bare ruteren til den kablede nettverk, eller hvis de bare har WiFi, støtter det å koble til det som klient og fungere som en ruter samtidig, nå fortsetter problemet fortsatt, ingen internett = ingen chromecast av lokale medier for deg. Her spiller Raspberry Pi Zero W (W kommer fra Wireless, den har et build it -kort, * yaay *, Bluetooth også, men jeg trenger det ikke: P)

Trinn 1: Hva du trenger og hva du får

Hva du trenger og hva du får
Hva du trenger og hva du får
Hva du trenger og hva du får
Hva du trenger og hva du får
Hva du trenger og hva du får
Hva du trenger og hva du får

Du trenger:

  • Raspberry Pi Zero W (my is in acryl case)
  • HDMI -kabel (en med plasthetter er hyggelig å ha)
  • Strømkilde (telefonlader i mitt tilfelle)
  • Mini HDMI (hann) til full HDMI (hunn) adapter (leveres med PI)
  • SD -kort på 8 GB eller mer (jeg bruker 16 GB fra Medion)
  • SD -kortleser (jeg fikk min gave som powerbank fra Hama)
  • Internett -tilkobling og PC for å laste ned "Raspbian Stretch Lite"
  • Etcher Portable (sd card image writer) -> få Etcher for Windows x86 (32 -bit) (Portable) vil også fungere på x64
  • Last ned Putty fra koblingen eller google for det

Du vil få:

Et casting -mål for videofiler fra online -tjenester som YouTube og lokale medier (video, lyd og bilder) for Android (Raspicast), windows og ethvert operativsystem som støtter en SSH -klientapp

Det krever ikke internett hvis mediet du sender til det er lagret på enheten din eller et sted i det lokale nettverket

Du kan få en fjernkontroll av målet som avspilling, velge kilde, spille/pause, volum, avslutte. (Bringebær SSH- eller SSH -knapp, kitt)

Du får en veldig rask oppstartstid for enheten, for en Raspberry Pi Zero, rundt 10 sekunder

Du får et standardbakgrunn og en måte å vise tilfeldige bakgrunnsbilder ved å trykke på en knapp som ikke tar plass på enheten din og forbli der til den starter på nytt. (den kan endres til å være vedvarende, jeg viser senere hvordan)

Den godtar forskjellige typer strømmer (som HTTP, HTTPS, RTSP) og ved hjelp av en datamaskin, bærbar datamaskin i mitt tilfelle, Sopcast, Acestream samt lokale medier med eksterne undertekster (som srt, sub)

Du kan til og med gi filer over HTTP som er lagret på datamaskinen din, ved hjelp av en bærbar, enkel fil, webserver til spilleren

Det er mer å oppdage, legge til eller fjerne, avhengig av dine behov

Trinn 2: Få programvaren og verktøyene for å sette inn på Sdcard

Få programvaren og verktøyene for å sette inn på Sdcard
Få programvaren og verktøyene for å sette inn på Sdcard
Få programvaren og verktøyene for å sette inn på Sdcard
Få programvaren og verktøyene for å sette inn på Sdcard
Få programvaren og verktøyene for å sette inn på Sdcard
Få programvaren og verktøyene for å sette inn på Sdcard

Nedlastinger:

Nå går du til https://www.raspberrypi.org/downloads/raspbian/ og laster ned "Raspbian Stretch Lite"

Gå til https://www.balena.io/etcher/ og få Etcher for Windows x86 (32-biters) (bærbar) (det er også Linux- og mac-versjoner)

Last ned kitt fra

Nå som du har alt dette, skal vi starte Etcher og sette kortet inn i kortleseren og leseren i datamaskinen: P

I Etcher klikker du på velg bilde og velger den nedlastede zip-filen (for meg på det tidspunktet jeg skriver dette er "2018-11-13-raspbian-stretch-lite.zip", velg deretter kortleseren fra listen som vises, og klikk i det minste blits, vil den be om tillatelse fra brukerkontokontrollen (UAC), tillate det, den må fysisk få tilgang til sd -kortet i eksklusiv modus for å skrive bildet. Når du er ferdig, koble den fra, blir den allerede kastet ut av Etcher, og sett den inn igjen, vil det være en oppstartspartisjon på ~ 50Mb, og du blir bedt om å formatere en "uformatert partisjon" IKKE FORMAT DET, Windows kan ikke lese linux -partisjoner og det er en ext4 -partisjon.

Du må lage 2 filer i oppstartspartisjonen.

en ny fil uten utvidelse kalt ssh

en annen som heter wpa_supplicant.conf

Innholdet i "wpa_supplicant.conf" er som følger

land = GB

ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 nettverk = {ssid = "YOUR_WIFI_SSID" psk = "YOUR_SUPER_SECRET_PASSWORD"}

Koble den til Raspberry Pi og koble til HDMI -utgangsenhet (aka TV, projektor, osv.) Og til strøm.

Den siste linjen før pålogging vil det bli vist en IP. (Som en tommelfingerregel er det godt å gjøre adressetildelingen statisk fra ruteren din, se bildet av en Linksys -ruter.

Trinn 3: Oppdatere og sette opp alt

Oppdatere og sette opp alt
Oppdatere og sette opp alt

Oppdater systemet ditt:

sudo apt-get oppdatering

sudo apt-get upgrade sudo apt-get update sudo rpi-oppdatering

Når alt er gjort, starter det på nytt, og du får et kittvindu som er inaktivt, lukker det og starter igjen med samme data fra forrige trinn.

Nå skal vi installere omxplayer, ingen grunn til å kompilere det fra kilden er en del av Raspbian sine lagre.

sudo apt-get install omxplayer fonts-freefont-ttf

Jeg vil ha en måte å endre HDMI -porten på TVen min, ved hjelp av bringebæret mitt, som om jeg vil kaste noe til det og ikke vil bruke fjernkontrollen til å endre kilde til den hvor den er tilkoblet. Det er en måte å gjøre det fra Pi og ved hjelp av en kommando fra appen min. Kort historie gjør følgende:

sudo apt-get install cec-utils

Nå følger det framebuffer image viewer kalt fbi (det er en mer avansert versjon som heter fim også)

sudo apt-get install fbi

Samba -støtte, Windows -deling for å få tilgang til og ha en delt mappe.

sudo apt-get install samba samba-common-bin

cd /home /pi

sudo mkdir -m 1777/home/pi/share

Rediger samba -konfigurasjonsfil

sudo nano /etc/samba/smb.conf

sett inn følgende linjer på slutten (de som begynner med # er kommentarer og kan ignoreres)

[dele]

Kommentar = Pi delt mappe Sti =/hjem/pi/del Kan leses = ja Skrivbart = Bare gjest = ingen opprett maske = 0777 katalogmaske = 0777 Offentlig = ja Gjest ok = ja

Til slutt, lagre det; bruker nano i terminal:

Trykk "Ctrl+X" for å lukke filen, deretter "Y" for å bekrefte lagring, deretter "Enter" for å lagre filen under det riktige filnavnet.

Sett nå passordet for samba det samme som for bruker -pi (standard: bringebær)

sudo smbpasswd -a pi

start samba -tjenesten på nytt

sudo /etc/init.d/samba start på nytt

Nå har du det grunnleggende, tilpasning følger.

Trinn 4: Tilpasning

Tilpasning
Tilpasning

få sprutskjermen til å vises ved oppstart i stedet for en svart skjerm med hvit tekst.

Last ned WinSCP og logg inn med samme IP, bruker og passord fra SSH/Putty -påloggingen.

Gå/home/pi/og last opp bildet i zip -filen på dette trinnet, etter at du har pakket den ut. Gå deretter ut. Bildet er 1080p som oppløsning.

skriv inn følgende kommando i kitt:

nano ~/.bashrc

bla til siste linje med piltastene. Sett inn følgende linjer der (de som begynner med # er kommentarer og kan ignoreres)

# fifo for kommandoer over ssh til omxplayer

mkfifo/tmp/cmd # sprutskjerm for å erstatte den svarte skjermen og teksten sudo/usr/bin/fbi -noverbose -a -T 1 /home/pi/splashscreen.jpg

Til slutt, lagre det; ved bruk av nano i terminal: trykk “Ctrl+X” for å lukke filen, deretter “Y” for å bekrefte lagring, deretter “Enter” for å lagre filen under det riktige filnavnet.

Nå gjør vi brukeren 'pi' automatisk pålogging ved oppstart, vi trenger dette for å vise bildet, det kan gjøres på en måte uten automatisk pålogging, men det er vanskeligere og kan bli ille fort av en enkelt skrivefeil.

sudo raspi-config

  1. Velg oppstartsalternativ
  2. Velg Desktop/CLI
  3. Velg Console auto-login for CLI

Nå skal vi starte på nytt, og vi er ferdige med pi og skal lage godbitene for å spille.

sudo omstart

Ideen med prosjektet mitt er at de fleste tingene gjøres i SSH -klienten, ettersom det kan tilpasses og endres hvordan det trengs.

Trinn 5: Slik bruker du det:

Hvordan bruke det
Hvordan bruke det
Hvordan bruke det
Hvordan bruke det
Hvordan bruke det
Hvordan bruke det
Hvordan bruke det
Hvordan bruke det

Jeg vil vise kommandoene og hva de gjør og hvordan jeg konfigurerer tilleggsprogramvaren fra strømmenheten.

Jeg bruker 3 Android -apper og 4 PC -apper til mine formål, men du implementerer det du trenger fra det jeg vil vise deg, eller du kan ha alt og til og med legge til mer.

• YouTube: under Android bruk Raspcast, under PC bruk et nettsted som https://www.onlinevideoconverter.com/ eller

www.youtubnow.com/ eller https://youtubemp4.to eller enda bedre https://mpgun.com/youtube-to-mp4.html?yid=hTJAnWWK7YQ (hTJAnWWK7YQ er youtube id) du får en direkte lenke til media som kan spilles av følgende kommando:

omxplayer -o hdmi "https://sv89.onlinevideoconverter.com/download?file=f5a0d3c2e4d3g6h7"/tmp/cmd

Hvis du legger til < /tmp /cmd, aktiveres fjernkontroll og; ekko. > /tmp /cmd begynner å spille strømmen, ellers venter det på en kommando fra fifoen. -O hdmi -parameteren til omxplayer sendes til HDMI -video OG lyden går dit, dette er viktig for folk som bruker de større variantene av Raspberry Pi Zero W.

Nå viser jeg deg hvordan du konfigurerer Raspicast for android, er gratis og har ingen annonser.

Installer Raspicast fra Google Play Store, og konfigurer det som på bildene.

play.google.com/store/apps/details?id=at.huber.raspicast

• Sopcast: start Sopcast på PC, velg en kanal, og gi følgende kommando når du ser et bilde

IP 192.168.1.6 er IP -adressen til din PC. BÆRBARE IKKE EN FRA PI, i mitt eksempel har Pi 192.168.1.9 og den bærbare datamaskinen er 192.168.1.6

omxplayer -o hdmi "192.168.1.6:8902" /tmp /cmd

• AcePlayer: start den, velg en kanal og … det er en gangs innstillinger du må endre for å få den til å fungere, gå til Verktøy -> Innstillinger -> Tykke alle, Strømutgang -> Standard strømutgangskjede, der du legger inn følgende

#duplicate {dst = "http {mux = ts, dst =: 8902/tv.asf}", dst = display}

Klikk på Lagre. Nå kommandoen som vil vise deg strømmen, etter at du startet den på AcePlayer ofc:

omxplayer -o hdmi "https://192.168.1.6:8902/tv.asf"/tmp/cmd

• Casting fra en PC til en fil Du trenger Putty, Zervit, VLC installert (ikke bærbar)

Zervit får du fra

Først må du sette zervit.exe i mappen med mediefilene du vil sende til Raspberry PI, og deretter kjøre den, vil den stille noen spørsmål. "Portnummer for å lytte (80):" skriv 80 og skriv inn "Godta katalogoppføring [Y/N]:" skriv y og skriv inn nå åpne en nettleser og skriv inn din LAN IP -adresse https://192.168.1.6 du kommer til å se alle mediefilene der, kopier lenken til en av dem med høyreklikk -> kopier lenke, deretter ssh med kitt og skriv

omxplayer -o hdmi "https://192.168.1.6/Movie.mp4"/tmp/cmd < - eller hva mediefilen din heter

for filer med undertekster, legg undertekstene, samme navn som videofil med filtypen srt i den delte mappen til bringebæret i Windows

RASPBERRYPI / share

eller

192.168.1.9 / share

hvor 192.168.1.9 er IP -en til bringebæret ditt.

i hjemmemappen (/home/pi)

winscp med pi: rasspberry og last opp et python -skript kalt 'omxplayersub.py' med følgende innhold:

importere delprosessen

import sys import urllib2 if (len (sys.argv)! = 2): skriv ut "Ingen filnavn spesifisert" quit () file = sys.argv [1] subfile = "/home/pi/share/"+ file.split ("/") [-1] subfile = subfile [: -3] + "srt" subfile = urllib2.unquote (subfile) subprocess. Popen ('omxplayer -o hdmi -r --font "/home/pi/Segoe UI, Medium.ttf "--italic-font"/home/pi/Segoe UI, Italic.ttf "-align center ' +'" ' +file +' "' +'-subtitles ' +'" ' + underfil +'"', shell = True)

last nå opp dette med Segoe UI- og FreeSans-familiefonter til hjemmemappen (/home/pi) Endre skriftnavnene for ønsket skrifttype og legg til-fontstørrelse 55 (standard: 55) etter --align om nødvendig med ønsket størrelse.

og bruk følgende kommando for å spille:

python omxplayersub.py "https://192.168.1.6/Defiance%20S01E02.mp4" </tmp/cmd <- eller hva mediefilen din heter

Hvis du ikke ser det på skjermen som spiller, er det et kompatibilitetsproblem, på noen h264 -filer vises profilen av h264 -omx som -99, ja negativ 99, og den spilles ikke av, i dette tilfellet og i tilfelle av en fil med eksterne undertekster du trenger for å bruke VLC stream velg fil/filer, velg HTTP, la standardport, h.264/AAC (TS), hold skala til 1, Trans -koding - Innstillinger tykke undertekster, trykk på strømknappen og la det går i noen sekunder.

omxplayer -o hdmi "https://192.168.1.6:8080/"/tmp/cmd < - det begynner å spille

Vi gjør transkoding, det blir et lite kvalitetstap på skjermen, og CPU-en kommer til å fungere mer på PC, men det fungerer.

CEC - Kontroller

Slå på TVen

ekko på 0 | cec -client -s -d 1

Slå av TV -en

ekko standby 0 | cec -client -s -d 1

Endre HDMI -kilde

HDMI1

ekko "tx 4F: 82: 10: 00" | cec -client -s -d 1

HDMI2

ekko "tx 4F: 82: 20: 00" | cec -client -s -d 1

HDMI3

ekko "tx 4F: 82: 30: 00" | cec -client -s -d 1

HDMI4

ekko "tx 4F: 82: 40: 00" | cec -client -s -d 1

Som du ser den tredje byten i hex -strengen vi ekko er nummeret på HDMI -kontakten som skal settes aktiv.

Trinn 6: Liste over kommandoer som skal settes inn i apper

Liste over kommandoer som skal settes inn i apper
Liste over kommandoer som skal settes inn i apper

Du har allerede installert Raspicast i forrige trinn, nå må du velge mellom Raspberry SSH (den er betalt) eller SSH -knappen (den er gratis og jeg liker den mer, men jeg har allerede kjøpt Raspberry SSH før for å oppdage denne).

Bringebær SSH

play.google.com/store/apps/details?id=uk.co.knowles_online.raspberryssh

Denne appen, eller SSH -knappen, er nødvendig hvis du trenger å kaste ting fra PC og trenger en fjernkontroll fra en Android -enhet, den kan brukes uten den gjennom kitt fra PC.

Konfigurasjonen for begge er i nærheten av det samme.

Knapp 1 Btn -tekst: Start på nytt

Btn Cmd:

sudo omstart

Knapp 2

Btn -tekst: Poweroff

Btn Cmd:

sudo poweroff

Knapp 3

Btn -tekst: HDMI1

Btn Cmd:

ekko "tx 4F: 82: 10: 00" | cec -client -s -d 1

Knapp 4

Btn -tekst: HDMI2

Btn Cmd:

ekko "tx 4F: 82: 20: 00" | cec -client -s -d 1

Knapp 5

Btn -tekst: HDMI3

Btn Cmd:

ekko "tx 4F: 82: 30: 00" | cec -client -s -d 1

Knapp 6

Btn -tekst: Drep omxplayer

Btn Cmd:

sudo killall -s 9 omxplayer.bin

Knapp 7

Btn -tekst: Sopcast

Btn Cmd:

omxplayer -o hdmi "https://192.168.1.6:8902"/tmp/cmd

Knapp 8

Btn -tekst: AcePlayer

Btn Cmd:

omxplayer -o hdmi "https://192.168.1.6:8902/tv.asf"/tmp/cmd

Knapp 9

Btn -tekst: VLC Stream

Btn Cmd:

omxplayer -o hdmi "https://192.168.1.6:8080/"/tmp/cmd

Knapp 10

Btn -tekst: Spill/Pause

Btn Cmd:

ekko -n p> /tmp /cmd

Knapp 11

Btn -tekst: Volum +

Btn Cmd:

echo -n +> /tmp /cmd

Knapp 12

Btn -tekst: Volum -

Btn Cmd:

echo -n -> /tmp /cmd

Knapp 13

Btn -tekst: Avslutt Omxplayer

Btn Cmd:

ekko -n q> /tmp /cmd

Knapp 14

Btn -tekst: Tilfeldig bakgrunnsbilde

Btn Cmd:

wget -O DELME.jpg https://source.unsplash.com/random/1920x1080 &>/dev/null; sudo killall fbi &> /dev /null; sudo fbi -noverbose -a -T 1 DELME.jpg &> /dev /null; sleep 1; rm DELME.jpg

Knapp 15

Btn -tekst: Standard bakgrunnsbilde

Btn Cmd:

sudo killall fbi &> /dev /null; sudo fbi -noverbose -a -T 1 splashscreen-j.webp

Knapp 16 Btn -tekst: Bakgrunn for lysbildefremvisning

Btn Cmd:

cd/home/pi/lysbildefremvisning/; sudo killall fbi &> /dev /null; sudo fbi -noverbose -a -T 1 -t 5 *-j.webp

-t 5 i 5 sekunder

Knapp 17 Btn -tekst: SUBTITLE HTTP PLAY (Rediger)

Btn Cmd:

python omxplayersub.py "https://192.168.1.6/Some%20video%20with%20subtitle.mp4" </tmp/cmd

Når du redigerer endrer du "https://192.168.1.6/Some%20video%20with%20subtitle.mp4" med url for filen fra ekstern kilde eller endrer den til noe som/home/pi/share. Undertittel må være i/home/pi/share, ALLTID.

Freeware -alternativ til Raspberry SSHttps: //play.google.com/store/apps/details? Id = com.pd7l.sshbutton & hl = no_US

Fungerer nøyaktig det samme som Raspberry SSH, har ingen annonser, færre farger og alle knappene er på en enkelt rad, ikke 2, men den er gratis og fungerer utmerket.

Nå på slutten noen eksotiske ting, strøm det du tar opp med telefonen i sanntid, det er noen sekunder forsinkelse, til TV -en din.

IP WEBCAMERA PRO (betalt)

play.google.com/store/apps/details?id=com.pas.webcam.pro

Start streaming og bruk følgende kommando for å caste den til TV

omxplayer -o hdmi rtsp: //192.168.1.8: 8080/h264_ulaw.sdp

RTSP kameraserver (gratis)

play.google.com/store/apps/details?id=com.miv.rtspcamera&hl=no&rdid=com.miv.rtspcamera

Gjør det samme som den betalte, men gratis, ingen annonser

omxplayer -o hdmi "rtsp: //192.168.1.8: 5554/kamera"

Aktivt kamera - rtsp: // (enhetens IP -adresse): 5554/kamera Bakkamera - rtsp: // (enhetens IP -adresse): 5554/bak Frontkamera - rtsp: // (enhetens IP -adresse): 5554/front

Kamera URL -parametere:

oppløsning - bredde (antall) x høyde (tall)

fps Bilde per sekund - fps (nummer) mikrofon Aktiver/deaktiver mikrofon - på (streng) eller av (streng)

Eksempel: rtsp: // (enhetens IP -adresse): 5554/back? Res = 640x480 & fps = 10 & mic = on

Trinn 7: Noen flere ting … WEB -grensesnitt

Noen flere ting … WEB -grensesnitt
Noen flere ting … WEB -grensesnitt

Installer den med en enkelt linje fra git

wget https://raw.githubusercontent.com/brainfoolong/omxwebgui-v2/master/install.sh && clear && sh install.sh

Standard brukergrensesnitt på port 4321, det trenger ingen webserver og fungerer alt under php

Krav:

sudo apt-get install php-cli

sudo apt-get install php-mbstring sudo apt-get install php5-cli sudo apt-get install php5-mbstring

Last ned/klon/pakk ut hele skriptet til en mappe du liker. Angi riktig chmod for skriptene med

chmod +x *.sh

Opprett en php webserver som lytter på port 4321, du kan endre porten til hva du vil. Start denne med den samme brukeren som du trenger for å spille av videoene. Ikke bruk apache eller andre servere for å kjøre php -skriptet, det vil sannsynligvis ikke fungere.

php -S 0.0.0.0:4321 -t/home/pi/omxwebgui>/dev/null 2> & 1 &

Åpne nettsiden med https://192.168.1.9:4321 (hvor 192.168.1.9 er bringebær pi IP)

For å aktivere autostart ved omstart, legg bare til følgende linje i crontab. Gjør dette med den samme brukeren som du trenger for å spille av videoene. Ingen sudo kreves. Legg til følgende linje i crontab med crontab -e for å starte den enkle php -webserveren ved omstart.

crontab -e

legg nå til med

@reboot php -S 0.0.0.0:4321 -t omxwebgui> /dev /null 2> & 1 &

Legg til filene i innstillingene, bare lokale hostede eller kartlagte aksjer og ofc -strømmer kan legges til. Add/home/pi/share til undertekstmappen også, og om nødvendig aktiver fix for 2x avspillingshastighet og ingen lydfeil.

Anbefalt: