Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qmlrhi切换url播放异常 #104

Open
orency opened this issue Aug 9, 2023 · 14 comments
Open

qmlrhi切换url播放异常 #104

orency opened this issue Aug 9, 2023 · 14 comments

Comments

@orency
Copy link

orency commented Aug 9, 2023

使用提供的qmlrhi示例,在其中加一个定时器模拟换源

property int it: 0
    Timer{
        running: true
        repeat: true
        interval: 10000
        onTriggered: renderer.source=getone()
    }
    function getone(){
        const     urls = ["rtp://239.49.8.56:9826",
                          "rtp://239.49.8.119:8000",
                          "rtp://239.49.8.33:8000"]                          
//        const     urls = ["http://[2409:8087:5e00:24::1f]:6060/ZTE_CMS/00000001000000060000000000000501/1.m3u8",
//                          "http://[2409:8087:5e00:24::1f]:6060/ZTE_CMS/08984400000000060000000000000323/1.m3u8",
//                          "http://[2409:8087:5e00:24::1f]:6060/ZTE_CMS/08984400000000060000000000000319/1.m3u8"]

        const url= urls[it%3]
        it=it+1
        return url
    }

切换几次后有一定概率出现声音音调被拉长,音画不同步
使用rtp流切换大概10次内就会出问题,http流概率小些但差不多20次内也会出问题,
甚至某些比较慢需要缓冲较长时间的源若切换时还没缓冲完加载成功会直接崩溃
日志
rtplog.txt
httplog.txt
httplog2.txt

@wang-bin
Copy link
Owner

wang-bin commented Aug 9, 2023

哪个版本?崩溃需要结合pdb提供调用栈,或生成minidump

@orency
Copy link
Author

orency commented Aug 9, 2023

就是最新的nightly版本mdk-sdk-windows-desktop-vs2022-x64,使用的qt6.5.2
dump&pdb.zip

@wang-bin
Copy link
Owner

log的最开始有git版本id你贴下,或者鼠标移到mdk.dll上悬停会出现文件信息,第一行的文件说明最后也有id。nightly可能会被新的包覆盖

@orency
Copy link
Author

orency commented Aug 10, 2023

0.21.1 (git 27cc547)Build for: Windows0x0600/10.0.22621 x86_64; MSVC1935; MSVCRT14.35.32215.0/msvcp140.dll; 15:25:21 Aug 9 2023

@wang-bin
Copy link
Owner

没看出什么问题。log里加载libass了但视频信息里没字幕,dump文件里有一个其他类型的流log里没有,很奇怪

@orency
Copy link
Author

orency commented Aug 10, 2023

rtp流是有四个空的隐藏式字幕轨道的(运营商的组播源)不知道干什么用的
dump文件与log不是同一次运行产生的.dump是你说需要我才再去运行了下产生的.dump那次是一开始放一个rtp流,后来再由定时器在上述开头的三个http流里切换,切换两次就崩了

@wang-bin
Copy link
Owner

目前没看出问题在哪,需要我这边能复现

@orency
Copy link
Author

orency commented Aug 11, 2023

还需要提供哪些信息呢?我就是用开头展示的代码导致的,另外还加个设置了初始url,并没有其他改动了
那三个http流公网应该是能播的,我又录了个同一期的minidump和log ,这回切换了大概5次出现音画不同步,10次就崩了
crashes.zip

@wang-bin
Copy link
Owner

你的流我打不开,用其他视频没复现

@wang-bin
Copy link
Owner

试下最新的包会不会崩溃

@orency
Copy link
Author

orency commented Aug 12, 2023

现在不会崩溃了,而是切换十几次后直接卡死无响应,需要强制关闭才行.
另外仔细观察后发现切换几次后其实是播放速率变得很慢,导致音调被拉长,并非音画不同步,音画其实是同步的.
那三个http流是ipv6的,不能播放可能是因为你没有ipv6地址
但我用这三个ipv4的http源去切换现象也是一样的

const urls=["http://61.178.233.214/liverespath/6b13fe5368d391761312a985ace065c0ecad2f5e/index.m3u8",
          "http://61.178.233.214/liverespath/bca6167afdef7fc773405c38e695b342c1d1eca0/index.m3u8",
          "http://61.178.233.214/liverespath/3f76badfb3a23d95f26ff573a93902bbdb8b8e98/index.m3u8"]

@wang-bin
Copy link
Owner

卡住没复现,windows上有时候声音变了复现了,mac上都正常

@orency
Copy link
Author

orency commented Aug 29, 2023

试了下最新版应该还是有这个问题,异常现象依旧.请问这个问题目前是没有办法修复了吗?

@wang-bin
Copy link
Owner

还不清楚原因

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants