You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

21

Friday, September 24th 2010, 10:07am

Quoted

Original von MartenR
Wir müßten uns im Prinzip den Strom den der vdr beim zurückspulen ausgibt mal im Hexeditor anschauen, dann könnte wir wahrscheinlich sehen, was falsch läuft. Ich bin nur leider von vdr räumlich isoliert.
Falls wir jemand sowas zur Verfügung stellen kann werde ich mir das anschauen.
Marten


Hallo Marten,

wenn du mich instruierst, was da genau zu tun ist, mach ich das gerne ;)

Gruß
Tomas

bexbier

Professional

Posts: 600

Location: bremen

  • Send private message

22

Friday, September 24th 2010, 12:53pm

mahlzeit,

habs grad mal versucht, bekomme aber nur mist raus.

*EDIT*
Habs nochmal geändert, nun sinds zahlen ;)

hab ne log.h erstellt:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>

#define INFOFILE "/tmp/data.log"

char *StrToHexStr(char *str)
{
char *newstr = new char[(strlen(str)*2)+1];
char *cpold = str;
char *cpnew = newstr;

while('\0' != *cpold) {
sprintf(cpnew, "%02X", (char)(*cpold++));
cpnew+=2;
}
*(cpnew) = '\0';
return(newstr);
} 

void writeInfo(const char *Data )
{

  FILE *infofile=fopen(INFOFILE ,"a+");

  if (!infofile){
     esyslog("can not write %s", INFOFILE);
     return;
  }

  fputs(StrToHexStr((char *)Data),infofile);
  fclose(infofile);
}


und dann in der ringbuffer.c unter cFrame so eingefügt:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "log.h"
// --- cFrame ----------------------------------------------------------------

cFrame::cFrame(const uchar *Data, int Count, eFrameType Type, int Index, uint32_t Pts)
{
  count = abs(Count);
  type = Type;
  index = Index;
  pts = Pts;
  if (Count < 0){
     data = (uchar *)Data;
     writeInfo((const char*)data);}  <---
  else {
     data = MALLOC(uchar, count);
     if (data){
        memcpy(data, Data, count);
        writeInfo((const char*)data);}  <---
     else
        esyslog("ERROR: can't allocate frame buffer (count=%d)", count);
     }
  next = NULL;
}


wenn ich nun ne aufnahme starte wird auch in die data.log geschrieben, jedoch nur son kram, kannst du so eine ausgabe gebrauchen ?(ist nur nen beispiel von einer laufenden aufnahme) :

Source code

1
47577A1F6E657747577A186E657747577A196E657747577A186E657747577A1E6E657747577A1E6E657747577A1C6E657747577A1B6E657747577A136E657747577A196E657747577A1F6E657747577A1D6E657747577A146E657747577A196E657747577A166E657747406E657747577A126E657747577A176E657747577A1B6E657747577A1B6E657747577A1C6E657747577A1F6E657747577A196E657747577A1C6E657747577A1F6E657747577A1E6E657747577A116E657747577A146E657747577A1E6E657747577A1A6E657747577A196E657747406E657747577A176E657747577A1D6E6


bzw. ist cframe überhaupt nen ansatzpunkt ?
MfG

bex

server -> Asus p8h67-i -Intel 2100T - Cine CT v6
client 1 -> Asus p5n7a-vm -Intel E5200 - Technisat Cablestar HD 2
client 2+3 -> Raspberry Pi - Openelec

This post has been edited 3 times, last edit by "bexbier" (Sep 24th 2010, 3:33pm)


MartenR

Intermediate

Posts: 515

Location: Berlin

  • Send private message

23

Friday, September 24th 2010, 4:38pm

@bexbier
ich denke im PlayVideo des verwendeten Devices ist der richtige Ort zum herausschreiben bzw. auch im PlayTSVideo.
Wobei das ganze als Binärdaten einfach herausgeschreiben werden sollte(dann kann man es sich z.B. auch mit VLC anschauen), ich brauche etwa 20 MByte an Daten, da ein Frame etwa 100-200 Kbyte groß ist und ich am Anfang und Ende die Probleme vermute

Gruß

