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

rtp 播放问题 #45

Closed
orency opened this issue Dec 31, 2021 · 11 comments
Closed

rtp 播放问题 #45

orency opened this issue Dec 31, 2021 · 11 comments

Comments

@orency
Copy link

orency commented Dec 31, 2021

下载qmdkplay示例学习,默认参数播放组播流rtp:// 持续卡顿.
后直接在本机利用vlc搭建rtp流服务,现象依旧
尝试setBufferRange(0, INT64_MAX,true),现象依旧
尝试setBufferRange(0, INT64_MAX,false),可以正常播放10-20秒左右,然后彻底丢失声音并开始花屏卡顿
drop=true,minMs>0,仅一帧就完全卡住无法继续播放
换不同片源h264,hevc均无明显改善,甚至4k hevc 系统会跳一个驱动程序超时的弹窗.
环境 qt msvc 6.2.2 , win11,mdk-sdk 0.13.0, decoders:MFT:d3d=11,D3D11,DXVA,FFmpeg
同样环境ffplay和potplayer播放完全正常
后又尝试mdk-sdk提供的glfwplay.exe,异常现象完全相同,因此怀疑是mdk-sdk本身的问题
我是音视频新手,也不知猜的对不对🎄
如果不是mdk问题而是rtp流需要额外代码配置,还请作者指教一下😽

@wang-bin wang-bin closed this as completed Jan 1, 2022
@wang-bin
Copy link
Owner

wang-bin commented Jan 1, 2022

试试最新nightly包,不用设置什么

@orency
Copy link
Author

orency commented Jan 3, 2022

试试最新nightly包,不用设置什么

试了一下nightly,并没有太明显改进,异常现象依旧,基本只能维持10-20秒,然后就丢失声音,花屏卡顿,反复跳帧.
日志是这样的,烦请作者再看看到底什么原因
MDK 0.13.0 (git f19f54e) - Multimedia Development Kit. Copyright (c) 2016-2022 WangBin(QtAV author)
Build for: Windows0x0600 x86_64; MSVC1930; MSVCRT14.30.30705.0/msvcp140.dll; 12:23:18 Jan 2 2022
resizeGL>>>>>dpr: 1.239583, logical dpi: (96.000000,96.000000), phy dpi: (114.373837,114.629016)
MDK 0.13.0 (git f19f54e) - Multimedia Development Kit. Copyright (c) 2016-2022 WangBin(QtAV author)
Build for: Windows0x0600 x86_64; MSVC1930; MSVCRT14.30.30705.0/msvcp140.dll; 12:23:18 Jan 2 2022
get Context 0000020C099BE310/0000000000010001 has no local data for key 00007FFE4C1D6AB0, create 1(0000020C098A3860)
get Context 0000020C099BE310/0000000000010001 has no local data for key 0000020C04934D90, create 1(0000020C098A43C0)
UGL::opengl::Context::Local<struct mdk::abi::D3D11NativeBufferPool::ctx_res_t,struct mdk::abi::D3D11NativeBufferPool::ctx_res_t>::get Context 0000020C099BE310/0000000000010001 has no local data for key 0000020C0987C838, create 1(0000020C098A2DE0)
source d3d11 texture size: 1920x816, vpp out size: 1920x804

@wang-bin
Copy link
Owner

wang-bin commented Jan 3, 2022

setLogHandler()设置log输出然后把log贴下

@wang-bin
Copy link
Owner

wang-bin commented Jan 3, 2022

下载的和我本地编译的结果不一样,我查下

@wang-bin
Copy link
Owner

wang-bin commented Jan 3, 2022

试下最新的包

@orency
Copy link
Author

orency commented Jan 3, 2022

试下最新的包

感谢😽问题解决了
顺便提下setLogHandler()要是能提供写入日志文件的选项的话就能更方便反馈问题了.
因为qt creator的日志复制功能居然有bug,空行及之后的都无法被复制,浪费了好多时间😥

@orency
Copy link
Author

orency commented Jan 3, 2022

试下最新的包

又发现将h265 10bit(P010)文件 作为rtp流的片源时,
MFT:d3d=11完全黑屏,其他解码器D3D11,DXVA,FFmpeg等在2-5分钟内会丢失声音且不会自动恢复
但是直接播放该文件,上述解码器都没有任何问题
已经测试过ffplay和potplayer在相同环境正常播放

@wang-bin
Copy link
Owner

wang-bin commented Jan 4, 2022

又发现将h265 10bit(P010)文件 作为rtp流的片源时,

推流是用什么推的?

MFT:d3d=11完全黑屏

mft要装商店里的hevc解码插件

顺便提下setLogHandler()要是能提供写入日志文件的选项的话就能更方便反馈问题了.

setLogHandler可以自己写到文件里

log发一下吧

@orency
Copy link
Author

orency commented Jan 6, 2022

推流是用什么推的?

依然本机vlc推流的,排除网络因素

mft要装商店里的hevc解码插件

早就装了,不装应该直接放文件也放不了吧!
mft黑屏具有偶发性且概率较小,目前没发现规律.但是不黑屏时它同样会几分钟内丢失声音

log发一下吧

log.txt

@wang-bin
Copy link
Owner

没有时间长的hdr视频测试,vlc好像不能循环推流。我用ffmpeg推的用ffplay播也同样花屏

@orency
Copy link
Author

orency commented Jan 18, 2022

没有时间长的hdr视频测试,vlc好像不能循环推流。我用ffmpeg推的用ffplay播也同样花屏

不是hdr 而是10bit, hdr视频好像rtp流还没有传输的规范
在最新的MDK 0.13.0 (git bea9310)测试,问题已经解决了,至少测试的几个片源是这样,感谢😽
当然少部分蓝光原盘作为片源的h265 10bit rtp流用ffplay也是无法流畅播放,
可能是10bit rtp流 ffmpeg本身支持就不完整,测试过凡是h264 10bit的rtp流用ffplay也全部花屏

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