This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Can not play avi video on DM355

Hi all,

I compiled successfully gst-ti-plugin-full-0.99.00.

I have the following configuration:

dm355
dvsdk_1_30_01_41
codec_engine_2_00_01
dsplink_140-05p1
cmem_2_00_01
xdais_6_00_01
framework_components_2_00_01
dm6446_dvsdk_combos_1_35
dm355_codecs_1_12_003
xdc_3_00_04
dmai_1_16_00_03
mv_pro_4.0.1

But when running
./decode_avi -f sample1.avi
I don't see any video on the display and the output of the command is:

gst-inspect TIViddec2
gst-inspect mad
gst-inspect osssink
*********** Pipeline Settings *************
platform               = dm355
audio_plugin           = mad
audio_plugin_args      =
soundStd               = oss
video_plugin           = TIViddec2
video_plugin_args      =
dispStd                = fbdev
dispDevice             = /dev/fb/3
videoStd               = D1_NTSC
videoOutput            = COMPOSITE
resizer                = FALSE
accelFrameCopy         = TRUE


gst-launch --gst-debug-no-color --gst-debug=TI*:2 filesrc location=/opt/media_de
mo/sample1.avi ! typefind ! avidemux name=demux demux.audio_00 ! queue max-size-
buffers=1200 max-size-time=0 max-size-bytes=0 ! typefind ! mad ! audioconvert !
osssink demux.video_00 ! typefind ! TIViddec2 ! TIDmaiVideoSink displayStd=fbdev
 displayDevice=/dev/fb/3 videoStd=D1_NTSC videoOutput=COMPOSITE resizer=FALSE ac
celFrameCopy=TRUE
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstAviDemux:demux: Internal data stre
am error.
Additional debug info:
gstavidemux.c(4115): gst_avi_demux_loop (): /GstPipeline:pipeline0/GstAviDemux:d
emux:
streaming stopped, reason not-negotiated
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...

 

The file sample1.avi is created with arcsoft's media converter.

When i try with a file created with mencoder, I can hear the sound, but there is no video too.

Then the output of decode_avi is:

gst-inspect TIViddec2
gst-inspect mad
gst-inspect osssink
*********** Pipeline Settings *************
platform               = dm355
audio_plugin           = mad
audio_plugin_args      =
soundStd               = oss
video_plugin           = TIViddec2
video_plugin_args      =
dispStd                = fbdev
dispDevice             = /dev/fb/3
videoStd               = D1_NTSC
videoOutput            = COMPOSITE
resizer                = FALSE
accelFrameCopy         = TRUE


gst-launch --gst-debug-no-color --gst-debug=TI*:2 filesrc location=/opt/media_de
mo/sample.avi ! typefind ! avidemux name=demux demux.audio_00 ! queue max-size-b
uffers=1200 max-size-time=0 max-size-bytes=0 ! typefind ! mad ! audioconvert ! o
sssink demux.video_00 ! typefind ! TIViddec2 ! TIDmaiVideoSink displayStd=fbdev
displayDevice=/dev/fb/3 videoStd=D1_NTSC videoOutput=COMPOSITE resizer=FALSE acc
elFrameCopy=TRUE
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:04.123540459  1779    0xaee98 ERROR            TIViddec2 gsttividdec2.c:117
1:gst_tividdec2_decode_thread: failed to decode video buffer

Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
Got EOS from element "pipeline0".
Execution ended after 4864716834 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...

How could I successfully play a video file on the DM355?

Thanks in advance

 

  • Where did you get or how did you generate the AVI file?  DM355 MPEG4 decoder is not a universal decoder; therefore it cannot decode any MPEG4 video file.  It can decode MPEG4 video file encoded in DM355 itself or an MPEG4 stream that has been processed via ArcSoft MediaConverter tool (a few forum posts exists on this such as http://community.ti.com/forums/p/935/6791.aspx#6791)

  • It's e regular movie file, that I converted to mpeg4 avi using the ArcSoft's MediaConverter. Is it possible at all to convert any media file in DM355 playable format?

  • Yes, this should be possible, though I have not personally tried it (on my todo list).  May I ask where you got the gstreamer port from?

  • As I mentioned above, it is gst-ti-plugin-full-0.99.00.tar.gz, downloaded from https://gstreamer.ti.com/gf/project/gstreamer_ti/frs/

  • Thank you for the clarification; we have had a few gstreamer ports available for our DaVinci processors, but the one above from gstreamer.ti.com is the one I would recommed people use going forward.  I should also mention that this port will be supported via community and forums available at gstreamer.ti.com, with additional engineering services available from RidgeRun (TI third party) for a fee.  Diego from RidgeRun is a regular poster in this community and should be able to offer more details. 

     

  • Hi Juan,

    Yesterday I obtained the MediaConverter tool from TI. I converted several movies to MPEG4 avi-files, but none of them could be played by gsreamer on dm355:

    # ./decode_avi.sh -f /opt/media_demo/mc-sample_mpeg4.avi
    gst-inspect TIViddec2 gst-inspect mad gst-inspect osssink *********** Pipeline Settings ************* platform = dm355 audio_plugin = mad audio_plugin_args = soundStd = oss video_plugin = TIViddec2 video_plugin_args = dispStd = fbdev dispDevice = /dev/fb/3 videoStd = D1_NTSC videoOutput = COMPOSITE resizer = FALSE accelFrameCopy = TRUE gst-launch --gst-debug-no-color --gst-debug=TI*:2 filesrc location=/opt/media_de mo/mc-sample_mpeg4.avi ! typefind ! avidemux name=demux demux.audio_00 ! queue m ax-size-buffers=1200 max-size-time=0 max-size-bytes=0 ! typefind ! mad ! audioco nvert ! osssink demux.video_00 ! typefind ! TIViddec2 ! TIDmaiVideoSink displayS td=fbdev displayDevice=/dev/fb/3 videoStd=D1_NTSC videoOutput=COMPOSITE resizer= FALSE accelFrameCopy=TRUE Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /GstPipeline:pipeline0/GstAviDemux:demux: Internal data stre am error. Additional debug info: gstavidemux.c(4115): gst_avi_demux_loop (): /GstPipeline:pipeline0/GstAviDemux:d emux: streaming stopped, reason not-negotiated ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... FREEING pipeline ...

    Obviously the problem is not in gstreamer, because it plays normally avi-files, muxed with ffmpeg from mpeg4 video stream for dm355 and mp3 audio stream.

    Any Ideas?

     

  • xpc said:

    Pipeline is PREROLLING ...

    ERROR: from element /GstPipeline:pipeline0/GstAviDemux:demux: Internal data stream error.

    Any Ideas?

    To be honest, I have not tried MediaConverter tool myself, but I agree the problem seems to be with the stream itself, which means AVI file (I assume produced by MediaConverter) is not quite right.  I know there are others in this community that have requested MediaConverter tool so maybe one of them can chime in and share the lessons they have learned.  I would also search the community as I believe there are a couple of long threads on this subject.

  • Well, there is a solution.

    Now gstreamer can play avi files processed with the MediaConvertor.