Error: Qt5 Video render error code 80040218
Asked Answered
I

4

7

When running an application in Qt5 made ​​using the QWebView, I accessed a page with a video player in HTML5, but the video does not play and qt/directshow shows the following error:

DirectShowPlayerService::doRender: Unresolved error code 80040218 DirectShowPlayerService::doRender: Unresolved error code 80040218

Details:

  • Qt5.1.1 MingW4.8 32bit
  • Windows 7 64bit

I suspect that is why my Windows is 64bit, but the *QT/MingW** runs on 32bit and maybe miss some DLL/LIB.

How can I resolve this?

Thanks.

Inferno answered 29/11, 2013 at 14:13 Comment(0)
G
8

The error code is rather generic: 0x80040218 VFW_E_CANNOT_RENDER "No combination of filters could be found to render the stream." and the typical cause is that the application cannot decode media feed because it lacks decoding components, such as codec for this video feed is not installed/available.

Gummosis answered 29/11, 2013 at 15:30 Comment(9)
I think I understand what you mean is that I need to use CODECs?Inferno
Yes, missing decoder (codec) is the typical cause. Note that you need 32-bit codec for 32-bit app, and 64-bit codec for 64-bit app.Gummosis
+1 for answer. Off-topic: Sorry'd like a personal opinion, ffmpeg or vlc ?Inferno
There is no certainty here, which codec is missing, so there is not good advice. You would prefer specific codec over code pack, but you need to know what codec (format) is missing exactly. Windows 7 already has H.264 video decoder, so I suppose another format is in question, possibly WebM? If it's WebM then it's code.google.com/p/webm/downloads/list or if you are at loss, you might want to install FFdshow.Gummosis
It is h264, I checked the supported formats, DEBUG returns the empty list. I think maybe my codecs are to Windows64bit, but I use MingW-32bit, so I was thinking of linking the "ffmpeg lib" (or VLC)Inferno
Linking is not going to help. You have DirectShow error, and so you need a standalone decoder integrated into Windows, so that it could be picked up through regular API. No static linking can resolve this.Gummosis
is there any way to not depend on the system of internal codecs?Inferno
Generally - yes, in your case - unsure, in scope of the asked question - unlikely.Gummosis
So back to the main question, work for me installing a 32bit codec.Inferno
L
3

You may check out 'LAV Filters'. It solved my rendering problem: 'DirectShowPlayerService::doRender: Unresolved error code 80040266'.

Download installer: http://forum.doom9.org/showthread.php?t=156191
And the source code: https://github.com/Nevcairiel/LAVFilters

Leek answered 20/8, 2017 at 3:40 Comment(0)
F
3

install K-Lite_Codec_Pack_1540_Basic in your machine, this error not related to pyqt5 and any other

Finding answered 21/3, 2020 at 6:29 Comment(2)
Yours is the first mention of pyqt5 in this Q&A. There seem to be many paths to successful rendering: what makes K-Lite_Codec_Pack_1540_Basic worth considering?Blinker
Please inform what errors you get and what is your motivation behind the action?Invaginate
S
0

If you are a developer, you can download and use ffmpeg to decode and encode your file to avi(windows) or mov(mac).

Symbolist answered 28/5, 2020 at 11:29 Comment(3)
And how do I embed this within QtWebkit? Since qtwebkit is a "browser" platform, that is, the intention is to open HTML pages with HTML5 video players. How would I make QtWebkit communicate with the decoder made in ffmpeg? Remember web pages can receive more than one video format. Give me an example of how to do it, thanks.Inferno
@GuilhermeNascimento then I think you should try that first, mp4 are very popular. But if you still want to convert it via ffmpeg, I don't have that much time on my hands, but I did check QtWebEngine(QtWebkit) supports "Signals" and "Slots" that is how you communicate with ffmpeg. FFmpeg is a CLI that means you have to communicate with it using the shell command available to you in your programming language, I use python, so don't know how its done properly in c++ a language a barely know.Symbolist
And what signals and slots should I use? Which QtWebkit class (does it have multiple interfaces)?Inferno

© 2022 - 2024 — McMap. All rights reserved.