<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=gb2312"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:微软雅黑;
        panose-1:2 11 5 3 2 2 4 2 2 4;}
@font-face
        {font-family:新宋体;
        panose-1:2 1 6 9 3 1 1 1 1 1;}
@font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"\@微软雅黑";
        panose-1:2 11 5 3 2 2 4 2 2 4;}
@font-face
        {font-family:"\@新宋体";
        panose-1:2 1 6 9 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        font-size:10.5pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=ZH-CN link="#0563C1" vlink="#954F72" style='text-justify-trim:punctuation'><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal align=left style='text-align:left'><b><span style='font-size:11.0pt;font-family:"微软雅黑","sans-serif"'>发件人<span lang=EN-US>:</span></span></b><span lang=EN-US style='font-size:11.0pt;font-family:"微软雅黑","sans-serif"'> Xuan [mailto:lkxkfl@hotmail.com] <br></span><b><span style='font-size:11.0pt;font-family:"微软雅黑","sans-serif"'>发送时间<span lang=EN-US>:</span></span></b><span lang=EN-US style='font-size:11.0pt;font-family:"微软雅黑","sans-serif"'> 2014</span><span style='font-size:11.0pt;font-family:"微软雅黑","sans-serif"'>年<span lang=EN-US>7</span>月<span lang=EN-US>23</span>日<span lang=EN-US> 23:01<br></span><b>收件人<span lang=EN-US>:</span></b><span lang=EN-US> live-devel@lists.live555.com<br></span><b>主题<span lang=EN-US>:</span></b><span lang=EN-US> How to combine live H.264 source and AAC source<o:p></o:p></span></span></p></div></div><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt'>Hello,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt'>  I am working on a testing program based on live555. In my program, I use a thread to capture video frames by webcam, and another thread to capture audio frames. In each thread, both video and audio frames are encoded with ffmpeg. Then I use a third thread to stream one of them. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt'>  My problem is that streaming either of them is Ok, but how can I stream them together? If I do like this in a thread:<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;text-autospace:none'><span lang=EN-US style='font-family:新宋体;background:silver;mso-highlight:silver'>sms->addSubsession(PassiveServerMediaSubsession::createNew(*vSink, rtcp));<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;text-autospace:none'><span lang=EN-US style='font-family:新宋体;background:silver;mso-highlight:silver'>sms->addSubsession(PassiveServerMediaSubsession::createNew(*aSink, audioRtcp));<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;text-autospace:none'><span lang=EN-US style='font-family:新宋体;background:silver;mso-highlight:silver'>rtspServer->addServerMediaSession(sms);<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;text-autospace:none'><span lang=EN-US style='font-family:新宋体;background:silver;mso-highlight:silver'>H264RealTimeStreamSource* naluSource =  H264RealTimeStreamSource::createNew(*env_live,&pThis->videoCList2,frame_rate);<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;text-autospace:none'><span lang=EN-US style='font-family:新宋体;background:silver;mso-highlight:silver'>h264Source = H264VideoStreamDiscreteFramer::createNew(*env_live, naluSource);<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;text-autospace:none'><span lang=EN-US style='font-family:新宋体;background:silver;mso-highlight:silver'>adtsSource = ADTSRealTimeStreamSource::createNew(*env_live,&pThis->audioCList,1,44100,2,NULL);<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;text-autospace:none'><span lang=EN-US style='font-family:新宋体;background:silver;mso-highlight:silver'>pThis->startVideoLive = vSink->startPlaying(*h264Source, afterPlayingLiveH264, NULL);<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;text-autospace:none'><span lang=EN-US style='font-family:新宋体;background:silver;mso-highlight:silver'>pThis->startAudioLive = aSink->startPlaying(*adtsSource, afterPlayingLiveAAC, NULL);</span><span lang=EN-US style='font-family:新宋体'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt'>I can only receive video frames with VLC player, and also timestamp of VLC player is rather unstable.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt'>Could I do anything wrong, or maybe I should stream h.264 and aac in different thread rather than in one thread at the same time?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Thank you a lot. Looking forward for reply!<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Xuan<o:p></o:p></span></p></div></body></html>