Hi to all
my target is to use the live555 library in order to stream live audio and video source.  Video is in h264 format, while audio is in aac format. I found some
similar questions but none of them exaustive.
As first step I downloaded and compiled all libraries and test program, all was ok. Then I used the mediaServer example in order to stream files and all is ok too.
After this step I attempt to stream only video; so I created a subclass of
OnDemandServerMediaSubsession that I named myLiveServerMediaSession :public OnDemandServerMediaSubsession. In this class I created a  subclass of FramedSource (LiveSourceWithmyData :public FramedSource)  and created an H264VideoRTPSink. All works fine and I can stream my video successfully.  Now I'm working in order to stream audio too, but I am facing a lot of troubles.  In first step I used two files; an h264 one and an aac one (one for audio and
 one for video). Then I modified the

 ServerMediaSession* createNewSMS(UsageEnvironment& env,char const* fileName, FILE* fid);

 adding this simple code:

   if (strcmp(extension, ".strm") == 0) {
      // Assumed to be an AAC Audio (ADTS format) file:
      NEW_SMS("Live custom Stream");
      OutPacketBuffer::maxSize = 100000; // allow for some possibly large VP8 or VP9 frames sms->addSubsession(H264VideoFileServerMediaSubsession::createNew(env, "myvideostream.264", false)); sms->addSubsession(ADTSAudioFileServerMediaSubsession::createNew(env, "reality.aac", reuseSource));
  }else if ......

 that is I added two subsession, one for video and one for audio, but it doesn't  work. Using  vlc I stream only the first session; in this case the video one. If
 I revert the two lines :

   if (strcmp(extension, ".strm") == 0) {
      // Assumed to be an AAC Audio (ADTS format) file:
      NEW_SMS("Live custom Stream");
      OutPacketBuffer::maxSize = 100000; // allow for some possibly large VP8 or VP9 frames sms->addSubsession(ADTSAudioFileServerMediaSubsession::createNew(env, "reality.aac", reuseSource)); sms->addSubsession(H264VideoFileServerMediaSubsession::createNew(env, "myvideostream.264", false));
  }else if ......

 I listen only the audio.  What I missed ?

--
/*******************************************************************\
*    Ing. Francesco  Cuzzocrea
*    company:    BLT Italia srl        web:  http://www.blt.it
*    address:    via Rosselli, 91     city:  Lido di CAMAIORE
*    country:    ITALY                 zip:  55043-i
*      Tel. :    +39 0584 904788       Fax:  +39 0584 904789
*     e-mail:   france...@bltitalia.com
\*******************************************************************/

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to