CROSS COMPILING GSTREAMER FOR IMX535QSB

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CROSS COMPILING GSTREAMER FOR IMX535QSB

Jump to solution
6,570 Views
shanmugamsundar
Contributor IV

hi all,

      i am new to imx. i am using imx535qsb board for an camera interface application for the i had downloaded the mmcodecs from the frescale website it is debian package.  i need to cross compile the codecs for my imx board. can any one tell me how to cross compile the gstreame for imx board

Thanks in advance

Labels (1)
1 Solution
2,799 Views
daiane_angolini
NXP Employee
NXP Employee

Start a new topic, for 1080p enconding on imx53, and place the link over here.

Let´s close this thread.

It will be easier to get more help with the correct subject.

Try to start new topic with a command line, and describing your environment (kernel version, board)

View solution in original post

0 Kudos
39 Replies
1,930 Views
daiane_angolini
NXP Employee
NXP Employee

I don´t have so big resolution camera. So, I cannot test it over here.

But, let´s try to isolate your problem, ok? Can you help me?

Are you able to take a 720p movie using the following command line:

/unit_tests/mxc_v4l2_capture.out -iw 1280 -ih 720 -ow 640 -oh 480 -i 1 -m 1 -f 2 -fr 30

-ow 640 -oh 480 would be the preview size... as I remember. But, it could be the resolution to file... I don´t remember if this create a file.

Please, let me know your results. (and sorry, I cannot reproduce it over here)

0 Kudos
1,930 Views
shanmugamsundar
Contributor IV

hi Daiane,

        thanks for your reply yesterday night i captured the 720p video. The problem is in gstreamer command. in command we  need to specify the capture mode such as (0,1,2,3,4etc) for 720p i have setted capture mode 4 after that its working properly.

CAPTURE MODES:

0 for 640x480

4 for 1280x720

G STREAMER COMMAND:

gst-launch mfw_v4lsrc fps-n=30 capture-width=1280 capture-height=720 capture-mode=4  ! queue ! mfw_vpuencoder codec-type=0 ! avimux ! filesink location=shan3.avi sync=false

SAMPLE VIDEO LINK:

http://youtu.be/KresvbHdqjA


Now i need to move on to the live rtsp streaming can you guide me for that.


1,930 Views
daiane_angolini
NXP Employee
NXP Employee

Great!

0 Kudos
1,930 Views
shanmugamsundar
Contributor IV

hi Daiane

         Thanks, without a  support from someone like you it cant be achieved its belongs to you. Another thing is i need to capture 1080p video but my application [mxc_v4l2_capture.c] supports only upto 720p can you tell me how to change my application to support 1080p

      

          when i tried to capture the 1080p video it shows the message like this

ERROR:

root@freescale ~$ gst-launch mfw_v4lsrc fps-n=10 capture-width=1920 capture-heig

ht=1080 capture-mode=5  ! queue ! mfw_vpuencoder codec-type=0 ! avimux ! filesin

k location=shan3.avi sync=false


MFW_GST_V4LSRC_PLUGIN 2.0.3 build on Sep 29 2011 15:40:54.

(gst-launch-0.10:2252): GLib-GObject-WARNING **: value "1920" of type `gint' is invalid or out of range for property `capture-width' of type `gint'

Setting pipeline to PAUSED ...

[ALLOC] mem alloc cpu_addr = 0x0  Size 0x150b8

[INFO]  Product Info: i.MX53

VPU Versi[ALLOC] mem alloc cpu_addr = 0x0  Size 0x100000

on: firmware 13.4.41; libvpu: 5.3.2

MFW_GST_VPU_ENCODER_PLUGIN 2.0.3 build on Sep 29 2011 15:40:26.

ERROR: v4l2 capture: width exceeds limit resize to 240.

Pipeline is live and does not need PREROLL ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0

Caught SIGSEGV accessing address 0x18

Spinning.  Please run 'gdb gst-launch 2252' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.


0 Kudos
1,930 Views
daiane_angolini
NXP Employee
NXP Employee

I´m not sure imx53 can encode 1080p from camera. What board are you trying?

0 Kudos
1,930 Views
shanmugamsundar
Contributor IV

imx535 Quick start board

0 Kudos
2,800 Views
daiane_angolini
NXP Employee
NXP Employee

Start a new topic, for 1080p enconding on imx53, and place the link over here.

Let´s close this thread.

It will be easier to get more help with the correct subject.

Try to start new topic with a command line, and describing your environment (kernel version, board)

0 Kudos
1,930 Views
shanmugamsundar
Contributor IV

hi daiane

yes you are right imx53 can decode the 1080p not encode

0 Kudos
1,930 Views
fabio_estevam
NXP Employee
NXP Employee

Correct. If you need 1080p encode, you should consider mx6q.

Regards,

Fabio Estevam

0 Kudos
1,930 Views
shanmugamsundar
Contributor IV

ya

thats fine

0 Kudos
1,930 Views
shanmugamsundar
Contributor IV

