ijkplayer icon indicating copy to clipboard operation
ijkplayer copied to clipboard

k0.11.8 版本note里面写的 support Network or Local Blu-ray Disc/BDMV,经测试发现远程的 iso 镜像播放报错。

Open huaibaobao2017 opened this issue 1 year ago • 9 comments

ffmpeg的协议里支持bluray协议,但貌似只支持本地路径,想了解下远程播放的实现逻辑。

huaibaobao2017 avatar Nov 10 '24 07:11 huaibaobao2017

估计是传给播放的地址有问题,比如现在 smb 服务器上有个 iso 的文件,地址如下:

smb2://user:password@host/videos/xx.iso

那么传给播放器的地址需要先百分号编码,然后加上 bluray:// 前缀,即:

bluray://smb2%3A%2F%2Fuser%3Apassword%40host%2Fvideos%2Fxx.iso

debugly avatar Nov 11 '24 01:11 debugly

的确可以了。谢谢

huaibaobao2017 avatar Nov 11 '24 07:11 huaibaobao2017

另外想请教下,播放远程iso文件的实现原理是啥?是通过代码的方式挂载镜像还是什么办法实现?我之前测试过貌似只支持本地路径。谢谢

huaibaobao2017 avatar Nov 11 '24 08:11 huaibaobao2017

对bluray库做了移植,支持了Apple各个平台,然后自定义bluray读取数据的方式,替代本地file方式的默认实现,自定义读取数据层内部调用了 FFmpeg 内置的 url protocol 层,所以理论上可以支持任意协议播放 iso 镜像。 实现起来还是很麻烦的,不介意的话买杯咖啡给我哈。

debugly avatar Nov 11 '24 10:11 debugly

对bluray库做了移植,支持了Apple各个平台,然后自定义bluray读取数据的方式,替代本地file方式的默认实现,自定义读取数据层内部调用了 FFmpeg 内置的 url protocol 层,所以理论上可以支持任意协议播放 iso 镜像。 实现起来还是很麻烦的,不介意的话买杯咖啡给我哈。

经测试发现有个bug。测试过一些镜像,有些可以正常播放,有些不行(只能播放第一段,远程和本地都一样的问题)。 不行的这些iso镜像可能是分了好几段的,比如第一段是几秒钟,然后后面才是真正完整的内容。使用ijk只能播放第一段,然后就触发了eof了,不会再接着播放。我使用mpv来播放是可以正常播放的,播放顺序和ijk一样,但是mpv能接着后面的stream播放。

比如这个镜像: magnet:?xt=urn:btih:7409fb070f9e01e0cddfd42dd4d75ff1a7829d16&dn=%E3%80%90%E9%AB%98%E6%B8%85%E6%8E%A7%E8%81%94%E7%9B%9F%E3%80%91%5B%E5%8E%9F%E7%9B%98%5D%E4%BC%8D%E4%BD%B0%E5%85%89%E5%92%8C%E7%83%AD%EF%BC%9A%E6%97%A0%E5%B0%BD%E9%97%AA%E4%BA%AE%E7%9A%84%E4%B8%96%E7%95%8C%E5%8F%B0%E5%8C%97%E6%BC%94%E5%94%B1%E4%BC%9A.Wubai.%26.China.Blue.-.Light.%26.Hot.Live.In.Taipei.2014.1080i.Blu-ray.AVC.DTS-HD.MA.5.1-TTG&xl=46511021461

huaibaobao2017 avatar Nov 22 '24 04:11 huaibaobao2017

bluray://longest 可能需要加一个这样的参数。

huaibaobao2017 avatar Nov 22 '24 09:11 huaibaobao2017

现在的逻辑是查找时间最长的一段播放,你那不是这样吗?

debugly avatar Jan 07 '25 07:01 debugly

现在的逻辑是查找时间最长的一段播放,你那不是这样吗?

大部分ISO是正常的,但是上面发的那个链接里的镜像只能播放第一段视频(9秒钟,播放完成后就触发了eof)。可能是第一段视频因为没有音轨的原因导致的。

huaibaobao2017 avatar Jan 07 '25 07:01 huaibaobao2017

这个视频比较大,我下载试试吧

debugly avatar Jan 07 '25 08:01 debugly

这个视频里的播放列表有些特殊,后续在 FSPlayer 上尝试修复。

debugly avatar Apr 28 '25 13:04 debugly