Das hört sich doch mal vielversprechend an. Werde ich mal testen.
Danke
Posts by vectra130
-
-
Hallo Zusammen.
Ich hab mehrere RasPis auf denen VDR und Kodi läuft.
Zur Steuerung von Kodi nutze ich gerne die IOS App. Die klappt natürlich nur wenn Kodi bereits läuft. Da die App einen Button für WOL hat dachte ich mir es gibt vielleicht ne Möglichkeit dieses Signal auf dem Raspi abzufangen und damit Kodi zu starten.Ist das generell möglich, oder endet dieses Signal an der Netzwerkkarte?
Falls doch möglich, wäre es schön wenn ich das in c++ abfangen könnte.
Ansonsten würde ich halt ein Skript laufen lassen was das erledigt.Mein System ist Debian.
-
-
-
Ich nutze bereits seit Jahren diese von Hauppauge https://www.nickles.de/user/im…899cf0bbbe5268554a411.jpg
Finde die von der Tastenbelegung einfach genial. Bekommt man immer mal wieder für paar Euros beim OnlineBietsHaus
-
Hi.
Verstehe ich das in der Doku richtig, ich würde dann in meinem VIDEODIR zwei Ordner anlegen:local
serverIn den "server" Ordner würde ich das nfs Verzeichnis mounten.
Dann würde der VDR in "local" aufholen, aber alle Aufnahmen aus "local" und "server" so anzeigen als wären sie im selben Verzeichnis? -
Hi.
Darf ich mal fragen warum du nicht streamdev-Client nutzt anstatt iptv? -
OT an:
Dir will ja auch keiner verbieten hier zu sagen was du denkst
Manchmal ist es aber besser mal ne Nacht drüber zu schlafen und sich die "Story" dann nochmal durch zu lesen.Dann sieht man die Dinge oft ganz anders. Glaub mir, ich spreche da aus Erfahrung.
: OT ausIch denke jetzt sollte es hier wieder ums Thema gehen. Wir sind ja alle Erwachsen
-
-
Hi 3PO
Erst mal Danke, cooler Link.
Aber das beantwortet nicht so ganz meine Frage. Beim "Branching" steht das was ich vor habe, aber da steht nicht ob ich dann im "Master" Zweig meine Änderungen rückgängig machen kann ohne mir was zu zerschießen---KLICK---
Ok, beim schreiben des oberen Textes habe ich eingesehen das meine Bedenken wohl unbegründet sind. Wenn ich so genau drüber nachdenke handelt es sich nach dem Branchen ja um zwei voneinander unabhängigen Zweigen. Somit kann ich dann wohl mit dem Master Zweig machen was ich will ohne das der zweite Zweig davon betroffen wird.
Dann nochmals danke 3PO für den Denkanstoß -
Moin Zusammen.
Bevor ich mir jetzt alles zerschieße frage ich lieber vorher.
Ich habe in meinem Git Projekt viele Änderungen vorgenommen. Jetzt würde ich gerne diese Änderungen mitin einen neuen Branch schieben und im Master dann die Änderungen
zurück setzen.
Kann ich das ohne Gefahr machen oder zerschieße ich mir so alles?
Danke -
Danke euch für die Infos.
Das heißt ja schonmal das ich mich nach ATV2 und ATV3 umsehen kann.
Damit habt ihr mir schonmal sehr geholfen. -
Moin Zusammen.
Da es seit IOS10 ja nicht mehr funktioniert das iPhone per AirPlay mit Kodi zu koppeln, und das wohl auch nie mehr funktionieren wird, überlegen wir uns ein AppleTV anzuschaffen.
Jetzt gibt es da ja mittlerweile vier Versionen die Preislich sehr weit auseinander liegen.
Was wir wollen ist
- iTunes Filme leihen und wiedergeben
- Fotos vom iPhone auf dem Fernseher wiedergeben
- ATV per iPhone bedienen
- ggf. Musik vom iPhone abspielenHat jemand Erfahrung ob dafür eine der älteren ATV's ausreicht, oder ist es nötig sich die aktuelle Version zu besorgen?
Die Bedienung sollte natürlich auch relativ flott sein. Ich hasse es wenn ich nach dem Tastendruck ne Sekunde warten muss bis sich was bewegt. -
Hatte tatsächlich nur die CODE tags vergessen.
Hab es mal angepasst. -
louis
Jetzt seh ich erst was du mit "beschissen formattierten Code" meinst.
Tja. Auch Copy&Paste muss halt gelernt sein
Ist mir garnicht aufgefallen. -
Ok. Das sind doch schonmal Ansätze.
Dann werde ich mal sehen was ich damit anfangen kann.Danke
-
Hi Spezialisten.
Ich brauche mal wieder Hilfe. Habe einen C-Schnippsel im Netz gefunden und für mich angepasst um PNG Dateien auf dem Framebuffer auszugeben.
Leider wird der Speicher im nachhinein nicht mehr freigegeben, so das nach einigen Grafiken der Speicher irgendwann mal mau wirdLeider steige ich da mit meinen Kenntnissen nicht so ganz dahinter welche Variable separat geleert werden muss.
Vielleicht kann mir da jemand mit mehr Ahnung nen Tipp geben.Hier der Code:
[spoiler]C
Display More#include <stdio.h> #include <stdlib.h> #include <string.h> #include <getopt.h> #include <stdint.h> #include <png.h> #include <sys/types.h> #include <fcntl.h> /************ Function implementation ********************/ int png2fb(const char *inputFile, void *fbmem, unsigned int fb_width, unsigned int fb_height, unsigned int fb_depth) { static unsigned int color; FILE*fp; uint8_t header[8]; int is_png; png_structp png_ptr; png_infop info_ptr; png_uint_32 iwidth, iheight; png_bytepp row_pointers; int bit_depth, color_type; int i,ii,j; uint16_t bg; uint16_t**buf; int kh,kw; uint32_t red,green,blue; buf=(uint16_t**)malloc(fb_height*sizeof(uint16_t*)); if(!buf) { perror("Memory"); return 0; } // open png file fp=fopen(inputFile, "r"); if(!fp) { fclose(fp); perror("Source PNG:"); return 0; } // header lesen fread(header, 1, 8, fp); is_png=!png_sig_cmp(header, 0, 8); if (!is_png) { // fprintf(stderr,"Invalid PNG\n"); fclose(fp); return 0; } png_ptr=png_create_read_struct(PNG_LIBPNG_VER_STRING,(png_voidp)NULL,NULL,NULL); if (!png_ptr) { // fprintf(stderr,"Error creating png read struct"); fclose(fp); return 0; } info_ptr=png_create_info_struct(png_ptr); if (!info_ptr) { png_destroy_read_struct(&png_ptr,(png_infopp)NULL, (png_infopp)NULL); // fprintf(stderr,"Error creating png info struct"); fclose(fp); return 0; } if (setjmp(png_jmpbuf(png_ptr))) { // fprintf(stderr,"libpng setjmp error"); png_destroy_read_struct(&png_ptr, &info_ptr,NULL); fclose(fp); return 0; } png_init_io(png_ptr, fp); png_set_sig_bytes(png_ptr, 8); png_read_info (png_ptr, info_ptr); /* read all PNG info up to image data */ png_get_IHDR (png_ptr, info_ptr, &iwidth, &iheight, &bit_depth, &color_type, NULL, NULL, NULL); //fprintf(stderr,"PNG image %s width %d height %d color type %d fb_width %d fb_height %d screensize%d\n",inputFile, (int)iwidth, (int)iheight, color_type, fb_width, fb_height, fb_width*fb_height*fb_depth/8); if(color_type==PNG_COLOR_TYPE_PALETTE) { png_set_palette_to_rgb(png_ptr); } if(color_type==PNG_COLOR_TYPE_GRAY||color_type==PNG_COLOR_TYPE_GRAY_ALPHA) { if(bit_depth<8) png_set_expand_gray_1_2_4_to_8(png_ptr); png_set_gray_to_rgb(png_ptr); } if(bit_depth<8) { png_set_packing(png_ptr); } if(color_type & PNG_COLOR_MASK_ALPHA) { png_set_strip_alpha(png_ptr); } png_read_update_info(png_ptr, info_ptr); row_pointers=png_malloc(png_ptr, iheight*sizeof(png_bytep)); if(!row_pointers) { perror("PNG memory"); fclose(fp); return 0; } for (i=0; i<iheight; i++) row_pointers[i]=NULL; /* security precaution */ for (i=0; i<iheight;i++) row_pointers[i]=png_malloc(png_ptr,iwidth*8);//pixel size png_set_rows(png_ptr, info_ptr, row_pointers); png_read_image(png_ptr, row_pointers); blue=(color<<24)>>27; green=(color<<16)>>26; red=(color<<8)>>27; bg=blue|green<<5|red<<11; for(i=0;i<fb_height;i++) { buf[i]=(uint16_t*)malloc(fb_width*sizeof(uint16_t)); if(!buf[i]) { perror("Memory"); fclose(fp); return 0; } if((iheight<fb_height)||(iwidth<fb_width)) { for(ii=0;ii<fb_width;ii++) buf[i][ii]=bg; } } kh=abs(fb_height-iheight)/2; kw=abs(fb_width-iwidth)/2; if(iheight<fb_height) { for(i=kh;i<kh+iheight;i++) { if(iwidth>=fb_width) { for(ii=0,j=kw*3;ii<fb_width;ii++) { buf[i][ii]=((((row_pointers[i-kh][j])>>3)<<11)|(((row_pointers[i-kh][j+1])>>2)<<5)|((row_pointers[i-kh][j+2])>>3)); j+=3; } } else { for(ii=kw,j=0;ii<(kw+iwidth);ii++) { buf[i][ii]=((((row_pointers[i-kh][j])>>3)<<11)|(((row_pointers[i-kh][j+1])>>2)<<5)|((row_pointers[i-kh][j+2])>>3)); j+=3; } } } } else { for(i=0;i<fb_height;i++) { if(iwidth>=fb_width) { for(ii=0,j=kw*3;ii<fb_width;ii++) { buf[i][ii]=((((row_pointers[i+kh][j])>>3)<<11)|(((row_pointers[i+kh][j+1])>>2)<<5)|((row_pointers[i+kh][j+2])>>3)); j+=3; } } else { for(ii=kw,j=0;ii<(kw+iwidth);ii++) { buf[i][ii]=((((row_pointers[i+kh][j])>>3)<<11)|(((row_pointers[i+kh][j+1])>>2)<<5)|((row_pointers[i+kh][j+2])>>3)); j+=3; } } } } // buffer in fb schreiben for(i=0;i<fb_height;i++) { //printf("line %d size %d\n", i, i*width*(fb_depth/8)); memcpy(fbmem + i * fb_width*2, buf[i], 2*fb_width); } // destroy png png_destroy_read_struct(&png_ptr, &info_ptr,(png_infopp)NULL); fclose(fp); for(i=0;i<fb_height;i++) { free(buf[i]); } free(buf); return 1; }
/spoiler]
Danke im vorraus
-
Verspüre ich da nen leichten Hauch von Ironie
Aber die Idee ist cool. Dann kann man den RasPi bestimmt auf 3GHz Takten -
Bei meinen Eltern liegt ein RasPi 1 mit Gehäuse unten im Fernsehschrank. Auch dieser schwitzt nicht besonders viel
Weiß jetzt allerdings nicht ab der 3er mehr Wärme erzeugt.
Aber wie SvenS bereits angemerkt hat: einfach mal die Temperatur im Auge behalten. Innerhalb einer Stunde Betrieb wird der sicherlich nicht sterben. Dann kann man immernoch reagieren. -