Innehållsförteckning:

Gör en Chromecast som Raspberry Pi -enhet: 7 steg
Gör en Chromecast som Raspberry Pi -enhet: 7 steg

Video: Gör en Chromecast som Raspberry Pi -enhet: 7 steg

Video: Gör en Chromecast som Raspberry Pi -enhet: 7 steg
Video: День Стройки #Лайфхак #Ким #свс Азы Новичкам база знаний #theants Underground Kingdom 2024, November
Anonim
Gör en Chromecast som Raspberry Pi -enhet
Gör en Chromecast som Raspberry Pi -enhet
Gör en Chromecast som Raspberry Pi -enhet
Gör en Chromecast som Raspberry Pi -enhet
Gör en Chromecast som Raspberry Pi -enhet
Gör en Chromecast som Raspberry Pi -enhet
Gör en Chromecast som Raspberry Pi -enhet
Gör en Chromecast som Raspberry Pi -enhet

Jag äger redan en Chromecast v2 (den runda, USB -minnet är v1 och v3 ser ut som v2 men med ett G på i och har en power brick med Ethernet -port på det) och jag älskar det, det är väldigt roligt att använda och enkel att installera, MEN …

Ja det finns ett MEN, när jag är på en plats där jag inte har tillgång till internet och inte kan använda min dataplan, kan jag inte använda den för att strömma lokala medier från min telefon eller surfplatta, även när jag inte gör det behöver inte internet alls, google i "stor visdom" av dem bestämde sig för att inte låta det starta utan internet, det är dåligt om du slutar behöva det för att strömma

Jag har en GL-MT300A mini-router, är väldigt liten och kan drivas av en telefon, ett externt batteri eller en telefonladdare, jag använder den för att koppla ihop min Chromecast med den och när jag behöver internet ansluter jag bara routern till den trådbundna nätverk eller om de bara har WiFi, stöder det att ansluta till det som klient och fungera som en router samtidigt, nu kvarstår problemet, inget internet = ingen chromecast av lokala medier för dig. Här kommer Raspberry Pi Zero W i spel (W kommer från Wireless, det har ett build it -kort, * yaay *, Bluetooth också men jag behöver det inte: P)

Steg 1: Vad du behöver och vad du får

Vad du behöver och vad du får
Vad du behöver och vad du får
Vad du behöver och vad du får
Vad du behöver och vad du får
Vad du behöver och vad du får
Vad du behöver och vad du får

Du behöver:

  • Raspberry Pi Zero W (min är i akrylfodral)
  • HDMI -kabel (en med plastlock är bra att ha)
  • Strömkälla (telefonladdare i mitt fall)
  • Mini HDMI (hane) till full HDMI (hona) adapter (levereras med PI)
  • SD -kort på 8 GB eller mer (jag använder 16 GB från Medion)
  • SD -kortläsare (jag fick min gåva med en powerbank från Hama)
  • Internetanslutning och PC för att ladda ner "Raspbian Stretch Lite"
  • Etcher Portable (sd card image writer) -> få Etcher för Windows x86 (32 -bitars) (Portable) fungerar också på x64
  • Ladda ner Putty från länken eller googla för det

Du kommer att få:

Ett castingmål för videofiler från onlinetjänster som YouTube och lokala medier (video, ljud och bilder) för Android (Raspicast), Windows och alla operativsystem som stöder en SSH -klientapp

Det kräver inte internet om media du skickar till det lagras på din enhet eller någonstans i det lokala nätverket

Du kan få en fjärrkontroll av målet som uppspelning, välja källa, spela/pausa, volym, sluta. (Hallon SSH- eller SSH -knapp, spackel)

Du får en mycket snabb starttid för enheten, för en Raspberry Pi Zero, cirka 10 sekunder

Du får en standardbakgrund och ett sätt att visa slumpmässiga bakgrundsbilder genom att trycka på en knapp som inte tar något utrymme på din enhet och förblir där tills omstart. (det kan ändras till att vara ihållande, jag visar senare hur)

