GStreamer i.MX6 Multi-Display

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

GStreamer i.MX6 Multi-Display

GStreamer i.MX6 Multi-Display

Multiple-Display means video playback on multiple screens. In case playback needs to be in a unique screen, the mfw_isink element must be used and some pipelines examples can be found on this link: GStreamer iMX6 Multi-Overlay.

Number of DisplaysDisplay typeKernel parameters
Pipelines

# Set these shells variables before running the pipelines

alias gl=gst-launch

SINK_1="\"mfw_v4lsink device=/dev/video17\""

SINK_2="\"mfw_v4lsink device=/dev/video18\""

SINK_3="\"mfw_v4lsink device=/dev/video20\""

media1=file:///root/media1

media2=file:///root/media2

media3=file:///root/media3

2hdmi + lvds

video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24

video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666

gl playbin2 uri=$media1 video-sink=$SINK_1 playbin2 uri=$media2 video-sink=$SINK_2
2lvds + lvds

video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666

video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666

gl playbin2 uri=$media1 video-sink=$SINK_1 playbin2 uri=$media2 video-sink=$SINK_2
2lcd + lvds

video=mxcfb0:dev=lcd,800x480M@55,if=RGB565

video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666

gl playbin2 uri=$media1 video-sink=$SINK_1 playbin2 uri=$media2 video-sink=$SINK_2
3


hdmi + lvds + lvds

video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24

video=mxcfb1:dev=ldb,LDB-XGA,if=RGB6

video=mxcfb2:dev=ldb,LDB-XGA,if=RGB666

gl playbin2 uri=$media1 video-sink=$SINK_1 playbin2 uri=$media2 video-sink=$SINK_2 playbin2 uri=$media3 video-sink=$SINK_3
Comments

HDMI + LCD is OK ?

It should be. Just set proper u-boot values.

Leo

Hi

I need to display same video on two display at the same time.

Can gst-launch do this?

Thank you

hi ,

it can do this.I used qmx6 4 core to test.

P1180142.JPG.jpg

Hi

Can you tell me the comand line  to do this?

Thank you.

Hi ,

gst-launch playbin2 uri=file: /home/media/bbb_short_1080p.avi video-sink="mfw_v4lsink device=/dev/video17" &

gst-launch playbin2 uri=file: /home/media/bbb_short_1080p.avi video-sink="mfw_v4lsink device=/dev/video19"

You need to set the kernel and u-boot values

4

Andy 曾石堂

Kancotec 深圳康控科技有限公司

Address : 深圳市宝安区龙华街道建辉路121号信伟大厦11楼1112-1115房

Room 1112-1115, Xin Wei Building, Jianhui No.121, Longhua Town, Baoan District, Shenzhen City

Mobile :+8618681522956

+8615989242961

Tel : +86-755-26653899 EXT 821

Fax : +86-755-26653866

Q Q : 2270806966

skype:andy.kancotec

Email : <mailto:andy@kancotec.com> andy@kancotec.com

http:// <http://www.kancotec.com> www.kancotec.com

发件人: Gao Jianzhong

发送时间: 2013年8月14日 12:11

收件人: imx6 zeng

主题: Re: - GStreamer i.MX6 Multi-Display

<https://community.freescale.com/> Freescale Community

GStreamer i.MX6 Multi-Display

new comment by Gao <https://community.freescale.com/people/GaoJianzhong?et=watches.email.document_comment> Jianzhong View <https://community.freescale.com/docs/DOC-93449?et=watches.email.document_comment#comment-6211> all comments on this document

Thank you very much.

It seems like that the two display is the same, but it is not.

The process which is excuted later will display the delay content.

My require is to display the same thing totally.

Can gst-launch do this?

You can use the 2 LVDS interface,set the mode

  • "ldb=spl0/1" -- split mode on DI0/1

  • "ldb=dul0/1" -- dual mode on DI0/1

  • "ldb=sin0/1" -- single mode on LVDS0/1

  • "ldb=sep0/1" -- separate mode begin from LVDS0/1

Config board infor information:linux-3.0\arch\arm\mach-mx6\board-xxx.c

static struct fsl_mxc_ldb_platform_data ldb_data = {

.ipu_id = 1,

.disp_id = 0,

.ext_ref = 1,

.mode = LDB_SEP0,

.sec_ipu_id = 1,

.sec_disp_id = 1,

};

