ich habe auf meinem Test-VDR yavdr 0.5 testing mit vdr 2.01. und softhddevice 0.6.0 laufen. In den Plugineinstellungen des softhddevices habe ich eine Audio/Videoverzögerung von 0ms und eine Audio Puffergröße von 600ms eingestellt.
Wenn ich die Wiedergabe eines Films starte, dann wird normalerweise auch "audio/alsa: start delay 600ms" geloggt. (Finde ich jetzt zwar etwas unglücklich, dass die Puffergröße hier als start delay bezeichnet wird, aber egal...)
Nun habe ich hier eine SD-Aufnahme (noch im PES-Format) bei der aber stets 400ms geloggt werden. (Ich habe hingegen auch andere ältere PES-Aufnahmen, bei denen das nicht der Fall ist.)
Ausgerechnet bei dieser Aufnahme tritt immer an der gleichen Stelle reproduzierbar ein Aussetzer im AC3-Ton (den ich per passthrough ausgebe) auf. Es gibt aber laut Project X keinen Fehler im Stream, jedoch einen kurzzeitigen Wechsel von ac3 5.1 auf 2.0 und zurück. Das hört man auch als Mini-Aussetzer, wenn man die vdr-Datei im VLC abspielt.
Ich frage mich nun, warum softhddevice die konfigurierte Audio-Puffergröße ignoriert und ob ich mit 600ms keinen oder einen kleineren Aussetzer hätte.
Ich habe die gleiche Aufnahme dann nochmal auf der mp2-Tonspur abgespielt. Dann wird die Puffergröße korrekt geloggt:
Jun 26 11:21:02 yavdr2 vdr: audio/alsa: using device 'iec958:AES0=0x4'
Jun 26 11:21:02 yavdr2 vdr: audio/alsa: start delay 600ms
Es gibt an der Problemstelle aber noch immer einen kurzen Tonaussetzer (ähnlich wie bei VLC), jedoch loggt softhddevice da nichts. Schön wäre es, wenn softhddevice das mit dem ac3-Ton auch so hinkriegen könnte.
Hier das Log bei Wiedergabe der Dolby Digital-Tonspur:
Jun 26 00:30:41 yavdr2 vdr: [1077] [softhddev]SetPlayMode: 1
Jun 26 00:30:41 yavdr2 vdr: [2632] dvbplayer thread started (pid=1077, tid=2632, prio=high)
Jun 26 00:30:41 yavdr2 vdr: [2632] resuming replay at index 0 (0:00:00.01)
Jun 26 00:30:41 yavdr2 vdr: [2633] non blocking file reader thread started (pid=1077, tid=2633, prio=high)
Jun 26 00:30:41 yavdr2 vdr: [2632] SetBrokenLink: no GOP header found in video packet
Jun 26 00:30:41 yavdr2 vdr: [softhddev] empty video packet 41 bytes
Jun 26 00:30:41 yavdr2 vdr: [2632] setting audio track to 33 (0)
Jun 26 00:30:41 yavdr2 vdr: audio/alsa: using pass-through device 'iec958:AES0=0x6'
Jun 26 00:30:41 yavdr2 vdr: audio/alsa: start delay 400ms
Jun 26 00:30:41 yavdr2 vdr: [softhddev] empty video packet 52 bytes
Jun 26 00:30:41 yavdr2 vdr: [softhddev] empty video packet 41 bytes
Jun 26 00:30:41 yavdr2 vdr: [softhddev] empty video packet 148 bytes
Jun 26 00:30:42 yavdr2 vdr: [softhddev] empty video packet 34 bytes
Jun 26 00:30:42 yavdr2 vdr: [softhddev] empty video packet 11 bytes
Jun 26 00:30:42 yavdr2 vdr: [softhddev] empty video packet 26 bytes
Jun 26 00:30:42 yavdr2 vdr: codec: buggy libav, use ffmpeg
Jun 26 00:30:42 yavdr2 vdr: video: slow down video, duping frame
Jun 26 00:30:42 yavdr2 vdr: video: speed up video, droping frame
Jun 26 00:30:42 yavdr2 vdr: video: 0:02:48.093 -341 3680 0/\ms 98+5 v-buf
Jun 26 00:30:43 yavdr2 vdr: [softhddev] empty video packet 11 bytes
...
Jun 26 00:31:13 yavdr2 vdr: [softhddev] empty video packet 37 bytes
Jun 26 00:31:13 yavdr2 vdr: [softhddev] empty video packet 22 bytes
Jun 26 00:31:13 yavdr2 vdr: [softhddev] empty video packet 180 bytes
Jun 26 00:31:14 yavdr2 vdr: audio/alsa: wait underrun error? 'Datenübergabe unterbrochen (broken pipe)'
Jun 26 00:31:14 yavdr2 vdr: [softhddev] empty video packet 22 bytes
Jun 26 00:31:14 yavdr2 vdr: audio/alsa: wait underrun error? 'Datenübergabe unterbrochen (broken pipe)'
Alles anzeigen
und hier das Log von Projekt X:
Mittwoch, 26. Juni 2013 00:26 Uhr MESZ
ProjectX 0.90.4.00 (30.03.2006)
-> working with collection 0
-> save normal log file
-> write all video data
-> write all other data
-> patch c.d.flagged infos of pictures
-> add sequence end code
-> set resolution in SDE
-> PVA: strictly specs. for audio streams
-> VOB: determine diff. Cell timelines
-> TS: ignore scrambled packets
-> TS: enhanced search for open packets
-> TS: join file segments (of Dreambox®)
-> TS: generate PMT stream dependent
-> get only enclosed PES/TS packets
-> concatenate different recordings
-> ensure 1st PES-packet start with video
-> generate PCR/SCR from PTS
-> write output files to: '/Multimedia/media'
-> Input File 0: '/Multimedia/media/001.vdr' (227.327.804 bytes)
-> Filetype is PES (incl. MPEG Video)
-> demux
-> found PES-ID 0xE0 (MPEG Video) @ 0
-> found PES-ID 0xC1 (MPEG Audio) @ 2048
-> found PES-ID 0xC0 (MPEG Audio) @ 4681
-> found PES-ID 0xBD (private stream 1) @ 13650
-> video basics: 720*576 @ 25fps @ 0.7031 (16:9) @ 15000000bps, vbvBuffer 112
-> starting export of video data @ GOP# 0
!> dropping useless B-Frames @ GOP# 0 / new Timecode 00:00:00.000
-> Video: fr/ ct/ 1p/ cg/ og/ dg -> 5866/ 1/ 0/ 489/ 0/ 0
-> Video length: 5866 frames @ 00:03:54.640
-> GOP summary: min. 12, max. 36 fields; contains interlaced frames
-> avg. nom. bitrate 6798795bps (min/max: 4320000/9868400)
-> set first sequenceheader bitrate to 9000000bps
---> new File: /Multimedia/media/001.m2v
--> MPEG Audio (0xC1)
-> check CRC of AC-3 / MPEG-Audio L1,2
-> delete CRC in MPEG-Audio Layer1,2
-> add frames
Audio PTS: first packet 00:02:47.399, last packet 00:06:42.215
Video PTS: start 1.GOP 00:02:47.633, end last GOP 00:06:42.273
-> adjusting audio at video-timeline
-> src_audio: MPEG-1, Layer2, 48000Hz, dual, 192kbps, CRC @ 00:00:00.000
audio frames: wri/pre/skip/ins/add 9776/0/0/0/0 @ 00:03:54.624 done...
---> new File: '/Multimedia/media/001.mp2'
--> MPEG Audio (0xC0)
-> check CRC of AC-3 / MPEG-Audio L1,2
-> delete CRC in MPEG-Audio Layer1,2
-> add frames
Audio PTS: first packet 00:02:47.428, last packet 00:06:42.244
Video PTS: start 1.GOP 00:02:47.633, end last GOP 00:06:42.273
-> adjusting audio at video-timeline
-> src_audio: MPEG-1, Layer2, 48000Hz, stereo, 256kbps, CRC @ 00:00:00.000
audio frames: wri/pre/skip/ins/add 9776/0/0/0/0 @ 00:03:54.624 done...
---> new File: '/Multimedia/media/001[1].mp2'
--> AC-3/DTS Audio
-> check CRC of AC-3 / MPEG-Audio L1,2
-> delete CRC in MPEG-Audio Layer1,2
-> add frames
Audio PTS: first packet 00:02:47.347, last packet 00:06:42.355
Video PTS: start 1.GOP 00:02:47.633, end last GOP 00:06:42.273
-> adjusting audio at video-timeline
!> missing syncword @ 16164, @ 00:00:00.000
!> found syncword @ 16168
-> src_audio: AC-3, CM, 3/2lfe(5.1), dn -25dB, cm -3.0dB, sm 0dB, 48000Hz, 448kbps @ 00:00:00.000
-> src_audio: AC-3, CM, 2/0(2.0), dn -23dB, 48000Hz, 448kbps @ 00:03:29.632
-> src_audio: AC-3, CM, 3/2lfe(5.1), dn -25dB, cm -3.0dB, sm 0dB, 48000Hz, 448kbps @ 00:03:29.824
audio frames: wri/pre/skip/ins/add 7332/0/0/0/0 @ 00:03:54.624 done...
---> new File: '/Multimedia/media/001.ac3'
summary of created media files:
.Video (m2v): 5866 Frames 00:03:54.640 '/Multimedia/media/001.m2v'
Audio 0 (mp2): 9776 Frames 00:03:54.624 0/0/0/0 '/Multimedia/media/001.mp2'
Audio 1 (mp2): 9776 Frames 00:03:54.624 0/0/0/0 '/Multimedia/media/001[1].mp2'
Audio 2 (ac3): 7332 Frames 00:03:54.624 0/0/0/0 '/Multimedia/media/001.ac3'
=> 225.686.564 bytes written...
-> we have 3 warnings/errors.
Alles anzeigen