How to play mp4 videos using MCI device - vb.net

Using the mciSendString command I am able to play avi, mpeg, mp3, etc. but I am unable to play mp4. Here in this web-site it says I can play any videos provided that I have the correct codecs. I am able to play mp4 using my other media players (eg. vlc player). How can I play mp4 videos or how can I make the MCI device auto detect the necessary driver type and play the videos ?

VLC embeds its MPEG-4 parser and codecs within the applciation and does not share it with the system. You need "true" codecs which register with Windows and extend standard API with support for MPEG-4. If you don't feel like looking for specific codec to install, perhaps the easiest would be to install a codec pack such as K-Lite.

Related

S3 video play in edge and react native but not chrome or firefox

one of the user of the app I work for has an issue, all the video she upload doesn't work in an HTML5 video player, except on Edge and Safari for iOS (and if it works there I assume it could work in other browsers)
The video can be played in our react-native app or after being downloaded, but not directly using the S3 or cloudfront link
Since the vieos from the other users work, I'm assuming it's related to encryption and S3 specifications, does anyone have met this problem and found a solution ?
EDIT: forgot to put a sample link
https://video-reetags.s3.eu-west-3.amazonaws.com/compressed/aed0a512a419334fe5d0c0c6fb4094a21610642052.mp4
Since the videos from the other users are working fine, I'm assuming it's related to encryption and/or S3 specifications...
No, the problem is not encryption or S3 server issues.
Your MP4 container has video in HEVC format (aka H.265), which is not supported in Chrome or Firefox. You should still be able to hear the sound part since AAC audio is supported.
Playing the video is possible with React-Native and other (native) video players because they rely on the O.S running the player App to decode video. If a browser brand didn't buy a license for HEVC then that browser cannot play it.
Solution:
Re-encode such videos to MP4 containing H.264 with AAC audio (...not H.265 with AAC).
Re-encoding takes time but it's the only way for now. Either the user does it before any uploading, or your own app accepts any file and re-encodes the "not supported" ones on server-side (eg: using FFmpeg or GStreamer tool).

Playing base64 webm audio on Safari

I've tried a bunch of things to no avail. Setting the src of an audio element to the following base64 webm dataurl snippet and playing it works in most browsers, but is failing in Safari. Pasting the snippet in the location bar even works in Chrome.
https://gist.github.com/mayorbyrne/99e47f58eefcfe72e84e3e320d136c2c#file-gistfile1-txt
I am able to play a base64 encoded mp3 dataurl, as the following fiddle I found in another response works: https://www.jsfiddle.net/apo299od -- In addition, I've tried replacing the beginning of the snippet data:audio/webm with data:audio/mp3 (works in Chrome, etc), and that moves me further along, but the audio doesn't actually play, it just flashes the audio symbol in the browser for a quick second.
Just wondering if I am spinning my wheels here, or if there is a way to get this snippet playing in an audio element on Safari.
Safari on iOS doesn't support the Vorbis / Opus audio codecs in WebM and on desktop only via third-party extensions like the VLC Web Browser plugin. Safari on iOS 11+ / macOS High Sierra+ can play Opus only if it's in a CAF container.
Note: Safari on iOS supports low-complexity AAC audio, MP3 audio, AIF audio, WAVE audio, and baseline profile MPEG-4 video. Safari on the desktop (Mac OS X and Windows) supports all media supported by the installed version of QuickTime, including any installed third-party codecs
source: https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/AudioandVideoTagBasics/AudioandVideoTagBasics.html
Safari can support Ogg Opus files with WebAssembly decoding. You can see the demo and code below. Not as simple as using an <audio> element, but you will get faster, low-latency playback using the Web Audio API:
https://github.com/AnthumChris/fetch-stream-audio

Red5 general advice

I am starting development on a project containing a web browser video streaming module.
I am seeking advice on whether a Red5 server will be useful or not required as I am new to the video streaming arena -
Users will upload video footage in all formats, .MOV .MPEG4 .AVI .WMV .MPEGPS .FLV .3GPP, and I need to allow other users to stream the videos youtube style (not live).
Thanks
Red5 would be useful for this, but only certain media formats are supported for Video on demand VOD streaming. Any other formats would need to be transcoded into flv or mp4.

All the examples of WebRTC are video chat, is it possible to send any type of video over WebRTC?

So I want to be able to send a normal video from a video file (AVI or any other) through WebRTC, can that be done? The only examples I see of WebRTC are video chats, so I feel as if its only geared towards webcam and chats.
So my question is, technically can sending normal video from a video file (not webcam) over WebRTC be done?
Try: "Pre-recorded media streaming" --- Documentation and Source Code.
This experiment uses MediaSource API to render Blobs in <video> element. This experiment has some issues need to be fixed e.g. it can't send longer WebM videos.
You can try this experiment as well.
The codecs typically used in AVI are not directly supported by WebRTC clients, but if you are writing your own standalone client then of course it could read an AVI or other video file and transcode it to VP8 video and Opus audio (or whatever other codecs you were able to negotiate), and transmit it via RTP. If you are trying to do video transcoding in JavaScript in a browser then that will be very slow.

mp3 files not supported by phonon

I am using Qt SDK 4.6 for developing a simple music player on windows XP.
I have checked available mime types supported by phonon and according to it my phonon supports mp3 files
Yet as i try to play an audio file of .mp3 format using my music player mediaObject moves in Error State and the error i get is
Fatal Error : No combination of filters could be found to render the stream
Secondly, I want to know how can i provide support for other audio files which are not currently supported by phonon like as .ogg file.
Please help.
Phonon is just an abstraction layer over a media player backend. Check the overview here and look for the Backends section.
You need to install mp3 codecs for your target backend. If you're on Windows, this is making sure you have mp3 playback in DirectShow/DirectX. Your error implies that you don't have any DirectShow filters for mp3