How do I optimize my encoding and streaming?

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

How do I optimize my encoding and streaming?

Yuval Yohai
Hello all,

I am very new to Gstreamer.
I need to stream a video source from a firewire HD camera to a remote site using cellular modem. The picture quality should be as good as possible. Its size, though, could be around 640X480 or a little bigger (or wider). As of now I am doing my first steps using my web cam.

I do this:
gst-launch-0.10 -v v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=640,height=480,framerate=30/1' ! ffenc_flv ! udpsink port=5000

My output video picture is very low in quality. It seem as if the encoding is very rough (picture has small squares on it).

If I do:
gst-launch-0.10 -v v4l2src device=/dev/video0 ! ffenc_flv ! udpsink port=5000

I get a 1600 X 1200 picture but then I don't know how to resize it to a smaller format.

Any suggestions?
Am I on the right track?

Thanks,
Yuval Yohai
Reply | Threaded
Open this post in threaded view
|

Re: How do I optimize my encoding and streaming?

Michael Joachimiak
This string:
'video/x-raw-yuv,width=640,height=480,framerate=30/1'
is a capabilities string (caps).
You can change the width and height there to whatever the camera supports.
call gst-inspect v4l2src to set what options you have.

Same for ffenc_flv. Call gst-inspect ffenc_flv to see what properties you can set when calling gst-launch.
You can try to change minimal quntaizer values.

Squares are coming because of aliasing, thus changing the quantization parameter might help.


2010/5/26 Yuval Yohai <[hidden email]>

Hello all,

I am very new to Gstreamer.
I need to stream a video source from a firewire HD camera to a remote site
using cellular modem. The picture quality should be as good as possible. Its
size, though, could be around 640X480 or a little bigger (or wider). As of
now I am doing my first steps using my web cam.

I do this:
gst-launch-0.10 -v v4l2src device=/dev/video0 !
'video/x-raw-yuv,width=640,height=480,framerate=30/1' ! ffenc_flv ! udpsink
port=5000

My output video picture is very low in quality. It seem as if the encoding
is very rough (picture has small squares on it).

If I do:
gst-launch-0.10 -v v4l2src device=/dev/video0 ! ffenc_flv ! udpsink
port=5000

I get a 1600 X 1400 picture but then I don't know how to resize it to a
smaller format.

Any suggestions?
Am I on the right track?

Thanks,
Yuval Yohai
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/How-do-I-optimize-my-encoding-and-streaming-tp2231076p2231076.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



--
Your Sincerely
Michael Joachimiak

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How do I optimize my encoding and streaming?

Luciana Fujii Pontello
On Tue, 2010-06-08 at 09:02 +0300, Michael Joachimiak wrote:
> This string:
> 'video/x-raw-yuv,width=640,height=480,framerate=30/1'
> is a capabilities string (caps).
> You can change the width and height there to whatever the camera
> supports.
> call gst-inspect v4l2src to set what options you have.

gst-inspect v4l2src will return what the element can do, not necessarily
what your camera supports. But there is a way to check that with
GStreamer also, I've just never used it.

Regards,

Luciana Fujii


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How do I optimize my encoding and streaming?

Yuval Yohai
In reply to this post by Michael Joachimiak
Thanks very much,


Thanks to you I have understood some more things and it is working now
much better. The CPU load is suspiciously low (65%), I would expect it
to be higher. I will do some more tests regarding that.


My project is quiet big and I am now during my first steps so ... much
more questions are due to come.


and the next one is ... how do I stream it so that it will be opened by
VLC or windows media player. If I use:

... ffenc_flv ! udpsink port=5000


and then open the VLC for streaming at :  udp://localhost:5000


I would expect it to be shown yet I don't.


Any suggestions?


Thanks,

Regards


Michael Joachimiak [via GStreamer-devel] wrote:

> This string:
> 'video/x-raw-yuv,width=640,height=480,framerate=30/1'
> is a capabilities string (caps).
> You can change the width and height there to whatever the camera supports.
> call gst-inspect v4l2src to set what options you have.
>
> Same for ffenc_flv. Call gst-inspect ffenc_flv to see what properties
> you can set when calling gst-launch.
> You can try to change minimal quntaizer values.
>
> Squares are coming because of aliasing, thus changing the quantization
> parameter might help.
>
>
> 2010/5/26 Yuval Yohai <[hidden email]
> </user/SendEmail.jtp?type=node&node=2246904&i=0>>
>
>
>     Hello all,
>
>     I am very new to Gstreamer.
>     I need to stream a video source from a firewire HD camera to a
>     remote site
>     using cellular modem. The picture quality should be as good as
>     possible. Its
>     size, though, could be around 640X480 or a little bigger (or
>     wider). As of
>     now I am doing my first steps using my web cam.
>
>     I do this:
>     gst-launch-0.10 -v v4l2src device=/dev/video0 !
>     'video/x-raw-yuv,width=640,height=480,framerate=30/1' ! ffenc_flv
>     ! udpsink
>     port=5000
>
>     My output video picture is very low in quality. It seem as if the
>     encoding
>     is very rough (picture has small squares on it).
>
>     If I do:
>     gst-launch-0.10 -v v4l2src device=/dev/video0 ! ffenc_flv ! udpsink
>     port=5000
>
>     I get a 1600 X 1400 picture but then I don't know how to resize it
>     to a
>     smaller format.
>
>     Any suggestions?
>     Am I on the right track?
>
>     Thanks,
>     Yuval Yohai
>     --
>     View this message in context:
>     http://gstreamer-devel.966125.n4.nabble.com/How-do-I-optimize-my-encoding-and-streaming-tp2231076p2231076.html
>     Sent from the GStreamer-devel mailing list archive at Nabble.com.
>
>     ------------------------------------------------------------------------------
>     ThinkGeek and WIRED's GeekDad team up for the Ultimate
>     GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
>     lucky parental unit.  See the prize list and enter to win:
>     http://p.sf.net/sfu/thinkgeek-promo
>     _______________________________________________
>     gstreamer-devel mailing list
>     [hidden email] </user/SendEmail.jtp?type=node&node=2246904&i=1>
>     https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
>
>
> --
> Your Sincerely
> Michael Joachimiak
>
> ------------------------------------------------------------------------------
>
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email] </user/SendEmail.jtp?type=node&node=2246904&i=2>
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
> ------------------------------------------------------------------------
> View message @
> http://gstreamer-devel.966125.n4.nabble.com/How-do-I-optimize-my-encoding-and-streaming-tp2231076p2246904.html 
>
> To unsubscribe from How do I optimize my encoding and streaming?,
> click here
> <http://gstreamer-devel.966125.n4.nabble.com/subscriptions/Unsubscribe.jtp?code=eXV2YWxAbGFiLXR1bmVzLmNvbXwyMjMxMDc2fDg3ODEyNTYzNw==>.
>
>


--
Yuval Yohai,
LabTunes
http://www.lab-tunes.com
E-mail: [hidden email]
Tel: 972-(0)54-5613724