nilaoda / DoViMuxer

Tool to make Dolby Vison mp4.
MIT License
92 stars 8 forks source link

双层FEL杜比视界转MEL #2

Open sw5163 opened 1 year ago

sw5163 commented 1 year ago

可以参考这个https://github.com/quietvoid/dovi_tool/discussions/168 我目前所知的苹果最多支持 MEL单层杜比 7.1 pcm 无损 或 9.1.6 eac3 atmos

大佬如果你有办法让苹果播放 FEL 双层杜比或者 TrueHD/Atmos 务必告诉我 感谢!

sw5163 commented 1 year ago

另外请问一下有没有啥比较好的方法能在ios上把那个蓝色的 文件app 里的视频直接移动到黑色的TV app里播放? 我现在用文件app SMB连接我的电脑播放,但是选不了字幕,所以我每次都手动设置lang tag=zho,就很麻烦, 苹果的界面也反人类。

sw5163 commented 1 year ago

mp4muxer现在有点问题,在iOS设备上会黑屏 https://github.com/DolbyLaboratories/dlb_mp4base/issues/28 建议全用MP4box,速度还快

nilaoda commented 1 year ago

mp4muxer现在有点问题,在iOS设备上会黑屏 DolbyLaboratories/dlb_mp4base#28 建议全用MP4box,速度还快

杜比官方的片源我测试过了 软件产出的是可以在iOS上播放的。不直接用mp4box是因为有的文件在直接用mp4box混流后会出现前后长度不一致的情况(时长变短)。不过现在mp4box已经更新到了2.1版本,也不知道修复这个bug没…索性我就还是加了一步mp4muxer了

sw5163 commented 1 year ago

mp4muxer现在有点问题,在iOS设备上会黑屏 DolbyLaboratories/dlb_mp4base#28 建议全用MP4box,速度还快

杜比官方的片源我测试过了 软件产出的是可以在iOS上播放的。不直接用mp4box是因为有的文件在直接用mp4box混流后会出现前后长度不一致的情况(时长变短)。不过现在mp4box已经更新到了2.1版本,也不知道修复这个bug没…索性我就还是加了一步mp4muxer了

我目前遇到有问题的是profile5,杜比官方那个吹玻璃的和其他流媒体p5只要用MP4muxer重混过就会黑屏。 Plex 论坛和makemkv论坛上面好多 ATV 也是这个问题 我用比较新的MP4box没遇到过长度问题 MP4muxer混蓝光巨慢,MP4box大概5min,MP4muxer得搞半个小时以上

nilaoda commented 1 year ago

我试的是海外的流媒体平台

sw5163 commented 1 year ago

我又试了一遍 https://developer.dolby.com/tools-media/sample-media/video-streams/dolby-vision-streams/ 里面那个UHD profile5吹玻璃的 直接播放没问题

ffmpeg -i video.mp4 -c copy dv.hevc 提取dv.hevc

mp4muxer -i dv.hevc --dv-profile 5 --dvh1flag 0 在 iPad pro 2017 (iOS16)上黑屏。

mp4box -add dv.hevc:dv-profile=5 -new p5.dvh1.mp4 正常。

mp4mux(bento4) --track dv.hevc#dv_profile=5,frame_rate=59.94 正常。

之前杜比的 XingzhaoYun 回过我这个有问题

我来用这个试一下 不行欸 DoViMuxer -i iOS.mp4 test.mp4 在 iPad pro 2017 (iOS16)上黑屏。

试了ATVP和AMZN的profile5也黑屏。

nilaoda commented 1 year ago
DoViMuxer -i iOS_P5_GlassBlowing2_3840x2160@59.94fps_15200kbps.mp4 test.mp4

手上没有iPad Pro, iOS是没问题的

IMG_7507

sw5163 commented 1 year ago

请问一下这个你用的是什么播放器呢 或者能麻烦您分享一下这个test视频嘛,我再试试

nilaoda commented 1 year ago

请问一下这个你用的是什么播放器呢 或者能麻烦您分享一下这个test视频嘛,我再试试

电脑开httpserver (python -m http.server 8888),然后safari直接点开文件就播了

test.mp4

sw5163 commented 1 year ago

