Page 1 of 1

Streaming live (paid work : $1500)

Posted: Mon Jan 31, 2011 3:22 pm
by atomo
Hello,

I am looking for someone who can provide me a code to capture a game window and sound from PC easily.

The stream must be viewable on a web browser. The encoding must be sufficiently optimized to suit the relatively low rates (<100kb/s).

It is of course a paid work ($1500).

I remain available to answer any questions.

Re: Streaming live (paid work)

Posted: Tue Feb 01, 2011 8:30 pm
by AndyMK
Does it have to be via a flash player?

Re: Streaming live (paid work)

Posted: Tue Feb 01, 2011 8:49 pm
by atomo
The stream must be viewable on a web browser, it doesn't matter if you use something else than flash.
Edit : first post edited.

Re: Streaming live (paid work)

Posted: Tue Feb 01, 2011 8:57 pm
by Nituvious
This doesn't really belong in the Coding Questions section as this isn't a question. Maybe the forum needs a requests section?

Re: Streaming live (paid work)

Posted: Fri Feb 04, 2011 7:38 am
by JackWebb
Nituvious wrote:This doesn't really belong in the Coding Questions section as this isn't a question. Maybe the forum needs a requests section?
+1

and also a web programming section.

Re: Streaming live (paid work : $1500)

Posted: Fri Feb 04, 2011 4:52 pm
by atomo
I'm still looking for someone and I pay $1500.

Re: Streaming live (paid work : $1500)

Posted: Fri Feb 04, 2011 5:17 pm
by Trond
Not all games can be recorded. Sometimes they use a grahpics card feature known as overlay, and then all the screenshot program sees is black. Setting the game to use software rendering usually fixes this, but the performance will be much slower. Just a warning.

Re: Streaming live (paid work : $1500)

Posted: Fri Feb 04, 2011 6:08 pm
by DarkPlayer
Hello,

i don't think that you will find someone in this forum who could do this work. Capturing data from a game is difficult, because you can not access the video data outside the process. The video data is rendered on the graphic card and even bypasses virtual screen drivers.

The only solution for the problem is to hook a process and insert your own code, which may be detected as cheat. Most games do not like it, if you insert code in their graphic engine, because this is also used for wallhacks or other hacks.

Another reason is for example that DirectX uses OOP, which is much easier to hook in C++ than in PureBasic.

The 100 kbit/s upload is also a problem. You need a very good video compression like H264, which is not free to use. In my messenger project, i got some experience with Theora (an open source video codec) which would not be capable to encode a full screen game (like 1280x1024) with only 100kb/s. The other problem is the CPU usage of these video encoders.

I used ffmpeg to encode a live tv stream with 720x576 pixel. As video codec i used H264 and aac as audio codec. It needed almost one core of my 4 x 3,0 GHz cpu for encoding. This will increase exponential with the video size and as most games do also need a lot of cpu usage this will be unlikely to work.

It may work for 2D games (which are also much easier to hook) or old 3D games, but definitively not for games like crysis or settlers 7.

There is a service which is called StreamMyGame which does something similiar and they recommend a video size between 400x300 and 640x480 for 100 kb/s upload. http://www.streammygame.com/smg/modules ... #Bandwidth (The Bandwith is in kbits/s so 100 kb/s = 800 kbit/s)

From my own program i know, that these values are realistical, but i do not know if this is good enough for your purposes.

To summarize: I think it would be possible with 640x480, a hook, Theora or VP8 as open source codec, a medium quality and a lot of work. As all these libs and codecs use C or C++ header files, it would be much more work in PureBasic than in C++. If you think that you can live with these restrictions, you should try your luck in a c++ forum.

DarkPlayer

Re: Streaming live (paid work : $1500)

Posted: Fri Feb 04, 2011 6:43 pm
by atomo
A resolution of 640*480 is enough.
For the capture, I thought to use the Windows BitBlt function to capture a window, it works for the kind of games that interest me.

Re: Streaming live (paid work : $1500)

Posted: Fri Feb 04, 2011 6:57 pm
by DarkPlayer
atomo wrote:A resolution of 640*480 is enough.
For the capture, I thought to use the Windows BitBlt function to capture a window, it works for the kind of games that interest me.
The GDI functions are too slow for a video capture and create a huge CPU load. UltraVNC uses a virtual screen driver for such pruposes. They want 1000€ as licence fee if you use the driver in your own program.

DarkPlayer

Re: Streaming live (paid work : $1500)

Posted: Fri Feb 04, 2011 7:30 pm
by codewalker
VLC Player has already an inbuild option to capture and stream video up the web and it´s for free !
Security Cam programs come with streaming webservers for less than 50 $ You can use
a third party video game capture program as input. You can find lot´s of them on the net
with all kinds of codecs and compression. To pay 1500 $ for a coder is nonsense because
it will be reinventing the wheel. It´s already there on the net in any flavor for less then 100 $
Anyway this should be moved to the off topic section.
cw

Re: Streaming live (paid work : $1500)

Posted: Sat Feb 05, 2011 12:22 am
by DarkPlayer
codewalker wrote:VLC Player has already an inbuild option to capture and stream video up the web and it´s for free !
Security Cam programs come with streaming webservers for less than 50 $ You can use
a third party video game capture program as input. You can find lot´s of them on the net
with all kinds of codecs and compression. To pay 1500 $ for a coder is nonsense because
it will be reinventing the wheel. It´s already there on the net in any flavor for less then 100 $
Anyway this should be moved to the off topic section.
cw
VLC also uses the GDI which causes a high cpu load:
vlc source: /modules/access/screen/win32.c wrote:

Code: Select all

    if( !BitBlt( p_data->hdc_dst, 0,
                 p_data->i_fragment * p_data->i_fragment_size,
                 p_sys->fmt.video.i_width, p_data->i_fragment_size,
                 p_data->hdc_src, p_sys->i_left, p_sys->i_top +
                 p_data->i_fragment * p_data->i_fragment_size,
                 SRCCOPY | CAPTUREBLT ) )
    {
        msg_Err( p_demux, "error during BitBlt()" );
        return NULL;
    }
License: GPL 2 or later
Some software try to avoid patents fees by using preinstalled codecs, which works if the user has some good ones installed. Other developers use open source implementations of patented video codes, which makes the distrubtion of the binary illegal in some countries. Just because someone does not pay attentions to the patents, it doesnt make it legal. Or does copying pictures in the internet also remove the copyright of the author?

DarkPlayer