松下电视中的 x264 MKV 帧冻结

松下电视中的 x264 MKV 帧冻结

在我的 Panasonic DX650 系列电视上播放 MKV 视频文件后,视频在开始后约 10 分钟开始冻结,但音频和字幕没有问题。在前 10 分钟之前一切都很好,视频播放流畅,10 分钟后,视频看起来像照片幻灯片;帧每 10 秒更改一次,直到视频结束。

我尝试使用 Meteorite v0.11 修复此问题,但没有任何变化。

以下是使用 MediaInfo 的有关 MKV 文件的一些信息:

General
Format                                   : Matroska
Format version                           : Version 4 / Version 2
File size                                : 1.41 GiB
Duration                                 : 1 h 42 min
Overall bit rate                         : 1 958 kb/s
Writing application                      : mkvmerge v6.6.0 ('The Edge Of The In Between') built on Dec  1 2013 17:55:00
Writing library                          : libebml v1.3.0 + libmatroska v1.4.1

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : [email protected]
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 5 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 1 h 42 min
Nominal bit rate                         : 1 765 kb/s
Width                                    : 1 920 pixels
Height                                   : 808 pixels
Display aspect ratio                     : 2.40:1
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.047
Writing library                          : x264 core 135 r2345 f0c1c53
Encoding settings                        : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=18 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=6 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=2pass / mbtree=1 / bitrate=1765 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Default                                  : Yes
Forced                                   : No

Audio
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : HE-AAC / LC
Codec ID                                 : A_AAC
Duration                                 : 1 h 42 min
Channel(s)                               : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 kHz / 24.0 kHz
Frame rate                               : 23.438 FPS (1024 spf)
Compression mode                         : Lossy
Language                                 : English
Default                                  : Yes
Forced                                   : No

在 Windows 7 中使用 VLC Media Player 播放视频文件没有问题。我也尝试过使用不同的 USB 闪存驱动器、USB 3.0 和外部硬盘;都一样。

是什么原因导致了这个问题?如何解决?

编辑:我尝试了另一个具有以下规格的 MKV 文件,并且播放流畅,但这是一部黑白电影,所以我不确定这是否是一个公平的比较。

第一个 MKV 文件到底有什么问题?

General

Format                           : Matroska
Format_Version                   : Version 4 / Version 2
FileSize/String                  : 2.15 GiB
Duration/String                  : 1 h 58 min
OverallBitRate/String            : 2 607 kb/s
Encoded_Date                     : UTC 2016-10-04 14:49:32
Encoded_Application/String       : mkvmerge v9.2.0 ('Photograph') 64bit
Encoded_Library/String           : libebml v1.3.3 + libmatroska v1.4.4

Video
ID/String                        : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format_Profile                   : High@L5
Format_Settings_CABAC/String     : Yes
Format_Settings_RefFrames/String : 4 frames
CodecID                          : V_MPEG4/ISO/AVC
Duration/String                  : 1 h 58 min
BitRate/String                   : 2 500 kb/s
Width/String                     : 1 920 pixels
Height/String                    : 1 440 pixels
DisplayAspectRatio/String        : 4:3
FrameRate_Mode/String            : Constant
FrameRate/String                 : 23.976 (24000/1001) FPS
ColorSpace                       : YUV
ChromaSubsampling/String         : 4:2:0
BitDepth/String                  : 8 bits
ScanType/String                  : Progressive
Bits-(Pixel*Frame)               : 0.038
StreamSize/String                : 2.06 GiB (96%)
Encoded_Library/String           : x264 core 148 r2694 3b70645
Encoded_Library_Settings         : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=18 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=2500 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Default/String                   : Yes
Forced/String                    : No

Audio
ID/String                        : 2
Format                           : AAC
Format/Info                      : Advanced Audio Codec
Format_Profile                   : LC
CodecID                          : A_AAC
Duration/String                  : 1 h 58 min
BitRate/String                   : 105 kb/s
Channel(s)/String                : 2 channels
ChannelPositions                 : Front: L R
SamplingRate/String              : 48.0 kHz
FrameRate/String                 : 46.875 FPS (1024 spf)
Compression_Mode/String          : Lossy
Video_Delay/String               : 9 ms
StreamSize/String                : 88.6 MiB (4%)
Language/String                  : English
Default/String                   : Yes
Forced/String                    : No

Text
ID/String                        : 3
Format                           : UTF-8
CodecID                          : S_TEXT/UTF8
CodecID/Info                     : UTF-8 Plain Text
Duration/String                  : 1 h 56 min
BitRate/String                   : 41 b/s
ElementCount                     : 1523
StreamSize/String                : 35.4 KiB (0%)
Language/String                  : English
Default/String                   : No
Forced/String                    : No

答案1

播放的文件实际上有更高要求比没有的更高,因为平均比特率更高,而且H.264级别。所以并不是你的电视不支持它。这可能是电视解析器中的一个错误,它只会由你尝试播放的特定比特流触发。

您可以尝试重新混合该文件:

ffmpeg -i broken.mkv -c copy output.mkv

这不会改变比特流本身,但如果 MKV 容器中出现问题,它可能会有所帮助。

如果这不起作用,您可以尝试重新编码不起作用的文件:

ffmpeg -i broken.mkv -c:v libx264 -c:a copy -crf 23 output.mkv

这将使用恒定质量编码模式 (CRF),让编码器为您的输入视频选择合适的比特率。如果重新编码的视频质量太低,请选择较低的 CRF(如 18–21)。

然后使用新编码的文件再试一次。

相关内容