I'm having a problem with creating 24/7 video player for my application on WPF and .NET Framework 4.0. Application shall run on kiosk and displays video clips from my playlist in a loop.
The problem is that after about 8 - 24 hours of continues playback the video frame freezes. Application does not raise any exception and continue work in normal mode: sound from video is played, video files are changed but the screen does not change.
I have been tried WPF MediaElement control and WPFMediaKit MediaUrlElement.
All tests have been done on Windows 7 (x32 and x64).
I have been tried play my playlist in a Windows Media Player 11 and it does not freeze after a few days of playback.
I have been using media files with different codec (mp4 H.263, .flv, .avi, .mkv, .wmv).
I’m using K-Lite Codec Pack Standard on all machines.
Does anybody know what the problem with video renderer in Windows 7 or Framework .NET 4.0 and how to find workaround for it?
Instead of continuously playing the playlist in a loop, you might try clearing and re-assigning the source to the mediaelement or creating a new mediaelement everytime the playlist reaches the start.
I realise that this doesn't solve the root cause of the problem, but it may be a workable workaround.
Yesterday I have removed K-Lite Codec pack from my machine and installed instead ffsshow + Haali Matroska Splitter and run another test. This test is running already about 25 hrs without any video problem.
So, hope, this was the codec issue and my test will work more then couple of days.
Related
I have an application written using .Net 4.5 and WPF and mainly for use in Windows 10. In this application, I have created a custom window for capturing images and videos, using leadtools (directshow) to control the camera. Everything looks great with my camera on most devices that I have tried it on except the Surface Pro 4, and that is the device that we have bought multiple of for testing the application. If the tablet is moving while I try to set the selected camera, it takes a little over 10 seconds for the cameras to actually switch. The time doesn't change much (within a 10 milliseconds) whether the tablet is moving a little at the moment I tell it to switch cameras or if I shake the tablet wildly till the 10 seconds passes and the preview starts back up. Then, if I leave my Surface Pro 4 on its stand on my desk and tell it to switch cameras, it switches cameras in less than half a second. Has anyone else seen this problem? Any idea how to fix this problem?
I'd like to pull a live video feed into WPF but the MediaElement doesn't appear to support these protocols. An example video stream is here (BP oil leak live feed):
http://mfile.akamai.com/97892/live/reflector:45683.asx?bkup=45684
Are there any solutions for playing live streaming formats in WPF?
I had hopes for using the VideoLan DotNet component but it appears to be incompatible with the latest VLC releases:
http://vlcdotnet.codeplex.com/
If you're talking an IP Camera, point the WPF Chrome browser to it:
http://chriscavanagh.wordpress.com/2009/08/27/wpf-3d-chromium-browser/
(you'll need to license the Awesomium wrapper if it's a commercial app).
If it's just webcam stuff, use the WPF MediaKit:
http://wpfmediakit.codeplex.com/
I've run both in Windows 7.
Looks like this isn't currently possible in Windows 7:
Link
I can open a video, play it and get position and set position, but nothing shows up in the video window on one pc. The code works fine a on a couple of PCs, but doesn't work on another. Does any one know or can refer me to what files I need to properly run MediaElement on XP pro.
Thanks,
Rob
You need at least Windows Media Player 10 or above to be able to use MediaElement properly. A default installation of Win XP doesn't include that. Vista and Win 7 does, however.
What media files you are trying to playback? To play the non just wmv files in WPF you need to have a codecs installed.
Your behavior is very strange and I have similar problem but only when WPF player have been played for a many hours and video renderer stops render the video w/o any error reporting.
I could advise you to install the codecs (or re-install, if you have them already installed). Try to use ffdshow + Haali Media Splitter. This combination allows me to play any media type. And do not install the K-Lite Codec Pack, seems I have my own problem with freezing media because of using it.
I have some simple WPF with a MediaElement which is, generally, working.
I have some simple AVIs and WMVs which are working.
I have a DivX AVI that works fine in Media Player but doesn't render at all in the WPF MediaElement control. It plays the audio fine, but graphically has zero size and doesn't render any video!
I have tried using the WPF Media Kit at wpfmediakit.codeplex.com and manage to extract an error from that: Could not render any streams from the source Uri.
The RenderCapability.Tier reports 0x00020000 (Tier 2) - the graphics card should be capable!
Are you on an x64 operating system? If so compile your application as x86 instead of any CPU. This will ensure your application will be able to load what are most likely 32bit DirectShow filters.
You need to use a codec that is supported under WPF. DivX isn't.
I am using media element to render video in WPF. All videos are working fine except H.264 videos. They have some stuttering problem while they are rendered on screen. My machine configuration is much more than the recommended requirement to play for this video. Another surprising fact is that the video renders perfectly fine when I play this in Window Media Player or any other player.
Any solution or any alternative to MediaElement?
You can try my MediaUriElement from my open source project here: http://wpfmediakit.codeplex.com
It has better media compatibility than MediaElement, but if it's a decoder filter problem or a performance problem, my project won't be able to help. What h264 codec are you using. You may want to try out ffdshow from http://ffdshow-tryout.sourceforge.net/.
-Jer
WPF does not support H.264 videos