hi daiane

   thanks for your great support i had streamed the video from the target imx board to my host pc successfully. it is done with your reference link IMX27 Video GST Caps

finally i streamed the 320x240 resolution video

COMMAND FOR STREAMING FROM PC TO PC:

step-1

export HOST=192.168.0.50 (your ip address)

step-2

gst-launch -v v4l2src ! ffenc_mpeg4 ! rtpmp4vpay ! udpsink host=192.168.0.50 port=5000

step-3:

gst-launch -v udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335322e37322e32, payload=(int)96, ssrc=(guint)1885429468, clock-base=(guint)608195830, seqnum-base=(guint)20804" ! rtpmp4vdepay ! ffdec_mpeg4 ! ffmpegcolorspace ! videoscale ! autovideosink

COMMAND FOR STREAMING FROM IMX TARGET BOARD TO HOST PC:


step-1

export HOST=192.168.0.50 (your ip address) --> in serial terminal of imx target board

step-2

gst-launch mfw_v4lsrc fps-n=30 capture-width=320 capture-height=240 capture-mode=1  ! queue ! mfw_vpuencoder codec-type=0 ! rtpmp4vpay ! udpsink host=192.168.0.50 port=5000  sync=true -->in the serial terminal

step-3

gst-launch -v udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335322e37322e32, payload=(int)96, ssrc=(guint)1885429468, clock-base=(guint)608195830, seqnum-base=(guint)20804" ! rtpmp4vdepay ! ffdec_mpeg4 ! ffmpegcolorspace ! videoscale ! autovideosink --> open a terminal in your pc and give the command the streaming video will display in a window



once again thanks daiane


regards

shan,

1,930 Views
daiane_angolini
NXP Employee
NXP Employee

You´re welcome.

And, thanks for sharing your solution for stream. It will help others as well.

1,930 Views
shanmugamsundar
Contributor IV

hi daiane

        i had streamed the 640x480 video and 720p video. the 640x480 resolution is streaming fine but 720p is streaming slowly the video is running slowly is there any problem on fps or some other issues,

COMMAND GIVEN FOR 720P

gst-launch -v mfw_v4lsrc fps-n=30 capture-width=1280 capture-height=720 capture-mode=4  ! queue ! mfw_vpuencoder codec-type=0 ! rtpmp4vpay ! udpsink host=192.168.0.50 port=5000  sync=true

gst-launch -v udpsrc port=5000 caps ="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)6, config=(string)000001b006000001b59113000001000000012000c888800f528045a14103, payload=(int)96, ssrc=(guint)424830278, clock-base=(guint)2874253685, seqnum-base=(guint)43950" ! rtpmp4vdepay ! ffdec_mpeg4 ! ffmpegcolorspace ! videoscale ! autovideosink

0 Kudos
1,930 Views
shanmugamsundar
Contributor IV

hi daiane

ok i find the problem gstreamer shows the following message

ERROR:

WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXImageSink:autovideosink0-actual-sink-ximage: A lot of buffers are being dropped.

Additional debug info:

gstbasesink.c(2686): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXImageSink:autovideosink0-actual-sink-ximage:

There may be a timestamping problem, or this computer is too slow.


0 Kudos
1,930 Views
shanmugamsundar
Contributor IV

hi daiane

        i fix the problem in 720p video streaming, the problem is in command we want to use gstjitterbuffer for to send the data fastly and correct streaming of high resolution video

COMMAND FOR STREAMING 720P video:

gst-launch  mfw_v4lsrc fps-n=30 capture-width=1280 capture-height=720 capture-mode=4  ! queue ! mfw_vpuencoder codec-type=0 ! rtpmp4vpay ! udpsink host=192.168.0.50 port=5000 -->in serial port


gst-launch udpsrc port=5000 caps ="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)6, config=(string)000001b006000001b59113000001000000012000c888800f528045a14103, payload=(int)96, ssrc=(guint)424830278, clock-base=(guint)2874253685, seqnum-base=(guint)43950" ! gstrtpjitterbuffer ! rtpmp4vdepay ! ffdec_mpeg4 ! ffmpegcolorspace ! videoscale ! autovideosink -->in host PC

Thanks

shan

0 Kudos
1,930 Views
shanmugamsundar
Contributor IV

gstrtpjitterbuffer

0 Kudos
1,930 Views
shanmugamsundar
Contributor IV

hi daiane

     finally we streamed all the videos. one doubt how to store the streaming video to the server pc

Thanks

shan

0 Kudos
1,930 Views
fabio_estevam
NXP Employee
NXP Employee

If you mean to store the streaming into a file, you can use the 'filesink' element.

Regards,

Fabio Estevam

0 Kudos
1,930 Views
shanmugamsundar
Contributor IV

hi fabio

  i tried the filesink element but it write the empty video file in the location with huge size. is there any other method to save the video

Thanks

shan

0 Kudos
1,930 Views
daiane_angolini
NXP Employee
NXP Employee

Great!

Regarding storing the streaming video, sorry I cannot help.

You can try NFS, but I really don´t know which one is the best way

0 Kudos