Den accepterar olika typer av strömmar (som HTTP, HTTPS, RTSP) och med hjälp av en dator, bärbar dator i mitt fall, Sopcast, Acestream samt lokala medier med externa undertexter (som srt, sub)

Du kan till och med ge filer via HTTP lagrad på din dator, med hjälp av en bärbar, enkel fil, webbserver till spelaren

Det finns mer att upptäcka, lägga till eller ta bort, beroende på dina behov

Steg 2: Skaffa programvaran och verktygen för att sätta in på Sdcard

Skaffa programvaran och verktygen att lägga in på Sdcard
Skaffa programvaran och verktygen att lägga in på Sdcard
Skaffa programvaran och verktygen för att sätta in på Sdcard
Skaffa programvaran och verktygen för att sätta in på Sdcard
Skaffa programvaran och verktygen för att sätta in på Sdcard
Skaffa programvaran och verktygen för att sätta in på Sdcard

Nedladdningar:

Nu går du till https://www.raspberrypi.org/downloads/raspbian/ och laddar ner "Raspbian Stretch Lite"

Gå till https://www.balena.io/etcher/ och hämta Etcher för Windows x86 (32-bitars) (bärbar) (det finns även Linux- och mac-versioner)

Ladda ner kitt från

Nu när du har allt detta ska vi starta Etcher och sätta in kortet i kortläsaren och läsaren i datorn: P

