@dbox-all: Kommt in der nächsten Version mit rein, läuft bei mir derzeit schon als Test. Also immer mit der Ruhe...
DVD in Neutrino-Format TS konventieren
- BPanther
- Administrator

- Beiträge: 8683
- Registriert: Do 11. Jan 2007, 00:06
- Wohnort: Berlin
- Kontaktdaten:
Re: DVD in Neutrino-Format TS konventieren
@mohousch: Danke für die Info.
@dbox-all: Kommt in der nächsten Version mit rein, läuft bei mir derzeit schon als Test. Also immer mit der Ruhe...
@dbox-all: Kommt in der nächsten Version mit rein, läuft bei mir derzeit schon als Test. Also immer mit der Ruhe...
MfG BPanther
KEIN SUPPORT PER PN -> Bitte das Forum benutzen und ins [url=https://wiki.mbremer.de][b]Wiki[/b][/url] schauen.

Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755, Sony Bravia KDL-40W4500 (old)
Boxen: 7x UFS910 (128MB), UFS912, UFS913, AV700, AV7000, AV7500 (DVB-S/C/T), Edision Argus Pingulux, Vizyon820HD
KEIN SUPPORT PER PN -> Bitte das Forum benutzen und ins [url=https://wiki.mbremer.de][b]Wiki[/b][/url] schauen.

Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755, Sony Bravia KDL-40W4500 (old)
Boxen: 7x UFS910 (128MB), UFS912, UFS913, AV700, AV7000, AV7500 (DVB-S/C/T), Edision Argus Pingulux, Vizyon820HD
Re: DVD in Neutrino-Format TS konventieren
Danke Euch beiden !!!BPanther hat geschrieben:@mohousch: Danke für die Info.![]()
@dbox-all: Kommt in der nächsten Version mit rein, läuft bei mir derzeit schon als Test. Also immer mit der Ruhe...
mfgZitat :
Changelog (rev1082->rev4499)
- (rev4499) "TS-Movieplayer" spielt auch andere Formate ab (thx mohousch)
----------------------------------------
|-28,2E-23,5E-19,2E-13.0E-9,0E-|
|3xUFS910(ext.), 3 x UFS912, 2 x UFS913, 3xGalaxis ER |
----------------------------------------

|-28,2E-23,5E-19,2E-13.0E-9,0E-|
|3xUFS910(ext.), 3 x UFS912, 2 x UFS913, 3xGalaxis ER |
----------------------------------------

Re: DVD in Neutrino-Format TS konventieren
das funzt eigentlich ganz gut - hab einen solchen patch auch schon länger drin.
(auch die screenshot geschichte funktioniert - man muss nur noch die vcrcontrol.cpp passend umbauen und nen trigger auf ne Taste legen)
(auch die screenshot geschichte funktioniert - man muss nur noch die vcrcontrol.cpp passend umbauen und nen trigger auf ne Taste legen)
a.k.a. DaHooD
Es gibt genau 10 Sorten von Leuten – nämlich diejenigen, die das binäre System verstehen, und diejenigen, die es nicht tun.
2B || !2B
4x Sogno Spark Triple
Es gibt genau 10 Sorten von Leuten – nämlich diejenigen, die das binäre System verstehen, und diejenigen, die es nicht tun.
2B || !2B
4x Sogno Spark Triple
- BPanther-Mobil
- Registrierte Benutzer

- Beiträge: 511
- Registriert: Di 2. Aug 2011, 08:27
Re: DVD in Neutrino-Format TS konventieren
Du meinst sicher daß mit dem Screenshot, auch das geht bei mir mit der Aufnahmetaste. Die Funktion kannte ja Neutrino, war nur inaktiv. Allerdings habe ich was geändert, weil ffmpeg so wie die Zeile z.B. auch bei mohousch drin ist, viel zu langsam ist, bzw. zu lange braucht bis der erstellt ist. Auch wird er von der aktuellen Position gemacht, nicht fest vorgegeben. Befindet sich aber noch im Test derzeit, also noch nicht komplett in der 4499 eingebaut.
MfG BPanther
KEIN SUPPORT PER PN -> Bitte das Forum benutzen und auch ins Wiki schauen.



Tnx udog für das Bild.
TV: Sony Bravia KDL-40W4500
Boxen: 5x UFS910 (MAXI, Neutrino), AV700, AV7000, AV7500 (DVB-S/C/T), Edision Argus Pingulux
KEIN SUPPORT PER PN -> Bitte das Forum benutzen und auch ins Wiki schauen.



Tnx udog für das Bild.
TV: Sony Bravia KDL-40W4500
Boxen: 5x UFS910 (MAXI, Neutrino), AV700, AV7000, AV7500 (DVB-S/C/T), Edision Argus Pingulux
- BPanther
- Administrator

- Beiträge: 8683
- Registriert: Do 11. Jan 2007, 00:06
- Wohnort: Berlin
- Kontaktdaten:
Re: DVD in Neutrino-Format TS konventieren
Nachdem ich wieder zuhause bin, konnte ich das mal raussuchen, Beispiel vom Neutrino von mohousch:
https://code.google.com/p/neutrinohd2/s ... ol.cpp#922
Dort heißt es ja in der Zeile 922:
Damit gibt es mehrere Probleme.
1. Screenshots brauchen recht lange (HD keine Ahnung, habe nach 10 min. abgebrochen).
2. Bestimmte "Sonderzeichen" (z.B. Klammern) machen Probleme, Screenshots werden nicht erstellt.
3. Desweiteren gibts noch ein Memleak (hintbox, durch Zeilen 935/936), wenn der Screenshot nicht erstellt werden kann (z.B. Fehler bei ffmpeg).
Problemlösungen:
1. Die Parameter etwas umstellen. Die Zeile sollte wie folgt lauten, dann geht der Screenshot weitaus schneller:
2. Ebenfalls in der Zeile bei 1. enthalten, einfach in der Zeile %s mit \"%s\" schreiben, dann klappts auch.
3. Erst die hintBox beenden (hide) und löschen (delete), dann erst mit Fehler abbrechen.
https://code.google.com/p/neutrinohd2/s ... ol.cpp#922
Dort heißt es ja in der Zeile 922:
Code: Alles auswählen
sprintf(cmd, "ffmpeg -y -i %s -y -f image2 -ss %d -vframes 1 -s 320*240 %s", fname, spos, (char *)file_name.c_str());1. Screenshots brauchen recht lange (HD keine Ahnung, habe nach 10 min. abgebrochen).
2. Bestimmte "Sonderzeichen" (z.B. Klammern) machen Probleme, Screenshots werden nicht erstellt.
3. Desweiteren gibts noch ein Memleak (hintbox, durch Zeilen 935/936), wenn der Screenshot nicht erstellt werden kann (z.B. Fehler bei ffmpeg).
Problemlösungen:
1. Die Parameter etwas umstellen. Die Zeile sollte wie folgt lauten, dann geht der Screenshot weitaus schneller:
Code: Alles auswählen
sprintf(cmd, "ffmpeg -ss %d -y -i \"%s\" -y -f image2 -vframes 1 -s 320*240 \"%s\"", spos, fname, (char *)file_name.c_str());3. Erst die hintBox beenden (hide) und löschen (delete), dann erst mit Fehler abbrechen.
MfG BPanther
KEIN SUPPORT PER PN -> Bitte das Forum benutzen und ins [url=https://wiki.mbremer.de][b]Wiki[/b][/url] schauen.

Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755, Sony Bravia KDL-40W4500 (old)
Boxen: 7x UFS910 (128MB), UFS912, UFS913, AV700, AV7000, AV7500 (DVB-S/C/T), Edision Argus Pingulux, Vizyon820HD
KEIN SUPPORT PER PN -> Bitte das Forum benutzen und ins [url=https://wiki.mbremer.de][b]Wiki[/b][/url] schauen.

Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755, Sony Bravia KDL-40W4500 (old)
Boxen: 7x UFS910 (128MB), UFS912, UFS913, AV700, AV7000, AV7500 (DVB-S/C/T), Edision Argus Pingulux, Vizyon820HD
Re: DVD in Neutrino-Format TS konventieren
Ich habs so:
in der vcrcontrol.cpp:
in der vcrcontrol.h:
(Screenshot nach 1 min Film, wenn nicht anders angeben)
in der moviebrowser.cpp - bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg):
(LOCALE noch einbauen)
Kann bei HD ein bischen dauern - die blöde Denkpause
in der vcrcontrol.cpp:
Code: Alles auswählen
bool CVCRControl::Screenshot(const t_channel_id channel_id, char * fname, int spos)
{
char filename[512]; // UTF-8
char cmd[512];
std::string channel_name;
CEPGData epgData;
event_id_t epgid = 0;
unsigned int pos;
if(!fname) // live stream
{
char str[256];
struct statfs s;
if (::statfs(g_settings.network_nfs_picturedir, &s) != 0)
{
return false;
}
sprintf(str, "%s/", g_settings.network_nfs_picturedir );
strcpy(filename, str);
pos = strlen(filename);
channel_name = g_Zapit->getChannelName(channel_id);
if (!(channel_name.empty()))
{
strcpy(&(filename[pos]), UTF8_TO_FILESYSTEM_ENCODING(channel_name.c_str()));
char * p_act = &(filename[pos]);
do {
p_act += strcspn(p_act, "/ \"%&-\t`'�!,:;");
if (*p_act) {
*p_act++ = '_';
}
} while (*p_act);
strcat(filename, "_");
}
pos = strlen(filename);
if(sectionsd_getActualEPGServiceKey(channel_id&0xFFFFFFFFFFFFULL, &epgData));
epgid = epgData.eventID;
if(epgid != 0)
{
CShortEPGData epgdata;
if(sectionsd_getEPGidShort(epgid, &epgdata))
{
if (!(epgdata.title.empty()))
{
strcpy(&(filename[pos]), epgdata.title.c_str());
char * p_act = &(filename[pos]);
do {
p_act += strcspn(p_act, "/ \"%&-\t`'~<>!,:;?^�$\\=*#@�|");
if (*p_act) {
*p_act++ = '_';
}
} while (*p_act);
}
}
}
pos = strlen(filename);
time_t t = time(NULL);
strftime(&(filename[pos]), sizeof(filename) - pos - 1, "%Y%m%d_%H%M%S", localtime(&t));
strcat(filename, ".jpg");
#ifdef __sh__
snprintf(cmd,sizeof(cmd), "ffmpeg -itsoffset -4 -i `wget -q -O - http://127.0.0.1/control/build_live_url --post-data vlc_link=true` -y -f image2 -sn -an -vframes 1 -s 320*240 '%s'", filename);
#else
sprintf(cmd, "grab -v %s", filename);
#endif
}
else
{
//from tsbrowser(MP)
strcpy(filename, fname);
std::string file_name = fname; // UTF-8
int ext_pos = 0;
ext_pos = file_name.rfind('.');
if( ext_pos > 0)
{
std::string extension;
extension = file_name.substr(ext_pos + 1, file_name.length() - ext_pos);
extension = "." + extension;
strReplace(file_name, extension.c_str(), ".jpg");
}
#ifdef __sh__
snprintf(cmd,sizeof(cmd),"ffmpeg -i '%s' 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,// | cut -d ':' -f2",fname);
FILE * f;
int n;
f=popen(cmd, "r");
char buf[256];
while (fgets(buf, 255, f) != NULL)
{
n = int(buf);
printf("%s converted to %d\n", buf, n);
}
pclose(f);
if (n > 3)
snprintf(cmd,sizeof(cmd), "ffmpeg -ss 00:%d:00 -y -i '%s' -y -f image2 -vframes 1 -s 640*360 '%s' 2>&1", spos, fname, (char *)file_name.c_str());
else return false;
#else
sprintf(cmd, "grab -v %s", (char *)file_name.c_str());
#endif
}
printf("Executing %s\n", cmd);
CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, "Screenshot...." );
hintBox->paint();
if(system(cmd)){
hintBox->hide();
delete hintBox;
return false;
}
hintBox->hide();
delete hintBox;
return true;
}Code: Alles auswählen
bool Screenshot(const t_channel_id channel_id, char * fname = NULL, int spos = 1);in der moviebrowser.cpp - bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg):
Code: Alles auswählen
else if (msg == CRCInput::RC_record)
{
std::string fname = m_movieSelectionHandler->file.Name;
std::string fname2 = fname;
int ext_pos = 0;
ext_pos = fname.rfind('.');
if( ext_pos > 0)
{
std::string extension;
extension = fname.substr(ext_pos + 1, fname.length() - ext_pos);
extension = "." + extension;
strReplace(fname2, extension.c_str(), ".jpg");
}
if (access(fname2.c_str(), F_OK) != 0)
{
printf("Taking screenshot from %s\n named: %s\n",fname.c_str(),fname2.c_str());
bool retcode = CVCRControl::getInstance()->Screenshot(0, (char *)fname.c_str());
if (retcode) refresh();
}
else
{
if (ShowLocalizedMessage(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_DEL_SS,CMessageBox::mbrYes, CMessageBox::mbYes | CMessageBox::mbNo, NULL, 450, 30, false) == CMessageBox::mbrYes)
remove(fname2.c_str());
refresh();
}
}Kann bei HD ein bischen dauern - die blöde Denkpause
a.k.a. DaHooD
Es gibt genau 10 Sorten von Leuten – nämlich diejenigen, die das binäre System verstehen, und diejenigen, die es nicht tun.
2B || !2B
4x Sogno Spark Triple
Es gibt genau 10 Sorten von Leuten – nämlich diejenigen, die das binäre System verstehen, und diejenigen, die es nicht tun.
2B || !2B
4x Sogno Spark Triple
- BPanther
- Administrator

- Beiträge: 8683
- Registriert: Do 11. Jan 2007, 00:06
- Wohnort: Berlin
- Kontaktdaten:
Re: DVD in Neutrino-Format TS konventieren
Hmm, warum nimmst Du nicht die vorhandene Funktion getPosition (durch 1000 geteilt)? Das sind dann Sekunden, daher nur %d statt der Uhrzeit, und es braucht kein system() mit grep/cut etc. und einem dritten ffmpeg-Aufruf.
MfG BPanther
KEIN SUPPORT PER PN -> Bitte das Forum benutzen und ins [url=https://wiki.mbremer.de][b]Wiki[/b][/url] schauen.

Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755, Sony Bravia KDL-40W4500 (old)
Boxen: 7x UFS910 (128MB), UFS912, UFS913, AV700, AV7000, AV7500 (DVB-S/C/T), Edision Argus Pingulux, Vizyon820HD
KEIN SUPPORT PER PN -> Bitte das Forum benutzen und ins [url=https://wiki.mbremer.de][b]Wiki[/b][/url] schauen.

Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755, Sony Bravia KDL-40W4500 (old)
Boxen: 7x UFS910 (128MB), UFS912, UFS913, AV700, AV7000, AV7500 (DVB-S/C/T), Edision Argus Pingulux, Vizyon820HD
Re: DVD in Neutrino-Format TS konventieren
Coolstream haben auch daran gearbeitet, erneut, screnshot.cpp Dateien da sind die ganzen Funktionen für OSD Screenshots, die Video Screenshots (Code vermutlich vom vgrab genommen) ist leider in das np libcoolstream verpackt, und paar GUI Optionen Setup dazu gemacht das man z.B so einstellen kann wenn eine Aufnahme startet dazu automatisch einen Video Screenshot genommen wird etc...in der Moviebrowser is nicht viel geändert worden ausser die Screenshot Funktion extra geschnitten ist.
Re: DVD in Neutrino-Format TS konventieren
ich hatte den nur drin um die länge gegen die screenshot position zu validieren..was nützt mir ein screenshot bei min 60 wenn die aufnahme nur 30 min lang istBPanther hat geschrieben:und es braucht kein system() mit grep/cut etc. und einem dritten ffmpeg-Aufruf.
hab dann dort aber die entwicklung erstmal eingestellt, da ich im moment mit meinen ts player am rumhändeln bin - aber in den letzten paar tagen nicht viel zeit zum entwickeln hatte..
osd screenshot ist ja eigentlich ganz easy...
brauchst ja nur den fb in ein png zu packen....(siehe code schnipsel)
a.k.a. DaHooD
Es gibt genau 10 Sorten von Leuten – nämlich diejenigen, die das binäre System verstehen, und diejenigen, die es nicht tun.
2B || !2B
4x Sogno Spark Triple
Es gibt genau 10 Sorten von Leuten – nämlich diejenigen, die das binäre System verstehen, und diejenigen, die es nicht tun.
2B || !2B
4x Sogno Spark Triple
- BPanther-Mobil
- Registrierte Benutzer

- Beiträge: 511
- Registriert: Di 2. Aug 2011, 08:27
Re: DVD in Neutrino-Format TS konventieren
Eben deswegen lasse ich den einfach von der aktuellen Position machen. 
MfG BPanther
KEIN SUPPORT PER PN -> Bitte das Forum benutzen und auch ins Wiki schauen.



Tnx udog für das Bild.
TV: Sony Bravia KDL-40W4500
Boxen: 5x UFS910 (MAXI, Neutrino), AV700, AV7000, AV7500 (DVB-S/C/T), Edision Argus Pingulux
KEIN SUPPORT PER PN -> Bitte das Forum benutzen und auch ins Wiki schauen.



Tnx udog für das Bild.
TV: Sony Bravia KDL-40W4500
Boxen: 5x UFS910 (MAXI, Neutrino), AV700, AV7000, AV7500 (DVB-S/C/T), Edision Argus Pingulux