mode:

spl0: mode = LDB_SPL_DI0;

spl1 : mode = LDB_SPL_DI1;

dul0 : mode = LDB_DUL_DI0;

dul1 : mode = LDB_DUL_DI1;

sep0 : mode = LDB_SEP0;

sep1: mode = LDB_SEP1;

4

Andy 曾石堂

Kancotec 深圳康控科技有限公司

Address : 深圳市宝安区龙华街道建辉路121号信伟大厦11楼1112-1115房

Room 1112-1115, Xin Wei Building, Jianhui No.121, Longhua Town, Baoan District, Shenzhen City

Mobile :+8618681522956

+8615989242961

Tel : +86-755-26653899 EXT 821

Fax : +86-755-26653866

Q Q : 2270806966

skype:andy.kancotec

Email : <mailto:andy@kancotec.com> andy@kancotec.com

http:// <http://www.kancotec.com> www.kancotec.com

发件人: Gao Jianzhong

发送时间: 2013年8月14日 15:03

收件人: imx6 zeng

主题: Re: - GStreamer i.MX6 Multi-Display

<https://community.freescale.com/> 图像已被发件人删除。 Freescale Community

GStreamer i.MX6 Multi-Display

new comment by Gao <https://community.freescale.com/people/GaoJianzhong?et=watches.email.document_comment> Jianzhong View <https://community.freescale.com/docs/DOC-93449?et=watches.email.document_comment#comment-6212> all comments on this document

Hi

Thank you for your help,

I am not relly understand the differences of bellow modes:

split mode

dual mode

single mode

separate mode

Could you explain it to me? thank you very much.

Hi

/*

  • "ldb=spl0/1" -- split mode on DI0/1

  • "ldb=dul0/1" -- dual mode on DI0/1

  • "ldb=sin0/1" -- single mode on LVDS0/1

  • "ldb=sep0/1" -- separate mode begin from LVDS0/1

*

  • there are two LVDS channels(LVDS0 and LVDS1) which can transfer video

  • datas, there two channels can be used as split/dual/single/separate mode.

*

  • split mode means display data from DI0 or DI1 will send to both channels

  • LVDS0+LVDS1.

  • dual mode means display data from DI0 or DI1 will be duplicated on LVDS0

  • and LVDS1, it said, LVDS0 and LVDS1 has the same content.

  • single mode means only work for DI0/DI1->LVDS0 or DI0/DI1->LVDS1.

  • separate mode means you can make DI0/DI1->LVDS0 and DI0/DI1->LVDS1 work

  • at the same time.

*/

发件人: Gao Jianzhong

发送时间: 2013年8月14日 17:14

收件人: imx6 zeng

主题: Re: - GStreamer i.MX6 Multi-Display

<https://community.freescale.com/> Freescale Community

GStreamer i.MX6 Multi-Display

new comment by Gao <https://community.freescale.com/people/GaoJianzhong?et=watches.email.document_comment> Jianzhong View <https://community.freescale.com/docs/DOC-93449?et=watches.email.document_comment#comment-6214> all comments on this document

So I have the following u-boot args, but the terminal says "bootconsole disabled" and then I get the console data on the HDMI display, and I lose my console.

setenv bootargs_mmc 'setenv bootargs ip=none root=/dev/mmcblk1p1 rootwait video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb0:dev=hdmi, 1920x1080M@60,if=RGB24'

Hello guys,

I also have same problem. I have sabre IMX6  board and I am trying to connect two LVDS to this board. I can not make separate mode with boot command like as

setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 ldb=sep1' ]

I think it is impossible without modifying source code in kernel according to Zeng's. Am I correct? If then, please let me know the fix point. FYI, I am going to build with L3.0.35_4.1.0_130816_source.tar.gz version.

From Jack.

Hello, gstreamer of my kernel may be not normal ,so I just program applications on V4L2 to let VGA signals to display by LCD and HDMI at the same time , it works ,but we need another function , that is LCD and HDMI can display the kernel starting message at the same time, how can I do , I am looking forward to have your help.Thank you!!

No ratings
Version history
Last update:
‎09-28-2012 01:11 PM
Updated by: