Add video

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

 



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
>
>



[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