Genau, MPEG2Schnitt kann nur an I-Frames eine neue Szene beginnen, damit's garantiert verlustfrei geschieht.
Beiträge von TomSoniq
-
-
Ach soooo!
Ok, die Möglichkeit, die AC3 Spur zu kicken, hatte ich noch gar nicht gefunden. Weiß jemand, ob bei VDRSync auch AC3 Unterstützung geplant ist?
Danke,
Tom
-
Und wenn Dir ProjectX und Cutterman zu kryptisch sind, dann nimmst Du PVAStrumento 2.0.30 und MPEG2Schnitt.
http://www.offeryn.de/download/pvas2030.zip
Schneiden können die meisten Programme einen Stream leider nur im demuxten Zustand.
Mit PVAStrumento kannst Du alle benötigten Dateien aius dem gewünschten Verzeichnis öffnen, also z.B. 001.vdr und 002.vdr. Danach klickst Du auf Demux und erzeugst Dir 001.vdr.mpv und 001.vdr.mpa.
Diese beiden Dateien kannst Du nun bequem mit MPEG2Schnitt schneiden.
Wenn Du vorher mit dem VDR schon geschnitten hast, kannst Du bei PVAStrumento auch auf "Make PS" klicken. Dann bekommst Du gleich einen (z.B. mit Nero) brennfertigen MPEG-Stream.
-
Gibt's eine Möglichkeit, das auch ohne ProjectX hinzubekommen? Ich versuche, einen möglichst schlanken VDR zu bauen, und das JRE sprengt den.
-
Hallo,
nachdem ich ja gerade versuche, mir mit einem EPIA EN15000 einen VDR zu bauen, bin ich jetzt bei Wakeup angekommen.
/proc/acpi/alarm existiert zwar, hat aber das Datum immer auf 2007-00-00. Also schließe ich ACPI-Wakeup schonmal aus.
NVRAM-Wakeup mit guess-helper findet bei mir folgendes:
Code
Alles anzeigen################################################ ## Mainboard autodetection information: ## ## - Mainboard vendor: "" ## - Mainboard type: "CN700-8237R" ## - Mainboard revision: "" ## - BIOS vendor: NULL ## - BIOS version: NULL ## - BIOS release: NULL addr_stat = 0x43 shift_stat = 3 addr_day = 0x44 addr_hour = 0x45 addr_min = 0x46 addr_sec = 0x47 addr_chk_h = 0x6D addr_chk_l = 0x6E
Ein Reboot ist auch nötig, damit die frisch gespeicherten Werte auch tatsächlich übernommen werden.In der vdr-nvram-wakeup.conf habe ich dementsprechend:
CodeENABLED="yes" COMMANDLINE="-C /etc/nvram-wakeup.conf" SPECIALSHUTDOWN="echo \"y\" | /sbin/grub-reboot 1 --no-floppy ; shutdown -r now" FORCE_REBOOT="yes"
Damit scheint das aufwachen zu funktionieren.
Tom
-
Zitat
Was tut die Nachbearbeitungsmethode und wie unterscheiden sich die einzelnen Einstellungen? Konnte nämlich keine Unterschiede in der Bildqualität erkennen.
Für mich sieht das wie verschiedene vertikale Filter aus, um ein Halbbild zum Vollbild aufzuskalieren. Unterschiede zwischen den einzelnen Methoden dürften sich nur bei scharfkantigen diagonalen Linien erkennen lassen.
-
Ah, danke, jetzt geht's!
Ich muß allerdings sagen, daß die Bildqualität bei weitem nicht an die einer FF-Karte herankommt. (An deren Video-Ausgang)
Es wird wohl auf unabsehbare Zeit ein großes Problem bleiben, ein TV-Signal verlustfrei durch einen Graphikchipsatz durchzukriegen.
Tom
-
Oh, peinlich, der leiernde Sound kam von einem defekten Kabel.
Die "seek offset" Meldungen sind jedoch geblieben und kommen offensichtlich aus PLUGINS/src/softdevice/mpeg2decoder.c
-
Ich habe in fb.modes mal das 720x576-60 Timing auskommentiert und nur das PAL konforme 720x576-50 dringelassen. Die Ruckelprobleme bleiben bei mir, von daher kann ich schlecht feststellen, ob sich sonst was verbessert hat.
Anscheinend funktioniert allerdings die Soundwiedergabe bei mir nicht richtig. Der ursprüngliche VDR von der ctVDR5 Distri spielt den Sound korrekt ab. Starte ich den neuen 1.4'er höre ich ein ziemliches Geleier. Vielleicht kommen daher die seek offset Probleme.
-
-
Ok, hast recht: Mein Aufruf vom viafb Treiber war nicht so ganz konsistent. Wenn man PAL ausgeben möchte, sollte man zumindest den Video Encoder auf auf PAL konfigurieren.
Die Auflösung biegt der VDR über DirectFB später selber sowieso auf die 720x576 aus der directfbrc um, egal, was man vorher mit fbset eingestellt hat.
-
Code
Alles anzeigen# modprobe viafb accel=1 active_dev=TV CRT_ON=0 TV_ON=1 refresh=50 tv_system=1 tv_level=2 tv_out_signal=2 # fbset -i mode "640x480-60" # D: 25.175 MHz, H: 30.258 kHz, V: 60.036 Hz geometry 640 480 640 480 32 timings 39722 80 32 16 4 80 4 rgba 8/16,8/8,8/0,0/0 endmode Frame buffer device information: Name : Via Address : 0xf4000000 Size : 33275904 Type : PACKED PIXELS Visual : TRUECOLOR XPanStep : 0 YPanStep : 1 YWrapStep : 0 LineLength : 2560 MMIO Address: 0xfb000000 MMIO Size : 16777216 Accelerator : Unknown (77) # ./vdr -P"softdevice -ao alsa:mixer -vo dfb:cle266:viatv" # top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4103 root 16 0 157m 19m 3928 S 43.6 4.2 0:19.50 vdr
-
Super!
Ich bekomme sogar TV UND OSD sowohl im reinen TV-Out Modus als auch im reinen VGA-Modus.
Was allerdings jetzt neu ist sind folgende Fehlermeldungen:
Code
Alles anzeigen#./vdr -P"softdevice -ao alsa:mixer -vo dfb:cle266:viatv" [softdevice] processing args [softdevice] argv [0] = softdevice [softdevice] argv [1] = -ao [softdevice] using alsa mixer for volume control [softdevice] argv [3] = -vo vo_argv: dfb:cle266:viatv [softdevice] enabling CLE266 HW decoding [softdevice] enabling field parity [setup-softdevice] alsa ac3Mode set to: 0 [setup-softdevice] alsa AC3 device set to: hw:0,1 [setup-softdevice] alsa device set to: default [setup-softdevice] A/V Offset set to (0) ... [softdevice] initializing Plugin [softdevice] Initializing Video Out [softdevice] ffmpeg build(3349760) [dfb] init =======================| DirectFB 1.0.0-rc3 |======================= (c) 2001-2006 United Cultures of Earth - go for outer space! (c) 2000-2004 Convergence (integrated media) GmbH ---------------------------------------------------------------- (*) DirectFB/Core: Single Application Core. (2007-01-24 09:16) (*) DirectFB/Genefx: MMX detected and enabled (*) Direct/Modules: suppress module 'cle266' (*) DirectFB/Graphics: VIA/S3G CN700/Unichrome Pro 0.4 (-) (*) DirectFB/Core/WM: Default 0.2 (directfb.org) ... [dfb] Using this layer for OSD: VIA CLE266 Graphics [dfb] Using this layer for Video out: VIA Unichrome Video 3 ... [softdevice] Video Out seems to be OK [softdevice] Initializing Audio Out [softdevice] Audio out seems to be OK [softdevice] A/V devices initialized, now initializing MPEG2 Decoder ... unimplemented: seek offset 16384 whence 0 unimplemented: seek offset 32768 whence 0 unimplemented: seek offset 93388 whence 0 unimplemented: seek offset 159610 whence 0 unimplemented: seek offset 222644 whence 0 unimplemented: seek offset 288527 whence 0 unimplemented: seek offset 360021 whence 0 unimplemented: seek offset 416785 whence 0
Und dabei ruckelt das Bild regelmäßig -- scheint mit 25 Hz 'rauszukommen statt mit 50 Hz.
-
Ohja, würde mich über ein zusammenfassendes HWOTO sehr freuen!
Kleine Frage am Rande:
Wenn ich alles in /usr/local/lib (also ohne --prefix=/usr) installiere, dann findet hinterher der frisch übersetzte VDR die libavformat.so.51 nicht. Wie sage ich dem VDR denn, wo er die Bibliotheken suchen soll?
-
Argh, stimmt ja! Ich bin Opfer der initrd geworden! Ok, danke für diesen entscheidenden Hinweis.
Ok, werde mir kurzfristig eine neue machen und langfristig den Kernel eh so systemspezifisch machen, daß er ohne auskommt.
-
Hallo,
Ich glaube, ich habe gerade einen Blackout / Verständnisproblem.
Damit ich ein bischen experimentieren kann, habe ich mir den frisch in /dev/sda1 installierten VDR nach /dev/sda2 geklont.
Wenn ich jetzt normal /dev/sda1 boote, habe ich folgendes angelegt:
Code
Alles anzeigenDevice Boot Start End Blocks Id System /dev/sda1 * 1 498 4000153+ 83 Linux /dev/sda2 * 499 996 4000185 83 Linux /dev/sda3 997 7296 50604750 5 Extended /dev/sda5 997 7296 50604718+ 83 Linux # cat /etc/fstab # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/sda1 / ext3 defaults,errors=remount-ro 0 1 /dev/sda2 /devel ext3 defaults 0 2 /dev/sda5 /var/lib/video.00 ext3 defaults 0 2 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/hdc /cdfs udf,cdfs user,noauto 0 0
Dann habe ich geändert:
Code# cat /devel/etc/fstab # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/sda2 / ext3 defaults,errors=remount-ro 0 1 /dev/sda1 /vdr ext3 defaults 0 2 /dev/sda5 /var/lib/video.00 ext3 defaults 0 2 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/hdc /cdfs udf,cdfs user,noauto 0 0
Man beachte die vertauschten Partitionen sda1 und sda2 sowie den anderen mountpint /vdr
auf der sda1 Partition gibt's dann entsprechend:
Code
Alles anzeigen# cat /boot/grub/menu.lst title Debian GNU/Linux, kernel 2.6.16-ct-1 root (hd0,0) kernel /boot/vmlinuz-2.6.16-ct-1 root=/dev/sda1 ro initrd /boot/initrd.img-2.6.16-ct-1 savedefault boot title Debian GNU/Linux, kernel 2.6.16-ct-1 (recovery mode) root (hd0,0) kernel /boot/vmlinuz-2.6.16-ct-1 root=/dev/sda1 ro single initrd /boot/initrd.img-2.6.16-ct-1 savedefault boot title Debian GNU/Linux, kernel 2.6.16-ct-1 (dev partition) root (hd0,1) kernel /boot/vmlinuz-2.6.16-ct-1 root=/dev/sda2 ro initrd /boot/initrd.img-2.6.16-ct-1 savedefault boot
Bloß wenn ich jetzt im Bootmenü den Eintrag mit (dev partition) auswähle, lande ich doch wieder beim alten Setup, also /dev/sda1 als root.
Kann mir bitte jemand erklären, warum? Ich hab' sicherlich was banales übersehen aber komme nicht drauf.
Danke!
Tom
-
Zitat
Warum muss man eigentlich den cle266 DirectFB Treiber kompilieren, wenn dieser sowieso mit disable-module=cle266 deaktiviert wird?
Wenn ich das richtig verstanden habe, soll das cle266 Modul nicht als Ausgabemodul verwendet werden, sondern nur zum MPEG decodieren. Die Ausgabe übernimmt das Modul viatv.
Wenn Du das Softdevice nur mit "-vo dfb:viatv" startest, verwendet der VDR die ffmpeg Library zur Decodierung. Bei "-vo dfb:cle266:viatv" hingegen läuft die MPEG2-Decodierung über den Hardwarebeschleuniger.
-
Also ich kann bestätigen, daß das, was auf älteren (CLE266) Chipsätzen von Via angeblich noch problemlos funktioniert (Video im Hintergrund, OSD im Vordergrund) auf dem CN700 definitiv nicht mehr geht.
Mit den bisher bekannten Methoden
- funktioniert der CLE266 Treiber von DirectFB gar nicht (stellt nichtmal /dev/fb0 bereit)
- liefert der 2.6'er Treiber von viaarena zusammen mit DirectFB nur das OSD, aber kein TV-Bild
Mich beschleicht das Gefühl, daß das TV Bild zwar da ist, aber aus irgendeinem Grund vom vollflächig undurchsichtigen OSD verdeckt wird.Vielleicht gibt es ja einen Parameter, der beim CLE266 noch egal ist, beim CN700 aber zu einem opaken OSD-Layer führt, wenn man ihn falsch setzt. Also z.B. so etwas wie (jetzt fiktiv ausgedacht):
CLE266: Register Bla / Bit Blubb: Reserved for future use. Set to 1.
CN700: Register Bla / Bit Blubb: Gfx layer alpha mode. 0=RGB, 1=ARGBWürde DirectFB das auf 0 setzen, fiele es beim CLE266 nicht auf, beim CN700 jedoch könnte es zu dem entdeckten Effekt führen.
Nur ein Denkanstoß, aber vielleicht stimmt die Richtung ja!
-
Ok, Fernbedienungserkennung wird jetzt übersprungen. Wollte nur sichergehen, daß mir diese Erkennungsroutine keinen Strich durch die Rechnung macht und evtl. das Videobild verhindert.
Ich habe im BIOS auf S-Video stehen und diese Buchse auch angeschlossen; deshalb starte ich mit Parameter 2. Mit scheint aber, daß der DFB-Treiber eh alle vorherigen Einstellungen eh überschreibt.
Im BIOS habe ich:
AGP Aperture Size: 128M
AGP3.0 Mode: 8X
AGP Fast Write: Enabled
AGP 3.0 Calibration Cycle: Enabled
VGA Share Memory Size: 32M
Direct Frame Buffer: Enabled -
Tjaa, ich bin wieder etwas weiter aber nicht am Ziel.
Auf ein paar Tips von DrSat hin (Dank an ihn!) habe ich mir nochmal neu die Komponenten zusammengesucht und übersetzt:
- ctVDR 5 mit Kernel 2.6.16-ct-1 und passenden Headern
- ffmpeg
apt-get install ffmpeg - linux-FBDev-kernel-src_2.6.00.02a von viaarena
In accel.h "#define FB_ACCEL_VIA_UNICHROME 77" setzen
make && make install
viafb accel=1 active_dev=TV CRT_ON=0 TV_ON=1 refresh=60 tv_system=2 bpp=32 tv_level=2 tv_out_signal=2 - libcle266mpegdec-0.5
./configure --prefix=/usr && make && make install - DirectFB-1.0.0-rc1
./configure --prefix=/usr --disable-vnc --disable-sdl --with-gfxdrivers=cle266,unichrome --with-inputdrivers=lirc
make && make install - DFB++ gestern vom CVS
./autogen.sh --prefix=/usr
make && make install - VDR 1.4.5 mit softdevice Plugin vom CVS
Im softdevice source Verzeichnis: ./configure --disable-vidix
Im VDR Verzeichnis: make && make plugins
Folgende Ergebnisse...
Das liefert mir ein TV-Bild mit OSD und allem drum und dran, bloß langsam und ruckelig da ohne jegliche Beschleunigung:Code
Alles anzeigen# fbset -depth 16 # ./vdr -P"softdevice -ao alsa:pcm=default -vo fb:" ... [softdevice] initializing Plugin [softdevice] Initializing Video Out [softdevice] ffmpeg build(3349504) [video-fb] Initializing Driver [video-fb] Truecolor FB found [video-fb] init 640 x 480 (Size: 66830336 Bytes LineLen 1280) Bpp: 16 [video-fb] Clearing the FB [softdevice] Subplugin successfully opend [softdevice] Video Out seems to be OK [softdevice] Initializing Audio Out [softdevice] Audio out seems to be OK [softdevice] A/V devices initialized, now initializing MPEG2 Decoder
Das liefert mir nur das OSD aber kein TV-Bild:
Code
Alles anzeigen# fbset -depth 32 # ./vdr -P"softdevice -ao alsa:pcm=default -vo dfb:viatv" ... [softdevice] initializing Plugin [softdevice] Initializing Video Out [softdevice] ffmpeg build(3349504) [dfb] init =======================| DirectFB 1.0.0-rc1 |======================= (c) 2001-2006 United Cultures of Earth - go for outer space! (c) 2000-2004 Convergence (integrated media) GmbH ---------------------------------------------------------------- (*) DirectFB/Core: Single Application Core. (2007-01-16 09:35) ... [dfb] Enumerating display Layers [dfb] Configuring CooperativeLevel for OSD Layer 0 VIA CLE266 Graphics Type: graphics Caps: alphachannel brightness contrast opacity saturation src_colorkey surface Layer 1 VIA Unichrome Video Type: graphics picture video Caps: deinterlacing dst_colorkey levels field_parity opacity screen_location surface [dfb] (osdLayer): flags, options, pixelformat: 0000000f, 00000000 00418c04 [dfb] (osdLayer): width, height: 720 576 [dfb] osdLayer has alpha channel [dfb] Set DLBM_TRIPLE for layer [VIA Unichrome Video] [dfb] DLOP_FIELD_PARITY supported by layer [VIA Unichrome Video] [surface capabilities] scrSurface: videoonly double-buffered flipping PixelFormat = 0x00418c04 [dfb] width = 720, height = 576 [dfb] got fmt = 0x00418c04 bpp = 32 [dfb] Using this layer for OSD: (VIA CLE266 Graphics - [720x576]) [surface capabilities] osdSurface: videoonly double-buffered flipping PixelFormat = 0x00418c04 [dfb] Configuring CooperativeLevel for Overlay [surface capabilities] videoSurface: videoonly PixelFormat = 0x0810060a [dfb] Using this layer for OSD: VIA CLE266 Graphics [dfb] Using this layer for Video out: VIA Unichrome Video [dfb] Display frame time is 20006 microseconds [dfb] (re)configuring Videolayer to 720 x 576 (720x576) [dfb] SetParams: Enabling DLOP_FIELD_PARITY [surface capabilities] videoSurface: videoonly flipping triple-buffered PixelFormat = 0x08100609 [dfb] (re)configured 0x08100609 [softdevice] Subplugin successfully opend [softdevice] Video Out seems to be OK [softdevice] Initializing Audio Out [softdevice] Audio out seems to be OK [softdevice] A/V devices initialized, now initializing MPEG2 Decoder
Gleicher Effekt. OSD ist da, aber TV-Bild nicht:
Code
Alles anzeigen# ./vdr -P"softdevice -ao alsa:pcm=default -vo dfb:cle266:viatv" ... [softdevice] enabling CLE266 HW decoding [softdevice] enabling field parity ... [softdevice] initializing Plugin [softdevice] Initializing Video Out [softdevice] ffmpeg build(3349504) [dfb] init =======================| DirectFB 1.0.0-rc1 |======================= (c) 2001-2006 United Cultures of Earth - go for outer space! (c) 2000-2004 Convergence (integrated media) GmbH ---------------------------------------------------------------- (*) DirectFB/Core: Single Application Core. (2007-01-16 09:35) ... [dfb] Enumerating display Layers [dfb] Configuring CooperativeLevel for OSD Layer 0 VIA CLE266 Graphics Type: graphics Caps: alphachannel brightness contrast opacity saturation src_colorkey surface Layer 1 VIA Unichrome Video Type: graphics picture video Caps: deinterlacing dst_colorkey levels field_parity opacity screen_location surface Initialising CLE266 decoder (/dev/fb0): success! CLE266: Creating buffers for decoder CLE266: Creating buffer number 0 CLE266: Creating buffer number 1 CLE266: Creating buffer number 2 CLE266: Creating buffer number 3 CLE266: passing mpegfb_stride CLE266: passing buffers to decoder [dfb] (osdLayer): flags, options, pixelformat: 0000000f, 00000000 00418c04 [dfb] (osdLayer): width, height: 720 576 [dfb] osdLayer has alpha channel [dfb] Set DLBM_TRIPLE for layer [VIA Unichrome Video] [dfb] DLOP_FIELD_PARITY supported by layer [VIA Unichrome Video] [surface capabilities] scrSurface: videoonly double-buffered flipping PixelFormat = 0x00418c04 [dfb] width = 720, height = 576 [dfb] got fmt = 0x00418c04 bpp = 32 [dfb] Using this layer for OSD: (VIA CLE266 Graphics - [720x576]) [surface capabilities] osdSurface: videoonly double-buffered flipping PixelFormat = 0x00418c04 [dfb] Configuring CooperativeLevel for Overlay [surface capabilities] videoSurface: videoonly PixelFormat = 0x0810060a [dfb] Using this layer for OSD: VIA CLE266 Graphics [dfb] Using this layer for Video out: VIA Unichrome Video [dfb] Display frame time is 20006 microseconds [dfb] (re)configuring Videolayer to 720 x 576 (720x576) [dfb] SetParams: Enabling DLOP_FIELD_PARITY [surface capabilities] videoSurface: videoonly flipping triple-buffered PixelFormat = 0x08100609 [dfb] (re)configured 0x08100609 [softdevice] Subplugin successfully opend [softdevice] Video Out seems to be OK [softdevice] Initializing Audio Out [softdevice] Audio out seems to be OK [softdevice] A/V devices initialized, now initializing MPEG2 Decoder
Er wartet allerdings jedes mal am Anfang auf eine FB-Taste zum anlernen der Codes. Da ich noch keinen Empfänger angeschlossen habe, lasse ich die Zeit verstreichen, und danach startet er ja auch durch.
Noch ein paar infos:
Code
Alles anzeigen# fbset -i mode "720x576-60" # D: 32.668 MHz, H: 35.820 kHz, V: 60.000 Hz geometry 720 576 720 576 32 timings 30611 96 24 17 1 72 3 accel true rgba 8/16,8/8,8/0,0/0 endmode Frame buffer device information: Name : Via Address : 0xf4000000 Size : 66830336 Type : PACKED PIXELS Visual : TRUECOLOR XPanStep : 0 YPanStep : 1 YWrapStep : 0 LineLength : 2880 MMIO Address: 0xfb000000 MMIO Size : 16777216 Accelerator : Unknown (77) #/usr/bin/dfbinfo =======================| DirectFB 1.0.0-rc1 |======================= (c) 2001-2006 United Cultures of Earth - go for outer space! (c) 2000-2004 Convergence (integrated media) GmbH ---------------------------------------------------------------- (*) DirectFB/Core: Single Application Core. (2007-01-16 09:35) (*) Direct/Memcpy: Using MMXEXT optimized memcpy() (*) Direct/Modules: suppress module 'lirc' (*) Direct/Modules: suppress module 'joystick' (*) Direct/Modules: suppress module 'keyboard' (*) Direct/Modules: suppress module 'linux_input' (*) Direct/Modules: suppress module 'ps2mouse' (*) DirectFB/Genefx: MMX detected and enabled (*) Direct/Modules: suppress module 'cle266' (*) DirectFB/Graphics: VIA/S3G CN700/Unichrome Pro 0.4 (-) (*) DirectFB/Core/WM: Default 0.2 (Convergence GmbH) Screen (00) FBDev Primary Screen (primary screen) Caps: VSYNC POWER_MANAGEMENT Layer (00) VIA CLE266 Graphics (primary layer) Type: GRAPHICS Caps: SURFACE OPACITY ALPHACHANNEL SRC_COLORKEY BRIGHTNESS CONTRAST SATURATION Layer (01) VIA Unichrome Video Type: GRAPHICS VIDEO STILL_PICTURE Caps: SURFACE OPACITY SCREEN_LOCATION DEINTERLACING DST_COLORKEY LEVELS FIELD_PARITY SCREEN_POSITION SCREEN_SIZE Layer (02) VIA Unichrome DVD Subpicture Type: GRAPHICS VIDEO STILL_PICTURE Caps: SURFACE OPACITY
Hat noch irgendjemand eine Idee? Wie kann ich am Anfang vorübergehend das "softdevice-dfb Phase 1 Detecting RC code type" übergehen?
Danke,
Tom