海信播放 mkv

    技术2024-04-21  11

    买了一个海信电视 (LED42K11P), 可以接 USB 移动硬盘,直接播放其中的 mkv 等文件。使用中发现一些 mkv 无法播放

    用 mkvinfo 查看不能播放的文件,如下:

    nickx:/Applications/Mkvtoolnix.app/Contents/MacOS $ ./mkvinfo ~/Movie/Open.Season.2006.1080p.BluRay.x264-ESiR.mkv + EBML head |+ Doc type: matroska |+ Doc type version: 1 |+ Doc type read version: 1 + Segment, size 7282675670 |+ Seek head (subentries will be skipped) |+ EbmlVoid (size: 4025) |+ Segment information | + Timecode scale: 1000000 | + Muxing application: libebml v0.7.7 + libmatroska v0.8.1 | + Writing application: mkvmerge v2.1.0 ('Another Place To Fall') built on Aug 19 2007 13:40:07 | + Duration: 5175.584s (01:26:15.584) | + Date: Sun Dec 30 05:47:57 2007 UTC | + Segment UID: 0x92 0x5a 0x8d 0x80 0x47 0xa0 0x13 0xd2 0x9a 0x57 0xe0 0xb1 0x41 0x87 0x95 0xb4 |+ Segment tracks | + A track | + Track number: 1 | + Track UID: 3008761227 | + Track type: video | + Enabled: 1 | + Default flag: 1 | + Forced flag: 0 | + Lacing flag: 0 | + MinCache: 1 | + Timecode scale: 1 | + Max BlockAddition ID: 0 | + Codec ID: V_MPEG4/ISO/AVC | + Codec decode all: 1 | + CodecPrivate, length 130 (h.264 profile: High @L5.1) | + Default duration: 41.708ms (23.976 fps for a video track) | + Language: eng | + Name: x264 @ 10230kbps | + Video track | + Pixel width: 1920 | + Pixel height: 1040 | + Interlaced: 0 | + Display width: 1920 | + Display height: 1040 | + A track | + Track number: 2 | + Track UID: 3723460535 | + Track type: audio | + Enabled: 1 | + Default flag: 1 | + Forced flag: 0 | + Lacing flag: 1 | + MinCache: 0 | + Timecode scale: 1 | + Max BlockAddition ID: 0 | + Codec ID: A_AC3 | + Codec decode all: 1 | + Default duration: 32.000ms (31.250 fps for a video track) | + Language: eng | + Name: AC3 5.1 @ 640kbps | + Audio track | + Sampling frequency: 48000 | + Channels: 6 | + A track | + Track number: 3 | + Track UID: 3162890891 | + Track type: subtitles | + Enabled: 1 | + Default flag: 1 | + Forced flag: 0 | + Lacing flag: 0 | + MinCache: 0 | + Timecode scale: 1 | + Max BlockAddition ID: 0 | + Codec ID: S_TEXT/UTF8 | + Codec decode all: 1 | + Language: eng | + A track | + Track number: 4 | + Track UID: 955949746 | + Track type: subtitles | + Enabled: 1 | + Default flag: 0 | + Forced flag: 0 | + Lacing flag: 0 | + MinCache: 0 | + Timecode scale: 1 | + Max BlockAddition ID: 0 | + Codec ID: S_TEXT/UTF8 | + Codec decode all: 1 | + Language: swe | + A track | + Track number: 5 | + Track UID: 4217129601 | + Track type: subtitles | + Enabled: 1 | + Default flag: 0 | + Forced flag: 0 | + Lacing flag: 0 | + MinCache: 0 | + Timecode scale: 1 | + Max BlockAddition ID: 0 | + Codec ID: S_TEXT/UTF8 | + Codec decode all: 1 | + Language: fin | + A track | + Track number: 6 | + Track UID: 2746514592 | + Track type: audio | + Enabled: 1 | + Default flag: 0 | + Forced flag: 0 | + Lacing flag: 1 | + MinCache: 0 | + Timecode scale: 1 | + Max BlockAddition ID: 0 | + Codec ID: A_AC3 | + Codec decode all: 1 | + Default duration: 32.000ms (31.250 fps for a video track) | + Language: und | + Audio track | + Sampling frequency: 48000 | + Channels: 6 |+ EbmlVoid (size: 1024) |+ Cluster  

     

    关键在这行:  + CodecPrivate, length 130 (h.264 profile: High @L5.1)

    查看了一下 h.264 里关于 level 5.1 的描述 (http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels), 又 google 了一番,发现很多电视/硬件播放器等都只支持到 L4.1. 所以,考虑将 L5.1 转到 L4.1,貌似最好用的工具是 MediaCoder, 居然发现是国人折腾的。不由得感叹国内盗版的发达促进了视频转换软件的发展。 试着转换了一下,许是参数设置的问题, 转换出来的文件可能是参数设置的问题,清晰度大大下降, 而且转换过程极慢,估计即使使用 CUDA 也好几个小时。

     

    对于不能播放的文件,我也遇到一个不一样的情况

    nickx:/Applications/Mkvtoolnix.app/Contents/MacOS $ ./mkvinfo /Volumes/Movie/ Center/Crossbow.Inception.720p《盗梦空间》/crossbow.inception.720p.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 7034822683 |+ Seek head (subentries will be skipped) |+ EbmlVoid (size: 4028) |+ 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 21:52:48 | + Duration: 8887.963s (02:28:07.963) | + Date: Sun Nov 14 13:02:25 2010 UTC | + Segment UID: 0x8d 0x10 0x80 0x91 0xaa 0x8b 0x24 0x66 0xb2 0x72 0xc3 0x86 0xd4 0x09 0x72 0x1c |+ Segment tracks | + A track | + Track number: 1 | + Track UID: 197403056 | + Track type: audio | + Codec ID: A_DTS | + Audio track | + Sampling frequency: 48000 | + Channels: 6 | + A track | + Track number: 2 | + Track UID: 3594460600 | + Track type: subtitles | + Default flag: 0 | + Lacing flag: 0 | + Codec ID: S_TEXT/UTF8 | + A track | + Track number: 3 | + Track UID: 1 | + Track type: video | + Lacing flag: 0 | + MinCache: 1 | + Codec ID: V_MPEG4/ISO/AVC | + CodecPrivate, length 41 (h.264 profile: High @L4.1) | + Default duration: 41.708ms (23.976 fps for a video track) | + Video track | + Pixel width: 1280 | + Pixel height: 536 | + Display width: 1280 | + Display height: 536 | + Content encodings | + Content encoding | + Content compression | + Algorithm: 3 (header removal) | + Settings: length 1, data: 0x00 |+ EbmlVoid (size: 1143) ... |+ EbmlVoid (size: 101) |+ Cluster  

    这个文件不一样的地方是,它的 video track 在最后,不象其他的文件都是在第一个 track. 用 mmg 调整一下顺序就可以播放了。 调整顺序的过程也比较快, 大概 5 分钟吧

     

    试图进入海信电视的工厂模式,一直没能成功。

    最新回复(0)