[Live-devel] unicast onDemand from live source NAL Units NVidia

Pablo Gomez Pablo.Gomez at scch.at
Tue Jan 22 06:57:34 PST 2013


Hi,

       I'm trying to implement a unicast ondemand streaming from a live source.
The live source comes from the Nvidia encoder NVEnc:  http://docs.nvidia.com/cuda/samples/3_Imaging/cudaEncode/doc/nvcuvenc.pdf
This encoder produces NAL units ready to send over the network.

I have a lot of problems with artifacts. I have tried two ways of sending the packages.

è A Stream Ring buffer: With this approach I'm sending as much bytes as possible. Means. Min(availableBytesInBuffer,fMaxSize) bytes

è A queue where I hold the NAL packets and its size: With this approach I tried to send the entire NAL. Means Min(nal.size,fMaxSize) bytes

With the first approach I can see in the log that I'm getting many errors regarding the SPS PPS incorrect.  also when I display the stream in the video player I see artifacts and blinkings

With the second approach I also see artifacts and blinkings and the main problem is that there are many NAL units that are bigger than fMaxSize. Thus, those frames are truncated. I do not know
How to ensure that fMaxSize is always bigger that fFrameSize.

I tried to set up in the Streamer code  enough size in the OutputPacketBuffer but this does not seem to work....
  {
       OutPacketBuffer::maxSize=10000000;
    char const* streamName = "testStream";
    ServerMediaSession* sms
     = ServerMediaSession::createNew(*env, streamName, streamName,
                                      descriptionString);
    sms->addSubsession(H264LiveServerMediaSubsession
                       ::createNew(*env,h264LiveBuffer, reuseFirstSource));
    rtspServer->addServerMediaSession(sms);

    announceStream(rtspServer, sms, streamName, inputFileName);
  }

At, this point I wonder... first

Is it possible to stream the NAL units coming from the NVidia with the live555?
If so,, any suggestion how can I try to solve this? I'm literally stuck at this point.


Thank you
Best
Pablo


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130122/ea81ed7a/attachment.html>


More information about the live-devel mailing list