[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