I Etcher klickar du på välj bild och väljer den nedladdade zip-filen (för mig när jag skriver detta är "2018-11-13-raspbian-stretch-lite.zip", välj sedan kortläsaren från listan som visas och klicka minst flash, det kommer att be om tillåtelse av användarkontokontrollen (UAC), tillåta det, det måste fysiskt komma åt sd -kortet i exklusivt läge för att skriva bilden. När det är klart kopplar du bort det, det matas redan ut av Etcher och sätter tillbaka det i, det kommer att finnas en startpartition på ~ 50Mb och du kommer att uppmanas att formatera en "oformaterad partition" FORMATERA INTE DET, Windows kan inte läsa Linux -partitioner och det finns en ext4 -partition.

Du måste skapa 2 filer i startpartitionen.

en ny fil utan tillägg som heter ssh

en annan som heter wpa_supplicant.conf

Innehållet i "wpa_supplicant.conf" är följande

land = GB

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

Anslut nu din Raspberry Pi och anslut HDMI -utmatningsenhet (aka TV, projektor, etc.) och till ström.

Den sista raden före inloggningen kommer att visas en IP. (Som en tumregel är det bra att göra den adressallokeringen statisk från din router, se bilden av en Linksys -router.

Steg 3: Uppdatera och konfigurera allt

Uppdatera och ställa in allt
Uppdatera och ställa in allt

Uppdatera ditt system:

sudo apt-get uppdatering

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

När allt är klart startas det om och du kommer att ha ett kittfönster som är inaktivt, stäng det och börja om med samma data från föregående steg.

Nu ska vi installera omxplayer, inget behov av att kompilera det från källan är en del av Raspbian -arkiv.

sudo apt-get install omxplayer fonts-freefont-ttf

Jag vill ha ett sätt att ändra HDMI -porten på min TV, med hjälp av mitt hallon, som om jag vill kasta något på den och inte vill använda fjärrkontrollen för att ändra källa till den där den är ansluten. Det finns ett sätt att göra det från Pi och med hjälp av ett kommando från min valda app. Lång historia kort gör följande:

sudo apt-get install cec-utils

Nu följer den framebuffer image viewer som heter fbi (det finns en mer avancerad version som heter fim också)

sudo apt-get install fbi

Samba -support, Windows -delning för åtkomst till och ha en delad mapp.

sudo apt-get install samba samba-common-bin

cd /home /pi

sudo mkdir -m 1777/home/pi/share

Redigera samba -konfigurationsfil

sudo nano /etc/samba/smb.conf

infoga följande rader i slutet (de som börjar med # är kommentarer och kan ignoreras)

[dela med sig]

Kommentar = Pi delad mapp Sökväg =/home/pi/dela Bläddringsbar = ja Skrivbar = Ja bara gäst = nej skapa mask = 0777 katalogmask = 0777 Allmän = ja Gäst ok = ja

Slutligen, spara det; använder nano i terminal:

tryck på "Ctrl+X" för att stänga filen, sedan "Y" för att bekräfta sparandet, sedan "Enter" för att spara filen under rätt filnamn.

Ställ nu in lösenordet för samba samma som för användarens pi (standard: hallon)

sudo smbpasswd -a pi

starta om samba -tjänsten

sudo /etc/init.d/samba starta om

Nu har du grunderna, anpassning följer.

Steg 4: Anpassning

Anpassning
Anpassning

gör att stänkskärmen visas vid start istället för en svart skärm med vit text.

Ladda ner WinSCP och logga in med samma IP, användare och lösenord från SSH/Putty -inloggningen.

Gå/home/pi/och ladda upp bilden som finns i zip -filen vid det här steget efter att du packat upp. Gå sedan ut. Bilden är 1080p som upplösning.

skriv följande kommando i kitt:

nano ~/.bashrc

bläddra till sista raden med piltangenterna infoga följande rader där (de som börjar med # är kommentarer och kan ignoreras)

# fifo för kommandon över ssh till omxplayer

mkfifo/tmp/cmd # stänkskärm för att ersätta den svarta skärmen och texten sudo/usr/bin/fbi -noverbose -a -T 1 /home/pi/splashscreen.jpg

Slutligen, spara det; med nano i terminalen: tryck på "Ctrl+X" för att stänga filen, sedan "Y" för att bekräfta sparandet, sedan "Enter" för att spara filen under rätt filnamn.

Nu gör vi användarens 'pi' automatisk inloggning vid start, vi behöver detta för att visa bilden, det kan göras på ett sätt utan automatisk inloggning men det är svårare och kan bli dåligt snabbt av ett enda skrivfel.

sudo raspi-config

  1. Välj startalternativ
  2. Välj Desktop/CLI
  3. Välj Console auto-login för CLI

Nu ska vi starta om och vi är klara med pi och ska göra godsaker för att spela.

sudo starta om

Tanken med mitt projekt är att de flesta sakerna görs i SSH -klienten eftersom de kan anpassas och ändras hur det behövs.

Steg 5: Så här använder du det:

Hur man använder det
Hur man använder det
Hur man använder det
Hur man använder det
Hur man använder det
Hur man använder det
Hur man använder det
Hur man använder det

Jag kommer att visa kommandona och vad de gör och hur jag konfigurerar den extra programvaran från strömningsenheten.

Jag använder 3 Android -appar och 4 PC -appar för mina ändamål men du implementerar vad du behöver från vad jag kommer att visa dig eller du kan ha allt och till och med lägga till mer till det.

• YouTube: under Android använder Raspcast, under PC använder du en webbplats som https://www.onlinevideoconverter.com/ eller

www.youtubnow.com/ eller https://youtubemp4.to eller ännu bättre https://mpgun.com/youtube-to-mp4.html?yid=hTJAnWWK7YQ (hTJAnWWK7YQ är youtube-id) du får en direktlänk till media som kan spelas upp med följande kommando:

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

Om du lägger till < /tmp /cmd aktiveras fjärrkontroll och; eko. > /tmp /cmd börjar spela upp strömmen annars väntar det på ett kommando från fifo. -O hdmi -parametern för omxplayer kommer att matas ut till HDMI -video OCH ljud går dit, detta är viktigt för människor som använder de större varianterna av Raspberry Pi Zero W.

Nu visar jag dig hur du konfigurerar Raspicast för Android, är gratis och har inga annonser.

Installera Raspicast från Google Play Store och konfigurera det som på bilderna.

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

• Sopcast: starta Sopcast på PC välj en kanal och ge följande kommando när du ser en bild

IP 192.168.1.6 är din dators IP -adress. LAPTOP INTE DEN FRÅN PI: n, i mitt exempel har Pi 192.168.1.9 och den bärbara datorn är 192.168.1.6

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

• AcePlayer: starta den, välj en kanal och … det finns en engångsinställning du behöver ändra för att den ska fungera, gå till Verktyg -> Inställningar -> Tjocka alla, Strömutgång -> Standardströmutmatningskedja, där du matar in följande

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

Klicka på Spara. Nu kommandot som visar dig strömmen, efter att du startade den på AcePlayer ofc:

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

• Casta från en dator från en fil Du behöver Putty, Zervit, VLC installerad (inte bärbar)

Zervit får du från

Först måste du lägga zervit.exe i mappen med de mediefiler du vill skicka till din Raspberry PI, sedan köra den, det kommer att ställa några frågor. "Portnummer för att lyssna (80):" typ 80 och ange "Acceptera katalogförteckning [Y/N]:" skriv y och ange nu öppna en webbläsare och skriv in din LAN IP -adress https://192.168.1.6 du kommer att se alla mediefiler där, kopiera länken till en av dem med högerklick -> kopiera länk, sedan ssh med kitt och skriv

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

för filer med undertexter lägger du till undertexter, samma namn som videofil med tillägg srt i Windows delade mapp på hallon

RASPBERRYPI / dela

eller

192.168.1.9 / dela

där 192.168.1.9 är din hallons ip.

i din hemmapp (/home/pi)

winscp med pi: rasspberry och ladda upp ett python -skript som heter 'omxplayersub.py' med följande innehåll:

importera delprocess

import sys import urllib2 if (len (sys.argv)! = 2): skriv ut "Inget filnamn anges" quit () file = sys.argv [1] subfile = "/home/pi/share/"+ file.split ("/") [-1] underfil = underfil [: -3] + "srt" underfil = urllib2.unquote (underfil) 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)

ladda nu upp detta med Segoe UI- och FreeSans-familjeteckensnitt till din hemmapp (/home/pi) Ändra teckensnittsnamn för önskad typsnitt och lägg vid behov till-teckenstorlek 55 (standard: 55) efter --justera med önskad storlek.

och använd följande kommando för att spela:

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

Om du inte ser det på skärmen spelas det upp ett kompatibilitetsproblem, på vissa h264 -filer visas profilen av h264 -omx som -99, ja negativ 99, och den spelas inte, i det här fallet och i händelse av en fil med externa undertexter du kommer att behöva använda VLC stream välj fil/filer, välj HTTP, låt standardport, h.264/AAC (TS), håll skala till 1, Trans -kodning - Inställningar tjocka undertexter, tryck på strömningsknappen och låt den kör i några sekunder.

omxplayer -o hdmi "https://192.168.1.6:8080/"/tmp/cmd < - det kommer att börja spela

Vi gör transkodning, det blir en liten kvalitetsförlust på displayen och CPU: n kommer att fungera mer på PC men det fungerar.

CEC - Kontroller

Slå på TV: n

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

Stäng av TV: n

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

Ändra HDMI -källa

HDMI1

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

HDMI2

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

HDMI3

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

HDMI4

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

Precis som du ser den tredje byten i hexsträngen som vi ekar är numret på HDMI -kontakten som ska aktiveras.

Steg 6: Lista över kommandon som ska läggas i appar

Lista över kommandon som ska läggas in i appar
Lista över kommandon som ska läggas in i appar

Du har redan installerat Raspicast i föregående steg, nu måste du välja mellan Raspberry SSH (det är en betald) eller SSH -knappen (det är gratis och jag gillar det mer, men jag har redan köpt Raspberry SSH tidigare för att upptäcka det här).

Hallon SSH

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

Denna app, eller SSH -knapp, krävs om du behöver kasta saker från PC och behöver en fjärrkontroll från en Android -enhet, den kan användas utan den via spackel från PC.

Konfigurationen för båda är nära samma.

Knapp 1 Btn -text: Starta om

Btn Cmd:

sudo starta om

Knapp 2

Btn -text: Poweroff

Btn Cmd:

sudo poweroff

Knapp 3

Btn -text: HDMI1

Btn Cmd:

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

Knapp 4

Btn -text: HDMI2

Btn Cmd:

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

Knapp 5

Btn -text: HDMI3

Btn Cmd:

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

Knapp 6

Btn Text: Kill omxplayer

Btn Cmd:

sudo killall -s 9 omxplayer.bin

Knapp 7

Btn -text: Sopcast

Btn Cmd:

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

Knapp 8

Btn -text: AcePlayer

Btn Cmd:

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

Knapp 9

Btn -text: VLC Stream

Btn Cmd:

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

Knapp 10

Btn Text: Play/Pause

Btn Cmd:

echo -n p> /tmp /cmd

Knapp 11

Btn -text: Volym +

Btn Cmd:

echo -n +> /tmp /cmd

Knapp 12

Btn -text: Volym -

Btn Cmd:

echo -n -> /tmp /cmd

Knapp 13

Btn -text: Avsluta Omxplayer

Btn Cmd:

echo -n q> /tmp /cmd

Knapp 14

Btn Text: Random Wallpaper

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 Text: Standard Bakgrund

Btn Cmd:

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

Knapp 16 Btn Text: Bildspel Bakgrund

Btn Cmd:

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

-t 5 i 5 sekunder

Button 17 Btn Text: SUBTITLE HTTP PLAY (Redigera)

Btn Cmd:

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

När du redigerar ändrar du "https://192.168.1.6/Some%20video%20with%20subtitle.mp4" med url för filen från extern källa eller ändrar den till något liknande/home/pi/share. Undertexten måste vara i/home/pi/share, ALLTID.

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

Fungerar exakt samma som Raspberry SSH, har inga annonser, färre färger och alla knappar finns på en enda rad inte 2 men det är gratis och fungerar utmärkt.

Nu i slutet några exotiska saker, strömma det du spelar in med din telefon i realtid, det finns några sekunder av fördröjning, till din TV.

IP WEBCAMERA PRO (betald)

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

Börja strömma och använd följande kommando för att casta den till TV: n

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=sv&rdid=com.miv.rtspcamera

Gör samma sak som den betalda men gratis, inga annonser

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

Aktiv kamera - rtsp: // (enhetens IP -adress): 5554/kamera Bakre kamera - rtsp: // (enhetens IP -adress): 5554/bak Framkamera - rtsp: // (enhetens IP -adress): 5554/front

Kamerans URL -parametrar:

res Upplösning - bredd (antal) x höjd (antal)

fps Bild per sekund - fps (antal) mikrofon Aktivera/inaktivera mikrofon - på (sträng) eller av (sträng)

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

Steg 7: Några fler saker … WEB -gränssnitt

Några fler saker … WEB -gränssnitt
Några fler saker … WEB -gränssnitt

Installera det med en enda rad från git

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

Standard användargränssnitt i port 4321, det behöver ingen webbserver och fungerar allt 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

Ladda ner/Klona/Packa upp hela skriptet till en mapp du gillar. Ställ in rätt chmod för skripten med

chmod +x *.sh

Skapa en php -webbserver som lyssnar på port 4321, du kan ändra porten till vad du vill. Starta detta med samma användare som du behöver för att spela upp videoklippen. Använd inte apache eller andra server för att köra php -skriptet, det kommer förmodligen inte att fungera.

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

Öppna webbsidan med https://192.168.1.9:4321 (där 192.168.1.9 är hallon pi IP)

För att aktivera autostart vid omstart, lägg bara till följande rad i din crontab. Gör detta med samma användare som du behöver för att spela upp videorna. Ingen sudo krävs. Lägg till följande rad till crontab med crontab -e för att starta den enkla php -webbservern vid omstart.

crontab -e

lägg nu till med

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

Lägg till filerna i inställningarna, bara lokala värdade eller kartade resurser och ofc -strömmar kan läggas till. Lägg till/home/pi/dela till undertextsmappen också och vid behov aktivera fix för 2x uppspelningshastighet och ingen ljudbugg.

Rekommenderad: