Project

General

Profile

Actions

Bug #555

closed

mkv produced by tvheadend are not playable by dedicated hardware players that support othrwyse most mkv

Added by Eric Valette almost 14 years ago. Updated over 13 years ago.

Status:
Fixed
Priority:
High
Assignee:
Category:
PVR / DVR
Target version:
Start date:
2011-06-07
Due date:
% Done:

60%

Estimated time:
Found in version:
git 5 June.
Affected Versions:

Description

I have two DLNA 1.5 DMP that refuse to read the tvheadend produced mkv:
1) Orange UHD86 STB <http://www.porciello.com/inventel/uhd86.html&gt;. The firmware I have now does support mkv and I do manage to stream to the box mkv I created form ARTE HD using ffmepg to manually convert mpeg2ts to mkv. The TVheadend generated mkv are unplayable,
2) LG DP1B <http://www.reviewbloger.com/lg-dp1b-media-player-review> that also plays the file I created or downloaded from internet

mkvinfo of a good file :

mkvinfo Tucker.mkv
+ EBML head |+ EBML version: 1 |+ EBML read version: 1 |+ EBML maximum ID length: 4 |+ EBML maximum size length: 8 |+ Doc type: matroska |+ Doc type version: 2 |+ Doc type read version: 2
+ Segment, size 5791460748 |+ Seek head (subentries will be skipped) |+ EbmlVoid (size: 143) |+ Segment information | + Timecode scale: 1000000 | + Title: Tucker | + Muxing application: Lavf52.56.1 | + Writing application: Lavf52.56.1 | + Segment UID: 0x4e 0x92 0x4c 0xea 0x4f 0x56 0xe8 0x5e 0x65 0xa4 0x1d 0x0c 0x55 0x66 0xe4 0x8f | + Duration: 6217.016s (01:43:37.016) |+ Segment tracks | + A track | + Track number: 1 | + Track UID: 1 | + Lacing flag: 0 | + Timecode scale: 1 | + Language: und | + Codec ID: V_MPEG4/ISO/AVC | + Track type: video | + Video track | + Pixel width: 1440 | + Pixel height: 1080 | + Display width: 1920 | + Display height: 1080 | + CodecPrivate, length 43 (h.264 profile: Main @L4.0) | + A track | + Track number: 2 | + Track UID: 2 | + Lacing flag: 0 | + Timecode scale: 1 | + Language: fra | + Codec ID: A_MPEG/L2 | + Track type: audio | + Audio track | + Channels: 2 | + Sampling frequency: 48000 |+ Cluster

mkvinfo of a bad file:

+ EBML head |+ EBML version: 1 |+ EBML read version: 1 |+ EBML maximum ID length: 4 |+ EBML maximum size length: 8 |+ Doc type: matroska |+ Doc type version: 2 |+ Doc type read version: 2
+ Segment, size 5217377982 |+ Seek head (subentries will be skipped) |+ EbmlVoid (size: 4025) |+ Segment information | + Timecode scale: 1000000 | + Muxing application: libebml v1.0.0 + libmatroska v1.0.0 | + Writing application: mkvmerge v4.4.0 ('Die Wiederkehr') built on Oct 31 2010 17:31:36 | + Duration: 5319.783s (01:28:39.783) | + Date: Mon Dec 20 20:18:55 2010 UTC | + Title: Sting Concert | + Segment UID: 0x51 0x39 0x3b 0x76 0x7d 0xd9 0x60 0x28 0x5b 0xb0 0x9f 0x3a 0xa0 0x13 0x0f 0x92 |+ Segment tracks | + A track | + Track number: 1 | + Track UID: 1 | + Track type: video | + Lacing flag: 0 | + MinCache: 1 | + Codec ID: V_MPEG4/ISO/AVC | + CodecPrivate, length 39 (h.264 profile: Unknown @L10.3) | + Default duration: 40.000ms (25.000 fps for a video track) | + Video track | + Pixel width: 1440 | + Pixel height: 1088 | + Display width: 30 | + Display height: 17 | + A track | + Track number: 2 | + Track UID: 2 | + Track type: audio | + Codec ID: A_MPEG/L2 | + Default duration: 24.000ms (41.667 fps for a video track) | + Language: fra | + Audio track | + Sampling frequency: 48000 | + Channels: 2 | + Content encodings | + Content encoding | + Content compression | + Algorithm: 3 (header removal) | + Settings: length 1, data: 0xff | + A track | + Track number: 3 | + Track UID: 3 | + Track type: audio | + Default flag: 0 | + Codec ID: A_MPEG/L2 | + Default duration: 24.000ms (41.667 fps for a video track) | + Language: deu | + Audio track | + Sampling frequency: 48000 | + Channels: 2 | + Content encodings | + Content encoding | + Content compression | + Algorithm: 3 (header removal) | + Settings: length 1, data: 0xff | + A track | + Track number: 4 | + Track UID: 4 | + Track type: subtitles | + Lacing flag: 0 | + Codec ID: S_DVBSUB | + CodecPrivate, length 4 | + Language: fra | + A track | + Track number: 5 | + Track UID: 5 | + Track type: subtitles | + Default flag: 0 | + Lacing flag: 0 | + Codec ID: S_DVBSUB | + CodecPrivate, length 4 | + Language: ger | + A track | + Track number: 6 | + Track UID: 6 | + Track type: subtitles | + Default flag: 0 | + Lacing flag: 0 | + Codec ID: S_DVBSUB | + CodecPrivate, length 4 | + Language: fra |+ EbmlVoid (size: 1226) |+ Cluster

Note that the producer is marked to be mkvmerge instead of tvheadend because I used it to remove start and end but the stream description is otherwyse unmodified. I checked with original tvheadend recordings.

Now the differences:
1) The fact that the tvheadend file has subtitle and additional audio does not matter. I removed them using mmg and it did not chnage anything
2)Video track | + Pixel width: 1440 | + Pixel height: 1088 <=== strange should be 1080 as on ffmpeg produced output
missing: | + Display width: 1920 | + Display height: 1080
Probably bad:
CodecPrivate, length 39 (h.264 profile: Unknown @L10.3). All file I have seen have something like
CodecPrivate, length 43 (h.264 profile: Main @L4.0) (or @L4.1) but not unknown. I can alter other flags using mmg
but not this one. Altering other flags do not fix the problem on at least one hardware decoder.


Files

codecs.pdf (122 KB) codecs.pdf Eric Valette, 2011-06-14 18:28
mkv_h264_fix_v2.patch (9.45 KB) mkv_h264_fix_v2.patch tvheadend H264 fix patrick boissonade, 2011-10-20 14:44
mkvmerge_support_bad_mkvh264.patch (12 KB) mkvmerge_support_bad_mkvh264.patch mkvmerge patch to fix bogus mkv patrick boissonade, 2011-10-20 14:44
tvheadend-mkvinfo.txt (1.96 KB) tvheadend-mkvinfo.txt William Velde, 2011-10-23 21:06
tvheadend-patched-mkvinfo.txt (2 KB) tvheadend-patched-mkvinfo.txt William Velde, 2011-10-23 21:06
test.ts (5.72 MB) test.ts William Velde, 2011-10-23 22:05
Actions

Also available in: Atom PDF