我大概明白了 From yusesope: Those header indicate to the decoder how the information for the initialization of the latter is stored within the file. Changing the header with a hex editor isn't always enough! QuickTime on Mac is perhaps smarter enough and can retrieve the information needed to initialize the decoder. The iPad player is not capable of it. 虽然MP4muxer混流有问题但是苹果能恢复它,在比较强的处理器上可能是一样的,Mac 和新 iPhone 都能还原,老处理器估计算不过来就黑屏。我把这个视频放了七八分钟他就能播了,笑死 看来老ATV和老iPad性能不太行

nilaoda commented 1 year ago

放了七八分钟他就能播了……这也太秀了😂

nilaoda commented 1 year ago

我用新 MP4box 2.1 混了估计快100部各种 p5 p7 p8 文件了没啥问题,杜比官方的 mp4muxer 已经被我抛弃了 :)

我觉得可能之所以你没遇到时长问题是因为本身你用来混流的片源就已经是被混过的了 比如流媒体P5你用的是下载好的mkv/mp4 而不是直接从网站下载后解密的?不过平时我也很少自己解密,就之前遇到过那么几次

nilaoda commented 1 year ago

@sw5163 测试不经过mp4muxer,发现有点问题,不知道你遇到过吗

ffmpeg -i source.mkv -c copy source.hevc
mp4box -add source.hevc:dvp=5 -new 1.mp4

这是两者的mediainfo 左MKV 右MP4

image

可以看到mp4的HDR格式变多了(我只是截取了一段,全片的话这个会非常恐怖)

image

source.zip

sw5163 commented 1 year ago

之前他们有讨论这个hdr=none可以去掉重复的 https://github.com/gpac/gpac/issues/1991#issuecomment-1007999585 我自己HDR格式标签重复的播放没问题 所以我也懒得加这个指令

另外 https://forum.makemkv.com/forum/viewtopic.php?p=127769#p127769 https://forum.makemkv.com/forum/viewtopic.php?p=124725#p124725 貌似加了hdr=none会导致 LPCM 7.1 播放有问题,但是我没试过 虽然他们看起来毫无关系

dvp=5dv-profile=5的缩写吗 又学到了 :)

你的source这个是标准profile 5,现在新的mp4box会自己检测profile了 https://github.com/gpac/gpac/issues/1991#issuecomment-1263426298 所以除了故意把profile 8标成P5,应该没必要指定profile了

nilaoda commented 1 year ago

出于这个考虑可能还是无法跳过使用杜比官方的mp4muxer😂

新版本里dv-profile已经被弃用了

saindriches commented 1 year ago

苹果各平台都不支持 Profile 7 和 TrueHD Atmos,所以应该无解。 另外,Profile 7 FEL 的 RPU 是不一定能直接套用在 BL 上,做成 MEL 或者其他 Profile 的,因为 FEL 有时兼任反向亮度映射,此时 RPU 并不能和 BL 匹配。建议的做法是合并 BL 和 FEL 再重编码,由于通过 FEL 一定程度上恢复了色彩精度,可以考虑编码成 Profile 5。

sw5163 commented 1 year ago

苹果各平台都不支持 Profile 7 和 TrueHD Atmos,所以应该无解

你们要是有天空声道的音响可以帮忙测试一下这个文件吗 https://drive.google.com/file/d/1TdaM5b44oeZw8cu8bXKBFHj-CwTM04tX/view?usp=share_link 我没 7.1.4 的音响,感谢

ffmpeg -i "12_Channel_ID 1.wav" -i "12_Channel_ID 2.wav" -i "12_Channel_ID 3.wav" -i "12_Channel_ID 4.wav" -i "12_Channel_ID 5.wav" -i "12_Channel_ID 6.wav" -i "12_Channel_ID 7.wav" -i "12_Channel_ID 8.wav" -i "12_Channel_ID 9.wav" -i "12_Channel_ID 10.wav" -i "12_Channel_ID 11.wav" -i "12_Channel_ID 12.wav" -c pcm_s32le -filter_complex "join=inputs=12:channel_layout=7.1+TFL+TFR+TBL+TBR:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-BL|5.0-BR|6.0-SL|7.0-SR|8.0-TFL|9.0-TFR|10.0-TBL|11.0-TBR" 7.1.4.wav

新年快乐!