Marten
vdr experimental, Femon, vdr live, acpi-wakeup, vompserver, undelete, epgsearch, vdr-burn, Raspberry Pi und Vompserver Windows Client (build from git)

bexbier

Professional

Posts: 600

Location: bremen

  • Send private message

24

Friday, September 24th 2010, 4:59pm

hi marten,

habs mal eben in xine unter playtsvideo eingebaut, dann wird aber auch das livebild mitgeloggt, und ich bekam von xine-ui nach kurzer zeit eine meldung das zuviele bilder verworfen wurden.
Die data.log ist auch schnell sehr groß geworden und wenn ich versuch sie zu öffnen mit vlc passiert nichts, aber vlc meckert auch nicht.
Da ja nur das spulen interessant ist muss ich mal schauen wie man es hinbekommt das nur das geloggt wird.

Bin für jeden tip dankbar
MfG

bex

server -> Asus p8h67-i -Intel 2100T - Cine CT v6
client 1 -> Asus p5n7a-vm -Intel E5200 - Technisat Cablestar HD 2
client 2+3 -> Raspberry Pi - Openelec

Posts: 1,777

Occupation: Radio Fernsehtechniker

  • Send private message

25

Tuesday, September 28th 2010, 8:06pm

Ich weiß nicht obs weiterhilft, aber im aktuellen xinelib Zweig mit Durchflieger Patchen und startstream Patch habe ich beim rückwärtsspulen von 720p/1080i keine Probleme.
Nur beim Vorwärtsspulen wird es extrem pixelig und man kann optisch ein vor/zurückspringen der Frames/Bilder sehen. D.h. es werden immer wieder alte Frames/Bilder angezeigt. Die Spulgeschwindigkeit scheint aber zu passen. Es ist aber schwer zu erkennen, aufgrund der massiven Pixel/Kästchen.
Yavdr 0.5: KVM Server mit YAVDR als Host, Tyan Xeon Server, Virtualbox + KVM
Yavdr 0.5: Asus AT5iont-t, ION2, 4GB Ram, Momentus 2,5" 500GB, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
Yavdr 0.5:
Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
Yavdr 0.5:
Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
MLD RasPi

lostinspc

Professional

Posts: 571

Location: Stuttgart

  • Send private message

26

Tuesday, September 28th 2010, 9:05pm

Quoted

Originally posted by Torsten73
Ich weiß nicht obs weiterhilft, aber im aktuellen xinelib Zweig mit Durchflieger Patchen und startstream Patch habe ich beim rückwärtsspulen von 720p/1080i keine Probleme.
Nur beim Vorwärtsspulen wird es extrem pixelig und man kann optisch ein vor/zurückspringen der Frames/Bilder sehen. D.h. es werden immer wieder alte Frames/Bilder angezeigt. Die Spulgeschwindigkeit scheint aber zu passen. Es ist aber schwer zu erkennen, aufgrund der massiven Pixel/Kästchen.

Treffend beschrieben, genau so sieht es bei mir (xine-plugin mit xine-lib-1.2-r11577, Durchflieger v15-stream-start-v100614, nvidia 256.53) auch aus ....

Grüße, Peter
SW: vdr-latest, softhddevice -git, arch x86_64
HW: 1x Cine C/T V6 + DuoFlex C/C2/T/T2 V3, Asus P5G41-M, 2 GB, Pentium 6300, Asus G210 passiv, 60 GB Samsung SSD 470, 3TB WD AV GP (WD30EURS) , Silverstonetek LaScala 10M, LG LM 669S, 1920x1080@50
VDR-User #81

kls

Master

  • "kls" started this thread

Posts: 2,674

Location: Mettenheim

  • Send private message

27

Sunday, October 31st 2010, 12:25pm

Ich habe mir das jetzt mal genauer angeschaut und glaube, eine Lösung gefunden zu haben.

Die Problemkanäle senden ja in 720p/50, also mit 50 Vollbildern pro Sekunde, und nicht, wie ich irrtümlich angenommen hatte, mit 25. Nach Anwendung von folgendem Patch läuft bei mir der schnelle Vor- und Rücklauf bei solchen Kanälen ohne jede Artefakte.

