Stream on iPad, iPhone, Android...

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Stream on iPad, iPhone, Android...

ivan zoli-2
Hello to all,

I want to stream a video onto an iPhone
or iPad or Nokia, Android etc...
The sender is based on Linux and alrready
uses GStreamer. I'm able to stream to
a Win PC using GStreamer.
I'd like to build a server to stream a video
on a portable equipment like iPad etc...
I tried without luck even to steram on QuickTime.
I have a hadrware H264 compressor as well as
an MP4 compressor.

Does anyone tried the same? We can share info
in order to get the goal!

Thank you
Ivan Zoli

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Stream on iPad, iPhone, Android...

Andrés González
  On 24/08/10 12:58, ivan zoli wrote:

> Hello to all,
>
> I want to stream a video onto an iPhone
> or iPad or Nokia, Android etc...
> The sender is based on Linux and alrready
> uses GStreamer. I'm able to stream to
> a Win PC using GStreamer.
> I'd like to build a server to stream a video
> on a portable equipment like iPad etc...
> I tried without luck even to steram on QuickTime.
> I have a hadrware H264 compressor as well as
> an MP4 compressor.
Hello Ivan,
I was involved in a similar task (I started a thread a few days ago). We
were trying to stream *from* an Android to a computer. We found that MP4
did not fit our purpose, which was live-streaming. Have you tried RTP?
Maybe if you give more details about what you are trying and what did
not work, someone could give more suggestions and ideas.
Good luck,
Andrés

> Does anyone tried the same? We can share info
> in order to get the goal!
>
> Thank you
> Ivan Zoli
>


------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Stream on iPad, iPhone, Android...

ivan zoli-2
Hello Andrés,

I'm using an embedded system with an ARM processor and a VPU on it
that can compress video in H264, MP4 and H263.

The system is a server that acquire the video and send it with a
pipeline like this:


#!/bin/sh
VPORT=5434
HOST=${1:-192.168.101.189}

echo $HOST

gst-launch video4lsrc ! \
  video/x-raw-yuv,width=320,height=200,framerate=\(fraction\)15/1 ! \
  myH264enc ! \
  video/x-h264,framerate=\(fraction\)15/1 ! \

  rtph264pay mtu=1438 ! \
  udpsink host=$HOST port=$VPORT


On the PC side I am able to receive the stream with the specular pipeline
and GStreamer. But I want to receive the stream without GStreamer, because
for example fo iPhone I don't have it. So I can receive the stream using VLC and
this file:

> cat client_video.sdp
v=0
o=- 1188340656180883 1 IN IP4 192.168.20.1
s=Session streamed by GStreamer
i=server.sh
t=0 0
a=tool:GStreamer
a=type:broadcast
m=video 5334 RTP/AVP 96
c=IN IP4 192.168.20.1
a=rtpmap:96 H264/90000








2010/8/24 Andres Gonzalez <[hidden email]>:

>  On 24/08/10 12:58, ivan zoli wrote:
>>
>> Hello to all,
>>
>> I want to stream a video onto an iPhone
>> or iPad or Nokia, Android etc...
>> The sender is based on Linux and alrready
>> uses GStreamer. I'm able to stream to
>> a Win PC using GStreamer.
>> I'd like to build a server to stream a video
>> on a portable equipment like iPad etc...
>> I tried without luck even to steram on QuickTime.
>> I have a hadrware H264 compressor as well as
>> an MP4 compressor.
>
> Hello Ivan,
> I was involved in a similar task (I started a thread a few days ago). We
> were trying to stream *from* an Android to a computer. We found that MP4 did
> not fit our purpose, which was live-streaming. Have you tried RTP? Maybe if
> you give more details about what you are trying and what did not work,
> someone could give more suggestions and ideas.
> Good luck,
> Andrés
>
>> Does anyone tried the same? We can share info
>> in order to get the goal!
>>
>> Thank you
>> Ivan Zoli
>>
>
>

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Stream on iPad, iPhone, Android...

ivan zoli-2
In reply to this post by Andrés González
Hello Andrés,

Sorry, my last email was sent before it was completed... So don't care about it.

I'm using an embedded system with an ARM processor and a VPU on it
that can compress video in H264, MP4 and H263.

The system is a server that acquire the video and send it with a
pipeline like this:


#!/bin/sh
gst-launch \
  my_v4lsrc preview=1 rotate=3 ! \
  my_h264encoder width=720 height=400 ! \
  queue ! \
  h264parse output-format=0 split-packetized=1 access-unit=1 ! \
  rtph264pay ! \
  application/x-rtp,media=video,payload=96,clock-rate=90000,encoding-name=H264
! \
  .send_rtp_sink gstrtpsession .send_rtp_src ! \
  udpsink port=5334 host=192.168.20.1



On the PC side I am able to receive the stream with the specular pipeline
and GStreamer. But I want to receive the stream without GStreamer, because
for example fo iPhone I don't have it. So I can receive the stream using VLC and
this file:

