No announcement yet.

RiverCap ReleaseCandidate2 With Mux Luv

  • Filter
  • Time
  • Show
Clear All
new posts

  • RiverCap ReleaseCandidate2 With Mux Luv

    Now master stream selection overrides Que selector.
    Fall back to stream instead of back up.

    Put Video from stream 2 over stream 1 audio.


    Every Frame comming out is not a sync frame anymore.
    ummm I forgot what else.

    Refer to previous thread for more info.

    Final release.Source code below, fix the bugs yourself LOL just kidding
    Attached Files
    Last edited by Smelter; 8 May 2007, 05:14.

  • #2
    I think Im done fiddling with this program

    Here is the sourcecode to rivercap and
    version 2.2 NSVbaseClasses libray.
    Attached Files


    • #3


      • #4
        bitchen job smelter



        • #5
          hey thanks john, and dave(sankt) heh heh! Anything you need john?


          • #6
            Other than hangin on a boat, throwin stripers @ the barbi,
            with you guys, i can think of nothing that sparks the spagheti scematic better than this.
            i thank you for the efforts , everyone, i hope to some day be able to advantage your works, but for now i am just a drummer.


            • #7

              // NSV Classes Demo
              // This code plays file to the end then opens a port.
              // It show the basics of using the objects.
              #define WIN32_LEAN_AND_MEAN//winsock "/
              #include "NSVcast.h"//everything but the timer
              #include "nsv_Timer.h";//timer example. any timer will do

              //Prepare file.

              NSVd * nsvFile;
              nsvFile=new NSVd("c:\\test.nsv");

              //Files require a timer of sorts.
              // I've Provided an example. requires
              // DirectX.
              nsv_Timer *timer;
              timer->FrameRate = nsvFile->Framerate ;

              //Prepare Server
              NSV_Marshal * pooper;
              nsv_Channel destination;
              nsv_ChannelHeader streamHeader;

              destination.Address ="123.677.66.345";
              destination.Password ="changeme";
              destination.Port ="1232";

              streamHeader.Title ="wd Wd wdawd";
              streamHeader.Public ="1";

              streamHeader.Genre ="awdawd";
              streamHeader.Bitrate ="wdawd";
              streamHeader.IRC ="awdawd";
              streamHeader.ICQ ="adwwd";
              streamHeader.AIM ="wadawd";
              streamHeader.Website ="wdawd";

              pooper = new NSV_Marshal( destination, streamHeader);

              if(pooper->Error()==false)// Begin Casting
              timer->Activate ();
              do {
              // File source needs timer
              do {Sleep(1);}while(timer->Time ==false );

              pooper->CastFrame (nsvFile);

              // Prepare next frame to send
              nsvFile->StepFrame ();

              // Reset Clock, this timer example counts late sends.
              timer->Reset();//sets time back to false.

              // dnas connection went down or EOF?
              }while(pooper->Error()==false || nsvFile->EndOfFile==false );
              // End of file most likely, but lets check for DNAS error anyway.
              if(pooper->Error ()==false){

              //no error so next case, prepare nsv port
              NSVp* puerto=new NSVp("81");
              puerto->sockBs->CloseSocket ();

              //Send Port source
              pooper->CastFrame (puerto);
              puerto->StepFrame ();
              // If the port source bitstream drops or disconnects, it will signal error.
              }while (pooper->Error()==false && puerto->sockBs->Error==false);

              //shut down
              delete puerto;
              delete nsvFile;

              delete pooper;

              //thankyou goodnight



              • #8
                It is likely that rounding errors in the 1000/Framerate resolution during Sleep(dword); is resulting in not sending enough data, loosing .66 milliseconds per frame at 15FPS for example. (1000/15 is not rounded up to whole number and neither is rounding up the solution)

                Keeping track of real time vs stream time(frames*timerPerFrame) to throttle up or down is my desired solution.


                • #9
                  So I got to set up and test this crap in the real world. wow it really works!:lol However My suspicion is correct, it will buffer due to 'remainder' errors over time.

                  I had two remote systems sending content to the DNAS server via multicap , using NSVxpanded sample and RGBcam from remote broadcasts.
                  All the developement was done in my living room.
                  Pretty soon i'll be doing public experiments! aka "Live shows"

                  Fix this buffer issue, and provide 'positive conection' on the network sending to ensure every byte is sent during heavy processor load, and this sucker will FLY!


                  • #10
                    Put this sucker in the same folder as rivercap

                    No Bs. only one server and automated after opening input ports

                    Connect to port one, it auto matically connects to server.

                    To Change stream connect to port 2.

                    Advised to keep port one connected all times with back up preencoded content. Designed to handle p1 disconect but not tested hard.

                    NO BUFFERING! (well no written in stone gurantees but error is not built into the program this time)
                    I want to go to local clubs and interupt my preencoded stream with live shows. I hate the old school switching method, and I cant do it if Im not next to the streaming machine.

                    I connect to my rivercastpro on my laptop at home with core2 box at club.

                    So far works well!
                    Thank you Dave for the portforwarding article on!

                    remember kiddies .net2.0 framework!
                    Attached Files


                    • #11
                      smelter help please

                      trying out your rivercappro, can't seem to get it to work.

                      Is the start dnas button not supposed to work? window lets me click the open ports,and text fields but thats it. i can not connect to the ports with any streamers.

                      Do i need any other files in the dir with the exe?

                      What is the setup and run instructions? maybe i am the problem...

                      I am using xp sp3. .net frameworks 1-4 installed, dnas 1.9.8

                      Any suggestions, ideas?

                      I would love to have the program working as i am doing live remotes for the school but would like to keep a 24/7 stream up with. yours is the only live auto source switcher i can find.

                      Huge thanks for your help


                      • #12
                        welcome to 3 years ago ... lol
                        "If you don't like DNAS, write your own damn system"

                        So I did


                        • #13
                          It didnt work well back then... And I dont remember how it works now.