Könnt ihr das bitte mal mit diversen Ausgabedevices verifizieren?
Es greift übrigens nur bei neuen Aufnahmen. Bei einer bereits bestehenden Aufnahme müsste die 'index'-Datei gelöscht werden, damit sie neu generiert wird.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
--- remux.c     2010/06/05 13:32:15     2.47
+++ remux.c     2010/10/31 11:04:14
@@ -863,10 +863,8 @@
                              frameDuration = 3600; // PAL, 25 fps, timing with jitter
                           else if (Delta % 3003 == 0)
                              frameDuration = 3003; // NTSC, 29.97 fps
-                          else if (abs(Delta - 1800) <= 1) {
-                             frameDuration = 3600; // PAL, 25 fps
-                             framesPerPayloadUnit = -2;
-                             }
+                          else if (abs(Delta - 1800) <= 1)
+                             frameDuration = 1800; // PAL, 50 fps
                           else if (Delta == 1501) {
                              frameDuration = 3003; // NTSC, 29.97 fps
                              framesPerPayloadUnit = -2;


Klaus
Gib CI+/HD+ keine Chance! Lasst diese Pest am ausgestreckten Arm verhungern!
Wer für sowas bezahlt macht sich zum Totengräber von Projekten wie VDR!
Die Wahrheit ueber HD Plus
CI-Plus -- Das trojanische Pferd im Wohnzimmer

This post has been edited 1 times, last edit by "kls" (Oct 31st 2010, 12:27pm)


Ichijoe

Intermediate

Posts: 347

Location: Frankfurt am/Main

  • Send private message

28

Sunday, October 31st 2010, 1:28pm

Wo kommt der "Patch" dann genau?
order so mindestens ein idea wohin damit?

29

Sunday, October 31st 2010, 1:32pm

@Ichijoe

in remux.c
YaVDR-0.5 Stable - DVB-C - Nvidia GT520

Björn

Intermediate

Posts: 293

Location: Rostock

  • Send private message

30

Sunday, October 31st 2010, 1:42pm

Hier mit vdpau und xine funktioniert das Spulen bei ZDF HD nun ohne jegliche Artefakte.
Super!

Vielen Dank Klaus!
Gruss Björn.

mein System


-- P4 Dual-Core (E5300), 2 x TT-1600, GigaByte GA-E7AUM-DS2H, 2 x 640 GB Samsung, 16 GB SSD --
-- OpenSuse 11.4, v4l-dvb, vdr 1.7.42 mit softhddevice, nvidia 270.26 --


SilverGreen-Skin

Ichijoe

Intermediate

Posts: 347

Location: Frankfurt am/Main

  • Send private message

31

Sunday, October 31st 2010, 2:39pm

Zu welchen VDR-1.7.xx gehört diese "remux.c" anscheinend nicht in die das ich noch hatte (VDR 1.7.0-extp-72-v3 ?) leider hatte ich meine Platte wieder platt gemacht wegen Komprimierens Fehler beim XBMC-9.11.

Zum infos ich renne (oder mochte gerne) ein EasyVDR-8...


Auf jeden Fall schent meine Exemplar vom 2007:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
 * remux.c: A streaming MPEG2 remultiplexer
 *
 * See the main source file 'vdr.c' for copyright information and
 * how to reach the author.
 *
 * The parts of this code that implement cTS2PES have been taken from
 * the Linux DVB driver's 'tuxplayer' example and were rewritten to suit
 * VDR's needs.
 *
 * The cRepacker family's code was originally written by Reinhard Nissl <rnissl@gmx.de>,
 * and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de.
 *
 * $Id: remux.c 2.0  2007/11/25 13:56:03 kls Exp $
 */

This post has been edited 3 times, last edit by "Ichijoe" (Oct 31st 2010, 2:43pm)


kls

Master

  • "kls" started this thread

Posts: 2,674

Location: Mettenheim

  • Send private message

32

Sunday, October 31st 2010, 2:51pm

Quoted

Originally posted by Ichijoe
Zu welchen VDR-1.7.xx gehört diese "remux.c"


Sorry, der Patch ist natürlich gegen die aktuelle Developer-Version 1.7.16.

Klaus
Gib CI+/HD+ keine Chance! Lasst diese Pest am ausgestreckten Arm verhungern!
Wer für sowas bezahlt macht sich zum Totengräber von Projekten wie VDR!
Die Wahrheit ueber HD Plus
CI-Plus -- Das trojanische Pferd im Wohnzimmer

33

Sunday, October 31st 2010, 3:18pm

Hallo Klaus,

danke für den Patch gegen remux.c, sieht soweit alles i.O. aus, keine Verpixellungen mehr.

Ich hatte noch alte ZDF-Aufnahmen und ARD-Aufnahmen, wenn man da den index löscht und neu generieren lässt, dann wird jetzt die doppelte Aufnahmezeit angezeigt.

Kann das auch mit dem Patch zu tun haben?

VDR-Version, 1.7.16.

Danke vorab!

Gruß
Wolfgang
Hardware: -
Software: -

kls

Master

  • "kls" started this thread

Posts: 2,674

Location: Mettenheim

  • Send private message

34

Sunday, October 31st 2010, 3:33pm

Quoted

Originally posted by wbreu
Hallo Klaus,

danke für den Patch gegen remux.c, sieht soweit alles i.O. aus, keine Verpixellungen mehr.

Ich hatte noch alte ZDF-Aufnahmen und ARD-Aufnahmen, wenn man da den index löscht und neu generieren lässt, dann wird jetzt die doppelte Aufnahmezeit angezeigt.

Kann das auch mit dem Patch zu tun haben?


In der 'info' Datei steht die Framerate auch drin, da müsstest du die Zeile

F 25

durch

F 50

ersetzen.

Klaus
Gib CI+/HD+ keine Chance! Lasst diese Pest am ausgestreckten Arm verhungern!
Wer für sowas bezahlt macht sich zum Totengräber von Projekten wie VDR!
Die Wahrheit ueber HD Plus
CI-Plus -- Das trojanische Pferd im Wohnzimmer

35

Sunday, October 31st 2010, 4:54pm

Sehr schön...funzt!

Vielen Dank
iNOB

Mein VDR

Hartware: Gehäuse: Ahanix MCE 302, Mobo: Kontron 986LCD-M/mITX, CPU: Intel Core2 Duo Mobile T7400 2,16GHz, 2GB RAM, SAT: Digital Devices DuoFlex S2 miniPCIe, Graka: ASUS EN210 Silent 1GD3, 4x2TB 3,5" WD HD, 1x DVD-Brenner Pioneer, Atric IR-Einschalter+Empfänger, FB One-For-All URC-7960, SoundGraph iMON LCD ( MFP5I, 15c2:0038 )
Weichware: Wheezy (x86_64), Kernel 3.8.13, NVidia v340.24, VDR 2.1.6 gepatched

36

Sunday, October 31st 2010, 6:23pm

Quoted

Original von kls

Quoted

Originally posted by wbreu
Hallo Klaus,

danke für den Patch gegen remux.c, sieht soweit alles i.O. aus, keine Verpixellungen mehr.

Ich hatte noch alte ZDF-Aufnahmen und ARD-Aufnahmen, wenn man da den index löscht und neu generieren lässt, dann wird jetzt die doppelte Aufnahmezeit angezeigt.

Kann das auch mit dem Patch zu tun haben?


In der 'info' Datei steht die Framerate auch drin, da müsstest du die Zeile

F 25

durch

F 50

ersetzen.

Klaus


Nabend Klaus,

jepp damit geht's jetzt einwandfrei.

Danke!

Gruß
Wolfgang
Hardware: -
Software: -

37

Sunday, October 31st 2010, 6:44pm

Quoted

Original von kls
In der 'info' Datei steht die Framerate auch drin, da müsstest du die Zeile

F 25

durch

F 50

ersetzen.

Klaus


Heist das nun, dass man das bei allen Aufnahmen in der "info" ersetzten muss?

:!: Hier nicht klicken!!



dreipo.cc

"Ubuntu" -- An african Word, meaning: "Gentoo is too hard for me".

my VDR


Gen2VDR V4.3PO

VDR: vdr-2.1.6
Mainboard: ASUS Z97-PRO (Wi-Fi ac)
CPU: i7-4770K
RAM: 16G
System HDD: OCZ-VERTEX4 SSD, 120 GB
Video HDD: WD Caviar Green, 3 TB
BD-ROM: Samsung SH-B123L
Gehäuse: Thermaltake DH202 Touch (VM90051N2Z)
DVB: DD Cine S2 V6.5 & DuofleX C/T
IR/FB: yaUSBIR v3 ; Harmony 885

This post has been edited 1 times, last edit by "C-3PO" (Oct 31st 2010, 6:47pm)


gda

Im Forum Zuhause

Posts: 13,269

Location: HH

  • Send private message

38

Sunday, October 31st 2010, 6:50pm

Quoted

Original von C-3PO

Quoted

Original von kls
In der 'info' Datei steht die Framerate auch drin, da müsstest du die Zeile

F 25

durch

F 50

ersetzen.

Klaus


Heist das nun, dass man das bei allen Aufnahmen in der "info" ersetzten muss?

Natürlich nicht, nur bei den Aufnahmen die auch eine Framerate von 50 haben. Also wohl im wesentlichen bei ARD HD und ZDF HD. Zumindest bei mir im Kabel.

Gerald

HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 12.04.2, Plex Media Server
Samsung UE55H6470

MartenR

Intermediate

Posts: 515

Location: Berlin

  • Send private message

39

Sunday, October 31st 2010, 7:06pm

Quoted

Die Problemkanäle senden ja in 720p/50, also mit 50 Vollbildern pro Sekunde, und nicht, wie ich irrtümlich angenommen hatte, mit 25. Nach Anwendung von folgendem Patch läuft bei mir der schnelle Vor- und Rücklauf bei solchen Kanälen ohne jede Artefakte.

Das ist ein interessanter Grund.
Da hatte ich extra einen Workaround in den Vomp client code für HD eingebaut, um die 50 fps als 25 fps (bzw. 60 fps als 30 fps) abzufangen.
Den muß ich jetzt wohl irgendwie deaktivieren.

Marten
vdr experimental, Femon, vdr live, acpi-wakeup, vompserver, undelete, epgsearch, vdr-burn, Raspberry Pi und Vompserver Windows Client (build from git)

fnu

Moderator

Posts: 8,450

Location: Böblingen

  • Send private message

40

Sunday, October 31st 2010, 8:05pm

Nur aus Interesse, ergibt sich das mit den 50 Frames nicht aus der Angabe in den Sendeformaten? Also 720p50 und 1080i50?

Dementsprechend wird doch auch 1080i hier in Europa mit 50 Frames gesendet, wobei jeder Frame eben ein Halbbild ist, wie auch bei 576i50 und bei 720p(rogressive) eben dann ein ganzes Bild. Warum steht da dann F25 in der Info Datei?

Ist kein Gemaule, ich möchte es nur verstehen.

Gruß
Frank
Gib HD+/CI+ keine Chance! >> HowTo: APT Pinning <<

>>click<< for my VDR stuff

[¹] Modu CD21, MeanWell (80W)/LC-Power (75W), Futaba MDM166A, Intel DH77EB, G1610, 4GB DDR3, Intel 313 SSD 24GB, WD20EFRX 2TB, Zotac GT630 ('GK208'), SHDD, L4M Twin S2 (V5.6)/FlexS2 (4x DVB-S2), rt Unicable®, CIR, Ubuntu LTS 12.04.4, VDR 2.1.6 (x64, 44W)
[²] Modu CD21, MeanWell (80W)/PicoPSU (90W), Futaba MDM166A, ASRock Q1900M, 2GB DDR3, Intel 320 SSD 40GB, WD10JFCX, Palit GT630 ('GK208'), SHDD, Octopus Net SAT>IP, rt Unicable®, mceusb, Ubuntu LTS 14.04, VDR 2.1.6 (x64, 22W)
[³] Cooler Master Elite 360, Xilence SPS-XP250.SFX (250W), Intel DH77KC, Xeon E3-1245v2, 8GB DDR3, Intel 313 SSD 24GB (Sys & HostCache), HP SA P400 256MB BBWC, 4x WD7500BPKX@Backplane, VMWare ESXi 5.5 (6 VM)(x64, 38W)