Streaming using Qt - c++

I wanted to make a simple media player using Qt that streams a video. The input (video) is coming from an IP Camera. How do I do this? I have checked the QMediaPlayer class, but I cannot figure out how to set the source to the ip address so that I can get the video from the link. What should I do?

I'd recommend embedding VLC, i've done this a few times and it works out really well. Check out the project here
There is a sample project that is easy to follow included in the repo under examples/demo-player.

Related

What is the path from BITMAP[+WAVE(s)] to RTSP (Twitch) via C/C++ in Windows?

So I'm trying to get a basic tool to output video/audio(s) to Twitch. I'm new to this side (AV) of programming so I'm not even sure what to look for. I'm trying to use mainly Windows infrastructure and third party where not available.
What are the steps of getting raw bitmap and wave data into a codec and then into a rtsp client and finally showing up on Twitch? I'm not looking for code. I'm looking for concepts so I can search for as I'm not absolutely sure what to search for. I'd rather not go through OBS source code to figure it out and use that as last resort.
So I capture the monitor via Output Duplication and also the Sound on the system as a wave and the microphone as another wave. I'm trying to push this to Twitch. I know that there's Media Foundation on Windows but I don't know how far to streaming it can get as I assume there no netcode integrated in it? And also the libav* collection in FFMPEG.
What are the basic steps of sending bitmap/wave to Twitch via any of thee above libraries or even others as long as they work on Windows. Please don't add code, I just need a not very long conceptual explanation and I'll take it from there. Try to cover also how bitrate and framerate gets regulated (do I have do it or the codec does it)?
Assume absolute noob level in this area (concept-wise not code-wise).

Retrieve some data from a currently playing video file on windows?

I'd like to get the current time of a playing video and then read from a relevant subtitle file and stream the subtitles at the right time to a terminal-like window. Getting the subtitles directly from the video file would probably be more efficient, but I'd like to tackle one problem at a time.
What's the best way to do this?
I've looked at VLC's modules and such, but it seems I'd have to completely recompile it with my module for each targeted platform. Which I'd rather just have a standalone project in C++.
I've tried reversing through cheat engine so I could ReadProcessMemory(). but can't seem to find anything related to current time. Tried VLC and Windows Media Player.

OpenCV with uEye Cameras

I need to use OpenCV with uEye Ethernet Camera. The problem is that I wasn't finding some useful tips regarding some example codes.
The source code provided with the installation is really linked to MFC stuff which is not what I want. It's really complicated to get rid of that, it was causing me so much problems (CWnd, Afx, Dialogs...)
I would like to read some frames from the camera and record some snapshots.
You can find the whole SDK description here: https://en.ids-imaging.com/manuals-ueye-software.html
Just simply make and account and you can access it. The documentation is really good.
I found this document in the internet
http://master-ivi.univ-lille1.fr/fichiers/Cours/uEye_SDK_manual_enu.pdf

how to use DirectShow to render audio in C++

I am just starting to learn DirectShow with C++. I need to use DirectShow to record the audio and write it to a WAV file on the disk. I heard from other people that Win 7 does not allow for rendering audio using DirectShow.
In addition, I would like to know how should I start with recoding audio using DirectShow with C++? If there is sample source, it would be great.
Thanks in advance.
I think you may have misunderstood these other people. Windows Media Foundation is aimed to be the successor of DirectShow, but DirectShow is still a very valid technology on Windows 7.
The easiest thing to accomplish what you want to do, is to get it right using the GraphEdit tool first ( I assume you want to do this programmatically).
Create a graph that contains your audio device, a WavDestFilter, and a file writer.
Source -> WavDest -> File Writer
Play the graph. Stop the graph and you should have created a .wav file with the recorded audio. If you can get this right, then you need to do the whole thing programmatically.
There are a couple of samples in the SDK that show you how to programmatically add filters to a graph and connect them, that should enable you to get started.
WRT the WavDestFilter, IIRC it might not be in all versions of the SDK, you'll have to find an appropriate one. You also need to build it, and regsvr32 it, so that it will show up in your list of available filters in GraphEdit.
If this all seems a bit much, I would read through the DirectShow documentation on MSDN to at least get an overview of DirectShow.

combining separate audio and video files into one file C++

I am working on a C++ project with openCV. It is a simple web cam application with basic features like capturing pictures and videos. I have already been able to save video (w/o audio). Since openCV doesnot support audio processing, I was wondering if there is any way I can record audio separately in a different file and later combine those together to get one video file.
While searching on the internet, I did hear something about using ffmpeg with openCV. But I just cant figure out how to do it exactly.....
Can you guys help me? I would be very grateful... Thankyou!
P.S. I have used openCV and QT (for GUI)
As you said, opencv doesn't by itself deal with audio. However once you get a separate audio and video file, you can combine them using a technique called muxing. There are many many ways to do this. I use VirtualDub for most of my muxing needs, although it is windows only (not sure if that's a problem). I know ffmpeg is also capable of muxing (via the command line interface), I can't recall what the command is. There's also mplayer and a multitude of other programs out there to do this.
as far as i know openCV is good for video/image processing. To support audio processing, you can use other libraries e.g. PortAudio or C-sound.