Hi Hubert; I tried your method of grapping ports and ip address and it works fine. But when ever i start streaming i am not able to stream h264 .. it captured my outgoing packages and see that my stream is mpeg2 (Payload type: MPEG-II transport streams (33)) . So i am not able to see anything on the softphone .. But it is working fine between two pjsua client.. I am sure you checked your stream if it is h264 didnt you ? May be 8.6c is not supporting h264 i am not so sure .. Btw Visual C example of vlc is not working on new API at all.. I tried VLC 9. 4 and VLC 8.6c .. Only 8.6c was worked with libvlc.dll export.. Are you using dll too ? Also i d like to show my sdp file something like that .. v=0 o=- 597327894206 2 IN IP4 192.168.0.165 s=NONE t=0 0 c=IN IP4 192.168.0.165 m=video 14444 RTP/AVP 98 b=AS:28 a=rtpmap:98 H264/90000 Muge On Thu, Oct 16, 2008 at 1:12 AM, Hubert Langevin <hubertlangevin at gmail.com>wrote: > Hi Muge, > > Yes i think you're right. When i run pjsua i do load ALL the plugins > for VLC from the plugins directory. Maybe i should remove what i don't > need from there. > > Regarding your question about getting SDP information i do it in the > callback on_call_state(pjsua_call_id call_id, pjsip_event *e). When > SDP negotiation is finished and everyone is happy in terms of sdp > parameters, and when the callback's event is CONFIRMED, i acquire the > call using the call_id as in acquire_call("Something Something", > call_id, &call, &dlg). I then grab the local and remote SDP's using: > > pjmedia_sdp_neg_get_active_local(call->inv->neg, &local_sdp); > pjmedia_sdp_neg_get_active_remote(call->inv->neg, &remote_sdp); > > Once i get the two SDP's above, all i do is check for the video > parameters. I think it's in remote_sdp->conn->addr and > remote_sdp->media[i]->desc.port and remote_sdp->media[i]->desc.fmt[0] > and so on and so forth. Just grab the things you think you might need > from the remote SDP (and local SDP) for whichever player you are > using. I'm using VLC so IP address, port and codec are the main things > for me. I also do a LOT of checks but that's the above concept is > mainly how i do it. > > Then you can write the video.sdp file. which you already how it looks > like. Then you can proceed on how you want to implement your video > handling from here. If you are using VLC there are a few ways to do > that, you just need to pick the one you feel more comfortable with. I > personally use the --extraintf and --vlm-conf method but that's just > me. > > Hubert > > On Thu, Oct 16, 2008 at 2:18 AM, P.Muge Ersoy <muge.ersoy at gmail.com> > wrote: > > Hi Hubert; > > > > I tried your way of vlc video call.. I guess the problem at your cpu is > > because of loading to many dll ( vlc and plugins) during the call.. > > My computer was forced also.. > > I am using VStudio so i am using libvlc.dll... actually i ve tried to > make > > .def filen and convert libvlc.lib but lib didnt work.. I guess it was > > because new api of vlc.. > > > > Did you code to get SDP information from pjsua_app.c or is there any > Pjsua > > api to get active sdp information ? > > > > muge > > > > > > > > On Wed, Oct 15, 2008 at 2:07 AM, Hubert Langevin < > hubertlangevin at gmail.com> > > wrote: > >> > >> Hi Muge, > >> > >> Yeah that's why i didn't follow that guide. It's got some good tips on > >> which functions you use but the whole thing is a bit too confusing for > >> me and just didn't work for me. I am using the old version of VLC, i'm > >> not sure how to call it. It's at this link below. Again the old > >> version is simple for what i want to accomplish. > >> > >> > >> > http://www.videolan.org/developers/vlc/doc/doxygen/html/group__libvlc__old.html > >> > >> I was reading what you mentioned earlier, about the fact that you want > >> video calls between pjsua to other software clients and soft phones/ > >> VoIP Phones. Can't you do that already using VLC both ways? I mean for > >> video calls all you need is modify your outgoing SDP so it contains > >> video media at a certain port that you specify at startup so the > >> remote video phones can read it and you read their corresponding SDP > >> and start one instance of VLC that reads and decodes at the same time. > >> I do that using VLC_AddIntf() for multiple video streams incoming and > >> outgoing. The audio is still handled by pjsip during that same sdp > >> exchange and the video by vlc. For any re-invites, for example change > >> of remote video port or remote video codec, just destroy the vlc > >> instance in on_call_media() callback and re-create it using the new > >> values from the re-invites. I mean it is still a video call that i > >> make to other video phones. I did a test from my pjsua to an eyebeam > >> (x-lite) video phone and everything was fine. Audio was fine and video > >> was showing as well. Actually video was very pixelated, even though I > >> did specify H264 from Eyebeam and pjsua. Maybe eyebeam and videolan > >> have different implementations of H264 i'm not sure. But video calls > >> between pjsua <===> pjsua works perfectly. > >> > >> And VLC does support SRTP from what i've seen. I'm using pjsua too. > >> Are you using libvlc.lib and libvlc.dll? > >> > >> Hubert > >> > >> On Wed, Oct 15, 2008 at 9:36 AM, P.Muge Ersoy <muge.ersoy at gmail.com> > >> wrote: > >> > yeah i am not getting anything also.. > >> > may i ask which version of vlc you are using? > >> > > >> > I tried it but there are some errors like below > >> > main interface error: no interface module matched "hotkeys,none" > >> > > >> > On Wed, Oct 15, 2008 at 1:04 AM, Hubert Langevin > >> > <hubertlangevin at gmail.com> > >> > wrote: > >> >> > >> >> Hi Muge, > >> >> > >> >> Oh that tutorial. Yeah i started off that tutorial. My implementation > >> >> of video is very very similar. I use the commands buffer, > >> >> VLC_Create(), VLC_Init(), VLC_ADDINTF(), etc. But i found the guide a > >> >> bit too complicated/confusing and overloaded for what i wanted to do. > >> >> Especially his definitions in the vlc.h file. Don't need all that. > >> >> What i do is just get the remote IP, port, codec from remote_sdp and > >> >> use a couple of VLC functions to stream and decode. Done. That > >> >> tutorial i found was too much for what i simply wanted to do. Plus, i > >> >> was never good at spanish. ;) > >> >> > >> >> Hubert > >> >> > >> >> > >> >> On Wed, Oct 15, 2008 at 5:27 AM, P.Muge Ersoy <muge.ersoy at gmail.com> > >> >> wrote: > >> >> > Hi Hubert; > >> >> > > >> >> > I have a question for you .. > >> >> > > >> >> > Did you use the below tutorial for vlc display inside pjsip? > >> >> > http://wiki.videolan.org/LibVLC_Visual_C > >> >> > > >> >> > > >> >> > Muge > >> >> > > >> >> > > >> >> > > >> >> > On Tue, Oct 14, 2008 at 12:51 AM, Hubert Langevin > >> >> > <hubertlangevin at gmail.com> > >> >> > wrote: > >> >> >> > >> >> >> Hello Muge, > >> >> >> > >> >> >> Yes my implementation sounds different. I guess i took the easiest > >> >> >> and > >> >> >> quickest way to get video working. I do write the file.sdp file > just > >> >> >> like you and get VLC to read and decode the sdp file, but i also > use > >> >> >> VLC to stream. > >> >> >> > >> >> >> To answer your question yes i did install Microsoft Platform > SDK... > >> >> >> Hmmm... i can't remember which version though. > >> >> >> > >> >> >> Quick question. Since you are already using VLC to decode, why not > >> >> >> use > >> >> >> it to stream as well? You won't have to take care of streams, > ports, > >> >> >> transports, etc... It might be easier for you. I mean you are > >> >> >> already > >> >> >> using VLC to decode, might as well use it to encode. Makes your > life > >> >> >> easier. Maybe i'm missing something that you want to accomplish. > >> >> >> > >> >> >> What do you think? > >> >> >> > >> >> >> Hubert > >> >> >> > >> >> >> On Tue, Oct 14, 2008 at 12:06 AM, P.Muge Ersoy > >> >> >> <muge.ersoy at gmail.com> > >> >> >> wrote: > >> >> >> > Hi Hubert; > >> >> >> > > >> >> >> > Actually my implementation is quite different from yours. I want > >> >> >> > pjsip > >> >> >> > to > >> >> >> > stream h264 from one side to other.. You choose VLC to do it.. > >> >> >> > I changed pjmedia_session_create and pjmedia_stream_create > >> >> >> > functions > >> >> >> > as > >> >> >> > well > >> >> >> > as SDP negotiation. > >> >> >> > > >> >> >> > I want vlc to decode this h264 stream with file.sdp which > includes > >> >> >> > remote ip > >> >> >> > and port information with codec. > >> >> >> > > >> >> >> > Did you install Microsoft Platform SDK for direct show headers ? > >> >> >> > > >> >> >> > Muge > >> >> >> > > >> >> >> > On Sat, Oct 11, 2008 at 8:53 AM, Hubert Langevin > >> >> >> > <hubertlangevin at gmail.com> > >> >> >> > wrote: > >> >> >> >> > >> >> >> >> Hi Mugo, > >> >> >> >> > >> >> >> >> No i don't create another stream for video. I just make sure > the > >> >> >> >> port > >> >> >> >> ranges for audio and video don't overlap. For example for audio > i > >> >> >> >> do > >> >> >> >> the usual pjsip thing, start the port range at 4000 and with a > >> >> >> >> maximum > >> >> >> >> of 32 calls it'll go up to 4063. For the video i've got a > config > >> >> >> >> file > >> >> >> >> that pjsua_app.c reads at startup. In there i specify what port > >> >> >> >> video > >> >> >> >> should start at. And i usually put it at 6000. When the > >> >> >> >> application > >> >> >> >> runs it checks if those ports are free or not and starts using > >> >> >> >> them. > >> >> >> >> This way my audio and video ports don't overlap. > >> >> >> >> > >> >> >> >> When i create my SDP, and before i send the offer, the initial > >> >> >> >> port > >> >> >> >> for video is the one that i specified in the video config file. > >> >> >> >> After > >> >> >> >> having sent the offer and read the incoming remote_sdp, what i > >> >> >> >> pass > >> >> >> >> to > >> >> >> >> VLC is just the port number to transmit to, IP address to > >> >> >> >> transmit > >> >> >> >> to, > >> >> >> >> transcoding codec, video bit rate and the mux type. I pass it > to > >> >> >> >> the > >> >> >> >> commands buffer of VLC and use the functions VLC_Create(), > >> >> >> >> VLC_Init(int, int, char **s), > VLC_Play(int),VLC_FullScreen(int), > >> >> >> >> etc... So to answer your question no i don't let PJSIP handle > the > >> >> >> >> video streams. I use PJSIP only for SDP negotiation that's it. > I > >> >> >> >> leave > >> >> >> >> PJSIP to take care of all the audio streams and ports. And i > keep > >> >> >> >> the > >> >> >> >> video part to VLC, including its transport and everything else. > >> >> >> >> PJSIP > >> >> >> >> doesn't touch that part. > >> >> >> >> > >> >> >> >> I can see you're using H264. I am too. Did you ever have two > >> >> >> >> incoming > >> >> >> >> H264 streams on your PC? How was your CPU usage?. When i have > >> >> >> >> more > >> >> >> >> than one on my PC my CPU usage doesn't look too good.. > >> >> >> >> > >> >> >> >> Hubert > >> >> >> >> > >> >> >> >> On Fri, Oct 10, 2008 at 7:26 PM, P.Muge Ersoy > >> >> >> >> <muge.ersoy at gmail.com> > >> >> >> >> wrote: > >> >> >> >> > Hi Hubert; > >> >> >> >> > > >> >> >> >> > Haven't you created another stream for video ? > >> >> >> >> > > >> >> >> >> > As far as i understand after SDP negotiation you get if there > >> >> >> >> > is > >> >> >> >> > video > >> >> >> >> > stream or not... > >> >> >> >> > > >> >> >> >> > This is my OK answer form pjsip to another sip client > >> >> >> >> > > >> >> >> >> > m=audio 4000 RTP/AVP 3 > >> >> >> >> > a=rtpmap:3 GSM/8000 > >> >> >> >> > m=video 4002 RTP/AVP 98 > >> >> >> >> > a=rtpmap:98 H264/90000 > >> >> >> >> > a=recvonly > >> >> >> >> > > >> >> >> >> > Everything seems pretty. But after streams are created Pjsip > >> >> >> >> > mixes > >> >> >> >> > the > >> >> >> >> > ports > >> >> >> >> > with audio and video and it all crashes ... > >> >> >> >> > How is your point of view to audio and video streams in your > >> >> >> >> > application. > >> >> >> >> > > >> >> >> >> > Regards > >> >> >> >> > Muge > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > On Fri, Oct 10, 2008 at 1:02 AM, Hubert Langevin > >> >> >> >> > <hubertlangevin at gmail.com> > >> >> >> >> > wrote: > >> >> >> >> >> > >> >> >> >> >> Hello everyone, > >> >> >> >> >> > >> >> >> >> >> I'm using VLC for video streaming in pjsip. I haven't > >> >> >> >> >> completely > >> >> >> >> >> finished it yet but i can now make some video calls between > >> >> >> >> >> PCs. > >> >> >> >> >> In > >> >> >> >> >> the callback on_call_state() in pjsua_app.c when i get an > >> >> >> >> >> incoming > >> >> >> >> >> call i check if it has video media. I do this by grabbing > the > >> >> >> >> >> local_sdp and remote_sdp using call_id, acquire_call, > >> >> >> >> >> pjmedia_sdp_neg_get_active_local(), > >> >> >> >> >> pjmedia_sdp_neg_get_active_remote(), etc. I also had to > change > >> >> >> >> >> a > >> >> >> >> >> few > >> >> >> >> >> things in negotiating SDP's. If i have video media i just > grab > >> >> >> >> >> the > >> >> >> >> >> remote IP and port number out of the remote_sdp, put these > >> >> >> >> >> values > >> >> >> >> >> in > >> >> >> >> >> the commands buffer for VLC and start playing from remote > >> >> >> >> >> stream > >> >> >> >> >> and > >> >> >> >> >> streaming off my webcam using the VLC functions: > VLC_Create(), > >> >> >> >> >> VLC_Init(int, int, char **s), VLC_Play(int), > VLC_AddIntf(int, > >> >> >> >> >> char > >> >> >> >> >> *s, > >> >> >> >> >> int, int), VLC_Die(), VLC_CleanUp(), VLC_Destroy(), > >> >> >> >> >> VLC_Pause(int), > >> >> >> >> >> VLC_Stop(int), VLC_FullScreen(int). It works fine but as > soon > >> >> >> >> >> as > >> >> >> >> >> I > >> >> >> >> >> get > >> >> >> >> >> two video calls up on my PC my CPU usage jumps really high > and > >> >> >> >> >> stays > >> >> >> >> >> there for the duration of the two calls. Is it because I'm > >> >> >> >> >> using > >> >> >> >> >> the > >> >> >> >> >> wrong type of video codec? I'm currently using H264. > >> >> >> >> >> > >> >> >> >> >> Any ideas would be greatly appreciated. > >> >> >> >> >> > >> >> >> >> >> Hubert > >> >> >> >> >> > >> >> >> >> >> On Fri, Oct 10, 2008 at 4:39 AM, Tiago R?s > >> >> >> >> >> <tiagores at gmail.com> > >> >> >> >> >> wrote: > >> >> >> >> >> > Hello all, > >> >> >> >> >> > Thanks for your responses. > >> >> >> >> >> > > >> >> >> >> >> > My Idea is to make some kind of videoconference. It should > >> >> >> >> >> > be > >> >> >> >> >> > signaled > >> >> >> >> >> > with > >> >> >> >> >> > SIP, and stream via RTP. > >> >> >> >> >> > I'm able to capture video using directshow libraries, and > it > >> >> >> >> >> > would > >> >> >> >> >> > be > >> >> >> >> >> > great > >> >> >> >> >> > to use transport functions of PJSIP to do the rest. > >> >> >> >> >> > What do you think? > >> >> >> >> >> > > >> >> >> >> >> > Thanks, > >> >> >> >> >> > Tiago > >> >> >> >> >> > > >> >> >> >> >> > 2008/10/9 P.Muge Ersoy <muge.ersoy at gmail.com> > >> >> >> >> >> >> > >> >> >> >> >> >> Hi; > >> >> >> >> >> >> > >> >> >> >> >> >> Did you able to start two way stream with 264 . I have > some > >> >> >> >> >> >> port > >> >> >> >> >> >> issues > >> >> >> >> >> >> .. > >> >> >> >> >> >> video stream is using audio streams port.. i will be > >> >> >> >> >> >> handling > >> >> >> >> >> >> it > >> >> >> >> >> >> soon i > >> >> >> >> >> >> guess.. > >> >> >> >> >> >> > >> >> >> >> >> >> and what are you using for displaying stream , ? VLC or > >> >> >> >> >> >> ffmpeg > >> >> >> >> >> >> .? > >> >> >> >> >> >> > >> >> >> >> >> >> muge > >> >> >> >> >> >> > >> >> >> >> >> >> On Thu, Oct 9, 2008 at 4:27 PM, Perry Ismangil > >> >> >> >> >> >> <perry at pjsip.org> > >> >> >> >> >> >> wrote: > >> >> >> >> >> >>> > >> >> >> >> >> >>> emanuele bottegoni wrote: > >> >> >> >> >> >>>> > >> >> >> >> >> >>>> Hi Tiago, > >> >> >> >> >> >>>> > >> >> >> >> >> >>>> I've added negotation to receive H264 streams,is it > >> >> >> >> >> >>>> interesting > >> >> >> >> >> >>>> for > >> >> >> >> >> >>>> you? > >> >> >> >> >> >>>> Tell me your problem and if it's possible I can help > you. > >> >> >> >> >> >>>> > >> >> >> >> >> >>>> Emanuele Bottegoni > >> >> >> >> >> >>>> > >> >> >> >> >> >>>> > >> >> >> >> >> >>> > >> >> >> >> >> >>> Hi Emanuele, > >> >> >> >> >> >>> > >> >> >> >> >> >>> Certainly, adding video support is always interesting. > >> >> >> >> >> >>> Contact > >> >> >> >> >> >>> me > >> >> >> >> >> >>> if > >> >> >> >> >> >>> you > >> >> >> >> >> >>> are willing to write a wiki page or a blog post about > it. > >> >> >> >> >> >>> > >> >> >> >> >> >>> Thank you for your support, > >> >> >> >> >> >>> > >> >> >> >> >> >>> > >> >> >> >> >> >>> -- > >> >> >> >> >> >>> Perry Ismangil > >> >> >> >> >> >>> http://www.pjsip.org > >> >> >> >> >> >>> > >> >> >> >> >> >>> _______________________________________________ > >> >> >> >> >> >>> Visit our blog: http://blog.pjsip.org > >> >> >> >> >> >>> > >> >> >> >> >> >>> pjsip mailing list > >> >> >> >> >> >>> pjsip at lists.pjsip.org > >> >> >> >> >> >>> > >> >> >> >> >> >>> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> _______________________________________________ > >> >> >> >> >> >> Visit our blog: http://blog.pjsip.org > >> >> >> >> >> >> > >> >> >> >> >> >> pjsip mailing list > >> >> >> >> >> >> pjsip at lists.pjsip.org > >> >> >> >> >> >> > >> >> >> >> >> >> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> >> >> >> >> >> > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > _______________________________________________ > >> >> >> >> >> > Visit our blog: http://blog.pjsip.org > >> >> >> >> >> > > >> >> >> >> >> > pjsip mailing list > >> >> >> >> >> > pjsip at lists.pjsip.org > >> >> >> >> >> > > >> >> >> >> >> > > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > >> >> >> >> >> _______________________________________________ > >> >> >> >> >> Visit our blog: http://blog.pjsip.org > >> >> >> >> >> > >> >> >> >> >> pjsip mailing list > >> >> >> >> >> pjsip at lists.pjsip.org > >> >> >> >> >> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > _______________________________________________ > >> >> >> >> > Visit our blog: http://blog.pjsip.org > >> >> >> >> > > >> >> >> >> > pjsip mailing list > >> >> >> >> > pjsip at lists.pjsip.org > >> >> >> >> > > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > >> >> >> >> _______________________________________________ > >> >> >> >> Visit our blog: http://blog.pjsip.org > >> >> >> >> > >> >> >> >> pjsip mailing list > >> >> >> >> pjsip at lists.pjsip.org > >> >> >> >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> >> >> > > >> >> >> > > >> >> >> > _______________________________________________ > >> >> >> > Visit our blog: http://blog.pjsip.org > >> >> >> > > >> >> >> > pjsip mailing list > >> >> >> > pjsip at lists.pjsip.org > >> >> >> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> >> >> > > >> >> >> > > >> >> >> > >> >> >> _______________________________________________ > >> >> >> Visit our blog: http://blog.pjsip.org > >> >> >> > >> >> >> pjsip mailing list > >> >> >> pjsip at lists.pjsip.org > >> >> >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> >> > > >> >> > > >> >> > _______________________________________________ > >> >> > Visit our blog: http://blog.pjsip.org > >> >> > > >> >> > pjsip mailing list > >> >> > pjsip at lists.pjsip.org > >> >> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> >> > > >> >> > > >> >> > >> >> _______________________________________________ > >> >> Visit our blog: http://blog.pjsip.org > >> >> > >> >> pjsip mailing list > >> >> pjsip at lists.pjsip.org > >> >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> > > >> > > >> > _______________________________________________ > >> > Visit our blog: http://blog.pjsip.org > >> > > >> > pjsip mailing list > >> > pjsip at lists.pjsip.org > >> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> > > >> > > >> > >> _______________________________________________ > >> Visit our blog: http://blog.pjsip.org > >> > >> pjsip mailing list > >> pjsip at lists.pjsip.org > >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > > > > _______________________________________________ > > Visit our blog: http://blog.pjsip.org > > > > pjsip mailing list > > pjsip at lists.pjsip.org > > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20081016/d5c4dc73/attachment-0001.html>