> cat client_video.sdp
v=0
o=- 1188340656180883 1 IN IP4 192.168.20.1
s=Session streamed by GStreamer
i=server.sh
t=0 0
a=tool:GStreamer
a=type:broadcast
m=video 5334 RTP/AVP 96
c=IN IP4 192.168.20.1
a=rtpmap:96 H264/90000

VLC is able to play the stream, while QuickTime for example (QT can open
the sdp file) is not able to play it.

That's the point in which I'm in.
I want to put a web server on my embedded system in order to accept connections
from any portable device and see the stream.

Instread of H264 stream I tried the MP4 stream with same resoults.

That's the point I am.
Thank for your help, let me know if there is some way to cooperate :)

Ivan

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Stream on iPad, iPhone, Android...

Wes Miller
In reply to this post by ivan zoli-2
Would you consider using ffmpeg to serve your video?  I use ffmpeg to send file, webcam and axis-video server streams as an rtmp feed to Wowza.  I think your target devices are well equiped to handle rtmp and ffmpeg is fairly lightweight.

Approx syntaxes are:
     ffmpeg -i ~/output.mp4 -re -acodec mpeg - vcodec libx264 -vpre default -f flv rtmp://<receiver-IP>
               (see:  http://www.ilovemyjournal.com/?action=view_entry&eid=3840 )
     
     ffmpeg -f video4linux2 -i /dev/video0 -re -f flv rtmp://<receiver-IP>

     ffmpeg -er 4 -r 15  -f mjpeg -an -i 'http://<axis-IP>/axis-cgi/mjpg/video.cgi?camera=1' -vcodec libx264 -vpre fastfirstpass -vpre baseline -b 24k -bt 32k -threads 0 -f flv 'rtmp://<receiver-IP>'



Wes


Reply | Threaded
Open this post in threaded view
|

Re: Stream on iPad, iPhone, Android...

baillot
In reply to this post by ivan zoli-2
Hello Ivan

If I understand your email I am at the middle of the same thing, trying
to stream video from an Iphone. The ARM Cortex A8 in the phone has
according to the ARM web site at least the NEON engine that can do video
encoding / decoding for H.264 and MPEG4 on hardware. There might be also
the Mali-VE6 or VE3 GPU that has also some video processing hardware
capability as well. The problem I currently have is that I cannot find
any clear documentation or example on how to access those capabilities.
I found on the web site some companies that provide a MPEG or H.264
encoder software that charge $20K to $50K licensing fees (!) and I am
not actually sure they use such hardware components. If the hardware is
there I would think that there is a way to call simple function to do
the encoding instead of doing a software encoding, but so far I dont
find those functions / library

So I am looking at higher framework like Gstream of FFMPEG  for example,
that is why I am listening on this list, but so far it seems that
Gstream can only be used to encode a video file out of images, but I
need to encode video frame into a continuous live video stream that can
be sent out of the phone on a socket. Is this what you are trying to do
as well? Any one here can give us some pointer on how Gstream might be
able to help or if that is even feasible or if what I just said is plain
wrong?

thanks for the tips!

Yohan


On 8/24/10 6:58 AM, ivan zoli wrote:

> Hello to all,
>
> I want to stream a video onto an iPhone
> or iPad or Nokia, Android etc...
> The sender is based on Linux and alrready
> uses GStreamer. I'm able to stream to
> a Win PC using GStreamer.
> I'd like to build a server to stream a video
> on a portable equipment like iPad etc...
> I tried without luck even to steram on QuickTime.
> I have a hadrware H264 compressor as well as
> an MP4 compressor.
>
> Does anyone tried the same? We can share info
> in order to get the goal!
>
> Thank you
> Ivan Zoli
>
> ------------------------------------------------------------------------------
> Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
> Be part of this innovative community and reach millions of netbook users
> worldwide. Take advantage of special opportunities to increase revenue and
> speed time-to-market. Join now, and jumpstart your future.
> http://p.sf.net/sfu/intel-atom-d2d
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>    

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Stream on iPad, iPhone, Android...

Stefan Sauer
Am 24.08.2010 19:54, schrieb Yohan Baillot:
> If I understand your email I am at the middle of the same thing, trying
> to stream video from an Iphone. The ARM Cortex A8 in the phone has
> according to the ARM web site at least the NEON engine that can do video
> encoding / decoding for H.264 and MPEG4 on hardware.

NEON has nothing to do with H264 or MPEG4.
http://www.arm.com/products/processors/technologies/neon.php

Stefan

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Stream on iPad, iPhone, Android...

baillot
That is correct, it just help with accelerating encoding among other  
things

Now that this is corrected, do you have anything to suggest related to  
solving my problem? That is code or library or doc that would help  
doing the encoding using neon instructions without programming an  
encoder in neon from scratch?

Have a nice day!
Thank you

Yohan Baillot

Augmented Reality consulting

[hidden email]
(425) BAILLOT


On Aug 25, 2010, at 3:44 PM, Stefan Kost <[hidden email]>  
wrote:

> Am 24.08.2010 19:54, schrieb Yohan Baillot:
>> If I understand your email I am at the middle of the same thing,  
>> trying
>> to stream video from an Iphone. The ARM Cortex A8 in the phone has
>> according to the ARM web site at least the NEON engine that can do  
>> video
>> encoding / decoding for H.264 and MPEG4 on hardware.
>
> NEON has nothing to do with H264 or MPEG4.
> http://www.arm.com/products/processors/technologies/neon.php
>
> Stefan
>
> ---
> ---
> ---
> ---------------------------------------------------------------------
> Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
> Be part of this innovative community and reach millions of netbook  
> users
> worldwide. Take advantage of special opportunities to increase  
> revenue and
> speed time-to-market. Join now, and jumpstart your future.
> http://p.sf.net/sfu/intel-atom-d2d
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Stream on iPad, iPhone, Android...

Stefan Sauer
Am 25.08.2010 22:54, schrieb [hidden email]:
> That is correct, it just help with accelerating encoding among other  
> things
>
> Now that this is corrected, do you have anything to suggest related to  
> solving my problem? That is code or library or doc that would help  
> doing the encoding using neon instructions without programming an  
> encoder in neon from scratch?

gcc autovectorizer might use neon a bit, but chances are low. GStreamer is using
orc a lot, but that still mean to modify a software encoder to make use of it.

Stefan

>
> Have a nice day!
> Thank you
>
> Yohan Baillot
>
> Augmented Reality consulting
>
> [hidden email]
> (425) BAILLOT
>
>
> On Aug 25, 2010, at 3:44 PM, Stefan Kost <[hidden email]>  
> wrote:
>
>> Am 24.08.2010 19:54, schrieb Yohan Baillot:
>>> If I understand your email I am at the middle of the same thing,  
>>> trying
>>> to stream video from an Iphone. The ARM Cortex A8 in the phone has
>>> according to the ARM web site at least the NEON engine that can do  
>>> video
>>> encoding / decoding for H.264 and MPEG4 on hardware.
>>
>> NEON has nothing to do with H264 or MPEG4.
>> http://www.arm.com/products/processors/technologies/neon.php
>>
>> Stefan
>>
>> ---
>> ---
>> ---
>> ---------------------------------------------------------------------
>> Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
>> Be part of this innovative community and reach millions of netbook  
>> users
>> worldwide. Take advantage of special opportunities to increase  
>> revenue and
>> speed time-to-market. Join now, and jumpstart your future.
>> http://p.sf.net/sfu/intel-atom-d2d
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
> ------------------------------------------------------------------------------
> Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
> Be part of this innovative community and reach millions of netbook users
> worldwide. Take advantage of special opportunities to increase revenue and
> speed time-to-market. Join now, and jumpstart your future.
> http://p.sf.net/sfu/intel-atom-d2d
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
MGS
Reply | Threaded
Open this post in threaded view
|

Re: Stream on iPad, iPhone, Android...

MGS
Stefan Kost <ensonic <at> hora-obscura.de> writes:

>
> Am 25.08.2010 22:54, schrieb Admin <at> simulation3d.biz:
> > That is correct, it just help with accelerating encoding among other  
> > things
> >
> > Now that this is corrected, do you have anything to suggest related to  
> > solving my problem? That is code or library or doc that would help  
> > doing the encoding using neon instructions without programming an  
> > encoder in neon from scratch?
>
> gcc autovectorizer might use neon a bit, but chances are low. GStreamer is
using

> orc a lot, but that still mean to modify a software encoder to make use of it.
>
> Stefan
>
> >
> > Have a nice day!
> > Thank you
> >
> > Yohan Baillot
> >
> > Augmented Reality consulting
> >
> > yohan <at> simulation3d.biz
> > (425) BAILLOT
> >
> >

Stefan is correct that gcc auto-vectorization will not give any significant gain
in acceleration of the video encoders. Moreover, if you are thinking of encoding
on mobile devices, you need to spend several months writing/optimizing encoder
using NEON, and end of day you might end up with something which is not realtime
encoding. FFMPEG's usefulness is limited to Desktop PCs. You may contact some
codec company which provides encoder on iPhone or Android. That should help.

MGS





------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:

Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Stream on iPad, iPhone, Android...

ivan zoli-2
In reply to this post by ivan zoli-2
> Stefan is correct that gcc auto-vectorization will not give any significant gain
> in acceleration of the video encoders. Moreover, if you are thinking of encoding
> on mobile devices, you need to spend several months writing/optimizing encoder
> using NEON, and end of day you might end up with something which is not realtime
> encoding. FFMPEG's usefulness is limited to Desktop PCs. You may contact some
> codec company which provides encoder on iPhone or Android. That should help.


But iPhone has built in it's own AV steam client, for example it can connect
YouTube and watch a video... So it will be nice to do a server that
can stream live
video on thoose devices, without the need to xcompile Gstreamer or build my own
codec. I was not able to build a working pipeline to do this, only AV stream
to VLC...

Ivan

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel