Grab video

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

Grab video

Gary Thomas
I have a camera which only produces UYUY video - caps:
   video/x-raw-yuv, format=(fourcc)UYVY, width=(int)720, height=(int)480, framerate=(fraction)30/1

I'd like to encode this as x264, so I tried this pipeline:
   gst-launch -v v4l2src num-buffers=200 ! 'video/x-raw-yuv,width=720,height=480,format=(fourcc)UYVY' ! ffmpegcolorspace ! x264enc ! filesink location=/tmp/test.h264

There are no complaints and the process seems to launch, but I
get no data to my file.  A similar pipeline using a hardware (DSP)
encoder on my platform works:
   gst-launch -v v4l2src num-buffers=2000 ! 'video/x-raw-yuv,width=720,height=480' ! TIVidenc1 codecName=h264enc engineName=codecServer ! filesink location=/tmp/test.h264

The only difference is that I'm using ffmpegcolorspace to convert
the data from UYUV to I420.

Note: I enabled debug level 4 for ffmpeg and it produces lines
like these:
   0:00:11.669219616   766   0x10bf50 DEBUG       ffmpegcolorspace gstffmpegcolorspace.c:449:gst_ffmpegcsp_transform: from 35 -> to 0
   0:00:11.689147594   766   0x10bf50 DEBUG       ffmpegcolorspace gstffmpegcolorspace.c:476:gst_ffmpegcsp_transform: from 35 -> to 0 done
   0:00:12.354461316   766   0x10bf50 DEBUG       ffmpegcolorspace gstffmpegcolorspace.c:449:gst_ffmpegcsp_transform: from 35 -> to 0
   0:00:12.368774059   766   0x10bf50 DEBUG       ffmpegcolorspace gstffmpegcolorspace.c:476:gst_ffmpegcsp_transform: from 35 -> to 0 done
I'm not sure what they mean.  I also enabled debug for x264enc and
it gave me these lines (the sizes tell me that the data coming from
ffmpegcolorspace is not good):
   0:00:10.976440135   774   0x10bf30 LOG                  x264enc :0::<x264enc0> frame=   1 QP=22.65 NAL=2 Slice:P Poc:8   I:31   P:982  SKIP:337  size=13873 bytes
   0:00:11.750701609   774   0x10bf30 LOG                  x264enc :0::<x264enc0> frame=   2 QP=27.69 NAL=2 Slice:B Poc:4   I:0    P:129  SKIP:1221 size=112 bytes
   0:00:14.098602000   774   0x10bf30 LOG                  x264enc :0::<x264enc0> frame=   3 QP=34.39 NAL=0 Slice:B Poc:2   I:1333 P:14   SKIP:0    size=10943 bytes
   0:00:14.993529978   774   0x10bf30 LOG                  x264enc :0::<x264enc0> frame=   4 QP=27.86 NAL=0 Slice:B Poc:6   I:3    P:63   SKIP:1284 size=174 bytes

Any ideas what I'm doing wrong?  My goal is just to compare the
resulting encoded file between the hardware (DSP) version and the
software (x264enc) version.

One final question: I'd like to resize the data, e.g. from 720x480 to 360x240
before the encode, but none of the pipelines I've tried (yes, I'm new to this!)
seem to even want to run.  Mostly, I get messages about not being able to connect
one endpoint to another, but I really don't understand either the messages or the
process.

Thanks for any pointers/ideas

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Grab video

Raseel


On Thu, Oct 7, 2010 at 11:14 PM, Gary Thomas <[hidden email]> wrote:
I have a camera which only produces UYUY video - caps:
  video/x-raw-yuv, format=(fourcc)UYVY, width=(int)720, height=(int)480, framerate=(fraction)30/1

I'd like to encode this as x264, so I tried this pipeline:
  gst-launch -v v4l2src num-buffers=200 ! 'video/x-raw-yuv,width=720,height=480,format=(fourcc)UYVY' ! ffmpegcolorspace ! x264enc ! filesink location=/tmp/test.h264

