Hi community,
I am trying to display subtitles on a imx6 solo based board with gstreamer0.10
The setup is the following:
rootfs built with yocto master-next, image based on fsl-image-multimedia, and MACHINE is imx6solosabresd.conf, linux kernel is 3.10.31 BETA.
To display subtitles :
gst-launch filesrc location=/home/root/myvideo.avi ! mpegtsdemux name=demux demux. ! queue ! h264parse ! vpudec low-latency=true ! dvbsuboverlay name=overlay ! imxv4l2sink demux. ! subpicture/x-dvb ! queue ! overlay.
But with this pipeline, I had no video on screen and after investigations, I inserted a Color Space Conversion (mfw_ipucsc plugin) in pipeline:
gst-launch filesrc location=/home/root/M6HD.avi ! mpegtsdemux name=demux demux. ! queue ! h264parse ! vpudec low-latency=true ! dvbsuboverlay name=overlay ! 'video/x-raw-yuv,format=(fourcc)I420' ! mfw_ipucsc !'video/x-raw-yuv,format=(fourcc)NV12' ! imxv4l2sink demux. ! subpicture/x-dvb ! queue ! overlay.
With this pipeline, the video is displayed with subtitles but it's very slow (less 1 fps) and following logs:
IPU_CSC_CORE_LIBRARY_VERSION_INFOR_01.00.
MFW_GST_IPU_CSC_PLUGIN 4.0.1 build on Nov 3 2014 14:02:29.
MFW_GST_V4LSINK_PLUGIN 4.0.1 build on Nov 3 2014 14:02:15.
Setting pipeline to PAUSED ...
[INFO] Product Info: i.MX6Q/D/S
vpudec versions :smileyhappy:
plugin: 4.0.1
wrapper: 1.0.54(VPUWRAPPER_ARM_LINUX Build on Sep 19 2014 16:08:56)
vpulib: 5.4.26
firmware: 3.1.1.46060
Pipeline is PREROLLING ...
[INFO] bitstreamMode 1, chromaInterleave 0, mapType 0, tiled2LinearEnable 0
[WARN] VPU iram is less than needed, some parts don't use iram
set v4l rotate sucessfully
>>V4L_SINK: Actually buffer status:
hardware buffer : 12
software buffer : 0
hwbuf allocator zone(3133440) created
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
full screen size:1920x1080
[V4L Update Display]: left=0, top=0, width=1920, height=1080
set v4l display crop sucessfully
New clock: GstSystemClock
WARNING: from element /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0: A lot of buffers are being dropped.
Additional debug info:
/data/fsl-community-bsp/build-elio/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer/0.10.36-r2/gstreamer-0.10.36/libs/gst/base/gstbasesink.c(2875): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0:
There may be a timestamping problem, or this computer is too slow.
Could you help me to resolve this problem.
Regards,
Jordan
Hi,
I still have no solution.
Someone else could he help me, please?
Regards,
Jordan
Hi,
Someone could help me please, I don't understand why video is slow because of "mfw_ipucsc" plugin?
regards,
Jordan
Few pointers might help you. Since I have never used this method for subtitles, just pointing to some points I might consider to debug the issue.
1) Chk top with thread mode to chk cpu usage of you src pad on mfw_icsc. (Not necessary but good to chk once you suspect the performance hit.)
2) Try using the "output-format" parameter of vpudec.
3) I am not sure if the colorspace conversion caps order is correct. Because for H264 video I prefer NV12 => I420.
4) Post on the gstreamer-devel list as well in case you haven't already done it.
Please submit the solution if you have already figured it out.
Regards,
Subodh
Hi,
1) On my board, I have a minimal Top and I don't use thread mode.
- Without gstreamer command ongoing:
Mem: 297036K used, 213664K free, 0K shrd, 0K buff, 118196K cached
CPU: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq
Load average: 0.11 0.09 0.09 1/73 730
- With gstreamer command ongoing:
Mem: 390212K used, 120488K free, 0K shrd, 0K buff, 118224K cached
CPU: 37% usr 5% sys 0% nic 57% idle 0% io 0% irq 0% sirq
Load average: 0.10 0.08 0.08 1/78 736
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
731 705 root S 126m 25% 42% /usr/bin/gst-launch-0.10 filesrc location=myvideo.avi ! mpegtsdemux name=demux
2) I already use "output-format" of vpudec but the input and output of next plugin (dvbsuboverlay) is only I420 format. Thus, output-format = I420
3) When I am linking dvbsuboverlay with imxv4l2src in I420 format, I have no video on screen. Thus, I am force to use a format conversion, I chosed mfw_ipucsc plugin because it's using IPU.
For the moment, I don't have the solution.
Regards,
Jordan