Add video

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

 



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



[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