There are no complaints and the process seems to launch, but I
get no data to my file.  A similar pipeline using a hardware (DSP)
encoder on my platform works:
  gst-launch -v v4l2src num-buffers=2000 ! 'video/x-raw-yuv,width=720,height=480' ! TIVidenc1 codecName=h264enc engineName=codecServer ! filesink location=/tmp/test.h264

The only difference is that I'm using ffmpegcolorspace to convert
the data from UYUV to I420.

Note: I enabled debug level 4 for ffmpeg and it produces lines
like these:
  0:00:11.669219616   766   0x10bf50 DEBUG       ffmpegcolorspace gstffmpegcolorspace.c:449:gst_ffmpegcsp_transform: from 35 -> to 0
  0:00:11.689147594   766   0x10bf50 DEBUG       ffmpegcolorspace gstffmpegcolorspace.c:476:gst_ffmpegcsp_transform: from 35 -> to 0 done
  0:00:12.354461316   766   0x10bf50 DEBUG       ffmpegcolorspace gstffmpegcolorspace.c:449:gst_ffmpegcsp_transform: from 35 -> to 0
  0:00:12.368774059   766   0x10bf50 DEBUG       ffmpegcolorspace gstffmpegcolorspace.c:476:gst_ffmpegcsp_transform: from 35 -> to 0 done
I'm not sure what they mean.  I also enabled debug for x264enc and
it gave me these lines (the sizes tell me that the data coming from
ffmpegcolorspace is not good):
  0:00:10.976440135   774   0x10bf30 LOG                  x264enc :0::<x264enc0> frame=   1 QP=22.65 NAL=2 Slice:P Poc:8   I:31   P:982  SKIP:337  size=13873 bytes
  0:00:11.750701609   774   0x10bf30 LOG                  x264enc :0::<x264enc0> frame=   2 QP=27.69 NAL=2 Slice:B Poc:4   I:0    P:129  SKIP:1221 size=112 bytes
  0:00:14.098602000   774   0x10bf30 LOG                  x264enc :0::<x264enc0> frame=   3 QP=34.39 NAL=0 Slice:B Poc:2   I:1333 P:14   SKIP:0    size=10943 bytes
  0:00:14.993529978   774   0x10bf30 LOG                  x264enc :0::<x264enc0> frame=   4 QP=27.86 NAL=0 Slice:B Poc:6   I:3    P:63   SKIP:1284 size=174 bytes

Any ideas what I'm doing wrong?  My goal is just to compare the
resulting encoded file between the hardware (DSP) version and the
software (x264enc) version.

One final question: I'd like to resize the data, e.g. from 720x480 to 360x240
before the encode, but none of the pipelines I've tried (yes, I'm new to this!)
seem to even want to run.  Mostly, I get messages about not being able to connect
one endpoint to another, but I really don't understand either the messages or the
process.

Hi Gary,

the reason you do not see the file dumped from your first pipeline, is because by default x264enc uses packetized  stream format.

Use the "byte-stream=true" property of x264enc in your pipeline, to use a byte-stream format containing NALUs, and you should be able to playout the dumped file.

--
Raseel

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Grab video

Andrey Nechypurenko-2
In reply to this post by Gary Thomas
Hi,

> One final question: I'd like to resize the data, e.g. from 720x480 to 360x240
> before the encode, but none of the pipelines I've tried (yes, I'm new to this!)
> seem to even want to run.  Mostly, I get messages about not being able to connect
> one endpoint to another, but I really don't understand either the messages or the
> process.

I am doing similar things and the following pipelines work for me on
x86 with x264enc and on BeagleBoard correspondently:

v4l2src do-timestamp=true !
video/x-raw-yuv,width=320,height=240,framerate=30/1 ! videoscale
name=qos-scaler ! capsfilter name=qos-caps
caps=video/x-raw-yuv,width=320,height=240 ! x264enc name=encoder
byte-stream=true bitrate=300 speed-preset=superfast subme=6 !
rtph264pay pt=96 ! appsink

v4l2src always-copy=FALSE !
video/x-raw-yuv,width=320,height=240,framerate=30/1 ! videoscale
name=qos-scaler ! capsfilter name=qos-caps
caps=video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace !
video/x-raw-yuv,format=(fourcc)UYVY ! TIVidenc1 codecName=h264enc
engineName=codecServer bitRate=30000 genTimeStamps=TRUE
byteStream=TRUE ! rtph264pay pt=96 ! appsink

