Add video

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

 



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



[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