cjw1115 / enable-chromium-dolbyvision-system-decoding

Enable system level decoding of Dolby Vision in Chromium
35 stars 0 forks source link

无法播放flac音频 #5

Closed lns103 closed 1 year ago

lns103 commented 1 year ago

BV1gh411A7RG 这个视频同时有杜比视界和hi-res,这个浏览器无法打开hi-res(SDR视频的hi-res也无法打开),并且Hi-res切换失败之后刷新网页也会同时屏蔽杜比视界(这应该是b站web端的问题,清除cookie可以恢复)

这个问题可能与media foundation有关,也可能是我自己本地的media foundation坏了,使用 媒体播放器 放这个视频会提示不支持flac,但是实际是有声音的(电影与电视没有错误提示,有声音) image 并且可以看到 媒体播放器 是调用了系统flac解码器的 image

lns103 commented 1 year ago

同样打开MediaFoundation for Clear的情况下,edge canary可以播放flac音频,这个chromium和chrome canary都无法播放 image image

(并且发现这个浏览器似乎没法demux带有视频轨的mp4,会卡在 pipeline_state | "kStarting" ,纯音频的mp4可以demux,edge和官方chrome没有这个问题) (测试方法为直接把mp4塞video标签的src里,测试过直接拖入本地视频和从服务器网页加载)

lns103 commented 1 year ago

换了117.0.5882之后,MP4视频可以demux了,不会卡住,但是开了MediaFoundation for Clear的情况下mp4视频无法播放,并且杜比视界的视频并没有匹配dolbyvision,还是显示的hevc

cjw1115 commented 1 year ago

MediaFoundation 播放 FLAC 有两个参数在 chromium里面设置的不对,不过这个在微软那儿是 undocumented。

现在播放FLAC还是直接用 chrome 里面的FFMPEG(不开 MediaFoundation for clear)就好。

lns103 commented 1 year ago

还有一个问题是这个chromium和chrome canary开启MediaFoundation for clear之后就不能看hevc的mp4(没有画面),edge canary开启MediaFoundation for clear可以看hevc的mp4

lns103 commented 1 year ago

在浏览器看本地mp4杜比视界应该算一个伪需求,但希望能做出自动使用MediaFoundation来播放杜比视界视频流,其它走正常的方式,不然 BV1gh411A7RG 没法同时开杜比视界和无损,有强迫症😂

cjw1115 commented 1 year ago

还有一个问题是这个chromium和chrome canary开启MediaFoundation for clear之后就不能看hevc的mp4(没有画面),edge canary开启MediaFoundation for clear可以看hevc的mp4

这个合进去后应该就可以了。估计117版本的chrome 就可以支持。

4688957: Video: Enable HEVC bitstream converter for Media Foundation for clear | https://chromium-review.googlesource.com/c/chromium/src/+/4688957

cjw1115 commented 1 year ago

下面这个在Review,合并进去后 FLAC应该就可以在MediaFoundation for clear开启后播放了。

4686638: Audio: Support FLAC when Media Foundation for clear enabled | https://chromium-review.googlesource.com/c/chromium/src/+/4686638

cjw1115 commented 1 year ago

Hi @lns103, 有空可以试试这个版本,你这个issue里提到的问题基本都解决了。 https://github.com/cjw1115/enable-chromium-dolbyvision-system-decoding/releases/tag/clear_dolby_vision-without-MF_for_clear

lns103 commented 1 year ago

感觉这个版本有点问题,看视频的过程中遇到多次闪退,不知道该如何抓log,另外mp4的dolby vision视频会当作hevc播放

cjw1115 commented 1 year ago

感觉这个版本有点问题,看视频的过程中遇到多次闪退,不知道该如何抓log,另外mp4的dolby vision视频会当作hevc播放

试试这个新的版本,闪退问题应该不存在了。 https://github.com/cjw1115/enable-chromium-dolbyvision-system-decoding/releases/download/clear_dolby_vision-without-MF_for_clear/chromium_117.0.5908.1_clear_dolby_vision_atmos-fix-crash.exe

“mp4的dolby vision视频会当作hevc播放” 这个这版就是这样的,里面的FFMpeg demuxer不支持杜比视界。

lns103 commented 1 year ago

感谢,简单测试没问题了 (只不过又发现了一个bug,待我再开一个issue)