I've also manage to run the pipeline which uses TIVidResize (hardware
resizer on DSP) instead of videoscale which runs on ARM. However it
works only if I precisely specify a lot of caps (such as fourcc
format, etc.). It makes it difficult to change between different
cameras, that is why I am currently not using it.

Regards,
Andrey.

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Grab video

Andrey Nechypurenko-2
> v4l2src do-timestamp=true !
> video/x-raw-yuv,width=320,height=240,framerate=30/1 ! videoscale
> name=qos-scaler ! capsfilter name=qos-caps
> caps=video/x-raw-yuv,width=320,height=240 ! x264enc name=encoder
> byte-stream=true bitrate=300 speed-preset=superfast subme=6 !
> rtph264pay pt=96 ! appsink
>
> v4l2src always-copy=FALSE !
> video/x-raw-yuv,width=320,height=240,framerate=30/1 ! videoscale
> name=qos-scaler ! capsfilter name=qos-caps
> caps=video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace !
> video/x-raw-yuv,format=(fourcc)UYVY ! TIVidenc1 codecName=h264enc
> engineName=codecServer bitRate=30000 genTimeStamps=TRUE
> byteStream=TRUE ! rtph264pay pt=96 ! appsink

Just want to add, that using caps filter right after v4l2src you can
instruct the camera to capture in different (supported) resolutions.
So if your camera supports the resolution you are interested in, then
it might not be necessary to use videoscale at all.

In addition, in my examples above, the width and height before and
after videoscale element are the same. This is because I am adjusting
these values dynamically from my application. Of course, they should
be different in "static" pipeline, otherwise it would not make a lot
of sense :-) .

Regards,
Andrey.

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Grab video

Gary Thomas
In reply to this post by Andrey Nechypurenko-2
On 10/08/2010 02:55 AM, Andrey Nechypurenko wrote:

> Hi,
>
>> One final question: I'd like to resize the data, e.g. from 720x480 to 360x240
>> before the encode, but none of the pipelines I've tried (yes, I'm new to this!)
>> seem to even want to run.  Mostly, I get messages about not being able to connect
>> one endpoint to another, but I really don't understand either the messages or the
>> process.
>
> I am doing similar things and the following pipelines work for me on
> x86 with x264enc and on BeagleBoard correspondently:
>
> v4l2src do-timestamp=true !
> video/x-raw-yuv,width=320,height=240,framerate=30/1 ! videoscale
> name=qos-scaler ! capsfilter name=qos-caps
> caps=video/x-raw-yuv,width=320,height=240 ! x264enc name=encoder
> byte-stream=true bitrate=300 speed-preset=superfast subme=6 !
> rtph264pay pt=96 ! appsink
>
> v4l2src always-copy=FALSE !
> video/x-raw-yuv,width=320,height=240,framerate=30/1 ! videoscale
> name=qos-scaler ! capsfilter name=qos-caps
> caps=video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace !
> video/x-raw-yuv,format=(fourcc)UYVY ! TIVidenc1 codecName=h264enc
> engineName=codecServer bitRate=30000 genTimeStamps=TRUE
> byteStream=TRUE ! rtph264pay pt=96 ! appsink
>
> I've also manage to run the pipeline which uses TIVidResize (hardware
> resizer on DSP) instead of videoscale which runs on ARM. However it
> works only if I precisely specify a lot of caps (such as fourcc
> format, etc.). It makes it difficult to change between different
> cameras, that is why I am currently not using it.

How did you get TIVidResize to run on the BeagleBoard?  I'm running
on a similar OMAP/3530 and the TI DVSDK I have doesn't seem to support
it on the OMAP.  I built my tools using Angstrom, with these versions:
   ti-biosutils-1_02_02-r1
   ti-cgt6x-1_6_1_14-r4
   ti-codec-engine-2_25_05_16-r5
   ti-codecs-omap3530-1_1_01_00-r2
   ti-dmai-1_2_10_00_01+svnr423-r1l
   ti-dspbios-5_41_04_18-r1
   ti-dsplink-1_1_65_00_03-r1h
   ti-edma3lld-01_11_00_03-r0
   ti-framework-components-2_25_02_06-r1
   ti-linuxutils-1_2_25_04_10-r0
   ti-local-power-manager-1_1_24_02_09-r1d
   ti-xdais-6_25_02_11-r1
   ti-xdctools-3_20_01_51-r2


Also, do you find the TIVidenc1 working well?

Finally, do you know of a better place than the gstreamer list to
discuss these items?  (I'm really not a fan of the TI forums as I
find them useless, bottomless holes...)

Thanks

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Grab video

Andrey Nechypurenko-2
Hi,
Hi,

> How did you get TIVidResize to run on the BeagleBoard?

Here is the pipeline which works on my system:

v4l2src always-copy=FALSE !
video/x-raw-yuv,format=(fourcc)YUY2,width=640,height=480,framerate=30/1
! ffmpegcolorspace ! video/x-raw-yuv,format=(fourcc)UYVY ! TIVidResize
name=qos-scaler contiguousInputFrame=TRUE !
video/x-raw-yuv,format=(fourcc)UYVY,width=640,height=480 ! TIVidenc1
codecName=h264enc engineName=codecServer bitRate=320000
encodingPreset=2 genTimeStamps=TRUE byteStream=TRUE ! rtph264pay pt=96
! appsink

Please note, that TIVidenc1 supports only UYVY on omap3530. However,
as I understand, the auto-negotiation implementation will not restrict
the choice to this format. That is why I am always explecitly specify
fourcc frame format. Ffmpegcolorspace is necessary in my case because
my camera does not support UYVY format.

> I'm running
> on a similar OMAP/3530 and the TI DVSDK I have doesn't seem to support
> it on the OMAP.  I built my tools using Angstrom, with these versions:

I am also using Angstrom development brunch and did not made anything special.
What does
$ gst-inspect TIVidResize
says on your system? Is this element found? If not, then there is
definitely some packages are missing.

>  ti-biosutils-1_02_02-r1
>  ti-cgt6x-1_6_1_14-r4
>  ti-codec-engine-2_25_05_16-r5
>  ti-codecs-omap3530-1_1_01_00-r2
>  ti-dmai-1_2_10_00_01+svnr423-r1l
>  ti-dspbios-5_41_04_18-r1
>  ti-dsplink-1_1_65_00_03-r1h
>  ti-edma3lld-01_11_00_03-r0
>  ti-framework-components-2_25_02_06-r1
>  ti-linuxutils-1_2_25_04_10-r0
>  ti-local-power-manager-1_1_24_02_09-r1d
>  ti-xdais-6_25_02_11-r1
>  ti-xdctools-3_20_01_51-r2

I have much more ti-* packages compiled. Here is just the beginning:

ti-biosutils_1_02_02-r1.5_beagleboard.ipk
ti-biosutils-dbg_1_02_02-r1.5_beagleboard.ipk
ti-biosutils-dev_1_02_02-r1.5_beagleboard.ipk
ti-biosutils-sourcetree_1_02_02-r1.5_beagleboard.ipk
ti-cgt6x_6_1_9-r4.5_beagleboard.ipk
ti-cgt6x-dbg_6_1_9-r4.5_beagleboard.ipk
ti-cgt6x-dev_6_1_9-r4.5_beagleboard.ipk
ti-cgt6x-sourcetree_6_1_9-r4.5_beagleboard.ipk
ti-cmem-module_2_25_01_06-r84d.5_beagleboard.ipk
ti-codec-engine_2_25_01_06-r5.5_beagleboard.ipk
ti-codec-engine-dbg_2_25_01_06-r5.5_beagleboard.ipk
ti-codec-engine-dev_2_25_01_06-r5.5_beagleboard.ipk
ti-codec-engine-examples_2_25_01_06-r5.5_beagleboard.ipk
ti-codec-engine-sourcetree_2_25_01_06-r5.5_beagleboard.ipk
ti-codecs-omap3530_1_00_01-r9.5_beagleboard.ipk
ti-codecs-omap3530-dbg_1_00_01-r9.5_beagleboard.ipk
ti-codecs-omap3530-dev_1_00_01-r9.5_beagleboard.ipk
ti-codecs-omap3530-server_1_00_01-r9.5_beagleboard.ipk
ti-codecs-omap3530-sourcetree_1_00_01-r9.5_beagleboard.ipk
ti-dmai_2_10_00_01+svnr423-r84l.5_beagleboard.ipk
ti-dmai-apps_2_10_00_01+svnr423-r84l.5_beagleboard.ipk
ti-dmai-dbg_2_10_00_01+svnr423-r84l.5_beagleboard.ipk
ti-dmai-dev_2_10_00_01+svnr423-r84l.5_beagleboard.ipk
ti-dmai-sourcetree_2_10_00_01+svnr423-r84l.5_beagleboard.ipk
ti-dmai-tests_2_10_00_01+svnr423-r84l.5_beagleboard.ipk
ti-dspbios_5_41_02_14-r1.5_beagleboard.ipk
ti-dspbios-dbg_5_41_02_14-r1.5_beagleboard.ipk
ti-dspbios-dev_5_41_02_14-r1.5_beagleboard.ipk
ti-dspbios-sourcetree_5_41_02_14-r1.5_beagleboard.ipk
ti-dsplink_1_64-r84h.5_beagleboard.ipk
ti-dsplink-dbg_1_64-r84h.5_beagleboard.ipk


I think gstreamer-ti_svnr612-r59+r84.5_beagleboard.ipk is the one
where gstreamer elemts are resides.

> Also, do you find the TIVidenc1 working well?

I did not made any formal evaluations and comparisions. For my
purposes, low bitrate realtime streamig, it works just fine. Using not
the fastest pipeline I mentioned above (because of ffmpegcolorspace
and videoscale elements running on arm) I was able to compress and
transmit 320x240 video with about 50% system load. Attempting to
increase the frame size to 640x480 drives the system load to 100% and
there is about 1 sec. latency becomes visible.

> Finally, do you know of a better place than the gstreamer list to
> discuss these items?  (I'm really not a fan of the TI forums as I
> find them useless, bottomless holes...)

Sometimes I am posting questions to "GStreamer on TI DaVinci and OMAP"
Forum here:
https://gstreamer.ti.com/gf/project/gstreamer_ti/forum/?action=ForumBrowse&forum_id=187
There are very knowledgable persons answering questions there and I've
got a couple of very usefull suggestions.

Regards,
Andrey.

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Grab video

Gary Thomas
On 10/08/2010 11:41 AM, Andrey Nechypurenko wrote:

> Hi,
> Hi,
>
>> How did you get TIVidResize to run on the BeagleBoard?
>
> Here is the pipeline which works on my system:
>
> v4l2src always-copy=FALSE !
> video/x-raw-yuv,format=(fourcc)YUY2,width=640,height=480,framerate=30/1
> ! ffmpegcolorspace ! video/x-raw-yuv,format=(fourcc)UYVY ! TIVidResize
> name=qos-scaler contiguousInputFrame=TRUE !
> video/x-raw-yuv,format=(fourcc)UYVY,width=640,height=480 ! TIVidenc1
> codecName=h264enc engineName=codecServer bitRate=320000
> encodingPreset=2 genTimeStamps=TRUE byteStream=TRUE ! rtph264pay pt=96
> ! appsink

That's really interesting - when I run this, I get this error:
   linux/omap3530/Resize.c:585: Resize_execute: Assertion `(Buffer_getPhysicalPtr(hSrcBuf) & 0x1F) == 0' failed.
Looking closely at the source files, I see that the file in question is
just a bunch of "not implemented" stubs.

You have a slightly different package set than I do, maybe I can figure out
what to use (although what you are using is *older* than the ones I have)

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Grab video

Andrey Nechypurenko-2
>> Here is the pipeline which works on my system:
>>
>> v4l2src always-copy=FALSE !
>> video/x-raw-yuv,format=(fourcc)YUY2,width=640,height=480,framerate=30/1
>> ! ffmpegcolorspace ! video/x-raw-yuv,format=(fourcc)UYVY ! TIVidResize
>> name=qos-scaler contiguousInputFrame=TRUE !
>> video/x-raw-yuv,format=(fourcc)UYVY,width=640,height=480 ! TIVidenc1
>> codecName=h264enc engineName=codecServer bitRate=320000
>> encodingPreset=2 genTimeStamps=TRUE byteStream=TRUE ! rtph264pay pt=96
>> ! appsink
>
> That's really interesting - when I run this, I get this error:
>  linux/omap3530/Resize.c:585: Resize_execute: Assertion
> `(Buffer_getPhysicalPtr(hSrcBuf) & 0x1F) == 0' failed.
> Looking closely at the source files, I see that the file in question is
> just a bunch of "not implemented" stubs.
>
> You have a slightly different package set than I do, maybe I can figure out
> what to use (although what you are using is *older* than the ones I have)

What I learned while using gstreamer is that caps are matter ( c )
Joda :-) . I was able to solve 99% of problems just by specifying the
caps manually. In particular, TI elements like TIVidenc1, would
auto-negotiate caps which are not really supported on particular
platform. That is why it is always better to try to specify all caps
as precisely as possible and after the pipeline will run, try to
remove some of them to make it more generic. I am usually starting
from analizing what formats are supported by the camera and specify
exactly the one I am sure is supported, and then go on with next
elements in pipeline. It is almost like a detective work :-) .

BTW, if you are interested, you can take a look at this project:
www.gitorious.org/veter . There is a wiki page with overview. Here you
will be able to find some more examples in the misc/*.conf files which
could be of interest for you either.

Good luck in your quest for running pipelines :-)

Andrey.

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Grab video

Gary Thomas
In reply to this post by Andrey Nechypurenko-2
On 10/08/2010 11:41 AM, Andrey Nechypurenko wrote:

> Hi,
> Hi,
>
>> How did you get TIVidResize to run on the BeagleBoard?
>
> Here is the pipeline which works on my system:
>
> v4l2src always-copy=FALSE !
> video/x-raw-yuv,format=(fourcc)YUY2,width=640,height=480,framerate=30/1
> ! ffmpegcolorspace ! video/x-raw-yuv,format=(fourcc)UYVY ! TIVidResize
> name=qos-scaler contiguousInputFrame=TRUE !
> video/x-raw-yuv,format=(fourcc)UYVY,width=640,height=480 ! TIVidenc1
> codecName=h264enc engineName=codecServer bitRate=320000
> encodingPreset=2 genTimeStamps=TRUE byteStream=TRUE ! rtph264pay pt=96
> ! appsink

I did finally get this to work, but the scaled image now looks like
I'm peering through blinds - there are black horizontal bars taking up
about 50% of the image.  See http://www.mlbassoc.com/misc/TI_resize.png

Any ideas what might cause this?

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Grab video

Andrey Nechypurenko-2
> I did finally get this to work, but the scaled image now looks like
> I'm peering through blinds - there are black horizontal bars taking up
> about 50% of the image.  See http://www.mlbassoc.com/misc/TI_resize.png
>
> Any ideas what might cause this?

Not really. The only thing I can currently think about is some kind of
noise for example on power line. Once I've seen similar picture when I
was driving some noisy servo motors sitting on the same power line as
beagleboard.

Maybe you can also try to replace TI scaler with videoscale element
which runs on ARM to see if the problem remains?

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Grab video

Gary Thomas
On 10/11/2010 07:44 AM, Andrey Nechypurenko wrote:

>> I did finally get this to work, but the scaled image now looks like
>> I'm peering through blinds - there are black horizontal bars taking up
>> about 50% of the image.  See http://www.mlbassoc.com/misc/TI_resize.png
>>
>> Any ideas what might cause this?
>
> Not really. The only thing I can currently think about is some kind of
> noise for example on power line. Once I've seen similar picture when I
> was driving some noisy servo motors sitting on the same power line as
> beagleboard.
>
> Maybe you can also try to replace TI scaler with videoscale element
> which runs on ARM to see if the problem remains?

The banding does not happen with the software videoscale element.

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel