I know, there are apps out there like steam, Xbox that streams the game video onto network. What I want is the same thing but i need to make my own code for the purpose (open source), so that I may amend it for different applications without any copyright issues. I know Winsock programming and can transmit sample videos (mp4 files) but this thing of capturing the display on one system and producing it on some remote system is different and much complicated (i suppose). Plus, the streaming needs to be live with minimum delays. I have access to gigabit ethernet to address slow fps issues but first i need to transmit recieve a sample buffer If someone please guide me on how to go about it
2
There are 2 best solutions below
0
MSM
On
The solution I found is OBS studio. It is open source which allows me to edit the source code as to fulfill my needs. However, I had to implement a nginx-rtmp server on the client end to receive the video. I then used vlc media player to stream the video received by the rtmp server. I have Gtx 960m installed so I implemented harware encoding which allowed me to stream 720p @60 fps over 100 Mbps ethernet cable. The results were drastic when I used software encoder (instead of hardware) before streaming.
Related Questions in WINDOWS
- Get Maximum Log Size
- Debugging Windows Services while starting
- Possible consequences of duplicate ProgId for different classes
- How to chain BCryptEncrypt and BCryptDecrypt calls using AES in GCM mode?
- mingw-64 conflicting declarations when cross-compiling
- I run an EXE program from a Windows Service but I can't see form C#?
- Why is PowerShell "not recognized" when installing Chocolatey?
- How to check if Windows device is phone or tablet/pc?
- How to add directories to Cygwin gcc default search path
- Can't install anything with pip2 on Windows 7 due to UnicodeDecodeError
- Active directory and linux nslcd binding without extending the AD schema
- How To Prevent Over Scrolling in Scroll Viewer Windows Phone 8.1
- Unicode error from pip install
- Where is the 'EnablePinning' property in the ribbon framework's recent items?
- How can I implement the same models and data across ASP.NET and Windows Apps
Related Questions in NETWORKING
- kernel module does not print packet info
- Packet drops in multicast when multiple instance of listner are running
- Timing packets on a traffic server
- How to use Espresso Idling Resource for network calls
- Dummynet does not match on flows
- Sending a notification from OS X to iOS
- Swift ios viewDidLoad or viewDidAppear
- Update player list on all clients on new connection
- Issues regarding multiplayer networking: input
- nmap does not show all open ports
- Getting and Sending Data between a Server and Client
- Read file from local PC from network deployed app to InputStream
- Does iOS block a URL if we couldn't connect to the URL for 'n' times?
- Is Socket.Available guaranteed to throw a SocketException on disconnect?
- android out of cell service
Related Questions in BUFFER
- Creating byte buffers in rust
- Disable "buffered view" when display 'git' commands results
- Flash How do flush or empty netstream buffer
- MongoDB insert UUID only using middleware?
- Reading content from a URL failing
- storing data on a buffer on c++
- How can I know if the memory address I'm reading from is empty or not in C++?
- BufferReader.readline() block PrinterWriter.println()
- Screen flickers when setting background
- c#: strange shift in data buffer during communication with device
- How to set Send Buffer Size for sockets in python
- JavaScript: reading 3 bytes Buffer as an integer
- Sequential consistency with store buffers in a multiprocessor?
- Android/Vuforia Error E/IMGSRV 3463
- QSerialPort starts communication after to some data were transmitted
Related Questions in SCREEN
- Preference Screen in SlidingTabLayout
- Transparent Activity in Android
- Android screen flips on usb keyboard connection
- How to get keystrokes with java outside of frames
- What is today's most popular screen resolution?
- Is there any android app to capture screen when anything gets change on screen?
- Will using dp take care of physical screen size?
- Using ncurses in c language
- Android - Unity3D freeze in splash screen on some phones
- View appearance/disappearance is fine on some device, not on others
- Android: How to find width and height of screen?
- vb.NET Screen Location
- optimizing div + screen resize JS block
- Python Tkinter application fit on screen
- Saving a bitmap in android but it's a black picture
Related Questions in VIDEO-CAPTURE
- Image based steganography that survives resizing?
- AVCaptureDevice devicesWithMediaType: Does not update after added/removed camera
- TechWell TW6869 driver does not generate interrupts on embedded device
- How can I capture video from different windows using ffmpeg?
- html5 mobile capture camera and generate a preview box
- OpenTok, How to switch publisher source from screen capturer to camera and vice versa?
- I am unable to save an AVFoundation video to a local url
- How to capture video in android with audio muted via default INTENT
- Capture and send frames captured from video recorded by an android application to server
- How to save a video to file using sampleBuffer, captureOutput in Swift 3?
- Building OpenCV 2.4.11 on Linux with `libopencv_ffmpeg.so`
- How to detect the mouse cursor/click in a previously recorded video/image frame
- opencv VideoCapture very slow with high resolution videos
- Mac EasyCAP with OpenCV/Python
- Capture square video like vine and instagram (Solution and Example)
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I think gstreamer is the closest thing to what you want. Look here and here for more info.
Also, look at ffmpeg.