Add video

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tiago;

I am not done with those modifications yet. Once i finished i will gradly
share it. I am using directx and platform sdk on windows as well as with
ffmpeg.

Muge

On Mon, Oct 13, 2008 at 8:27 PM, Tiago R?s <tiagores at gmail.com> wrote:

> Hello Muge,
>
> Is it possible to share the new functions you changed?
> (pjmedia_session_create and pjmedia_stream_create)
> What's the SDK you use to capture video?
>
> Thanks!
> Tiago
>
> 2008/10/13 P.Muge Ersoy <muge.ersoy at gmail.com>
>
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20081014/3dd95a90/attachment.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux