gstreamer -- Any example .avi/.ts files that run on the DM6467?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

gstreamer -- Any example .avi/.ts files that run on the DM6467?

Robert Chen

Hi all,

I tried posting the below to the gstreamer and E2E forums, but no luck.
Thought I'd see if anyone on this list might have any thoughts.  Thanks!

   -Robert


[Original message follows:]

I'm working on running gstreamer on the DM6467 (on top of DVSDK
2.00.00.22).  I downloaded version 1.00.02 and was able to build it and
get a raw video file to play.

Right now I'm trying to get any of the media formats (.avi or .ts) to
play okay.

First, I tried the "tr48.avi" file provided by Juan Gonzales used to
verify gstreamer on the DM355 (provided in the following link:
http://e2e.ti.com/forums/p/935/6558.aspx#6558).  I found that I couldn't
play this MPEG-4 + MP3 file because the default codec combination
provided in DVSDK 2.00.00.22 for the DM6467 doesn't support MPEG-4 or
MP3 decode (it has MPEG-2 decode, H264 decode, G711 decode, and AAC-HE
decode from what I can tell).

I then set out to generate a working .avi myself using the same method
described in the forum -- I took a known good .264 file from the DVSDK
("davincieffect_ntsc.264") and a known good .aac file
("davincieffect.aac") and made an avi file from it using FFMPEG using
the following command:

     ffmpeg -i davincieffect_ntsc.264 -i davincieffect.aac -vcodec copy
-acodec copy davincieffect_h264_aac.avi

Then, I tried playing it within /opt/gstreamer_demo with the following
command:

    ./decode_avi.sh -f davincieffect_h264_aac.avi -mad

This resulted in the following message:

    root@10.20.31.145:/opt/gstreamer_demo/dm6467# ./decode_avi.sh -f
davincieffect_h264_aac.avi
     ../shared/decode_avi.sh: line 19: /dev/fb/2: No such file or
directory
     gst-inspect TIViddec2
     gst-inspect TIAuddec
     gst-inspect osssink
     *********** Pipeline Settings *************
     platform               = dm6467
     audio_plugin           = TIAuddec
     audio_plugin_args      =
     soundStd               = oss
     video_plugin           = TIViddec2
     video_plugin_args      =
     dispStd                = v4l2
     dispDevice             = /dev/video2
     videoStd               = 1080P_30
     videoOutput            = COMPONENT
     resizer                = FALSE
     accelFrameCopy         = TRUE


     gst-launch --gst-debug-no-color --gst-debug=TI*:2 filesrc
location=davincieffect_h264_aac.avi ! typefind ! avidemux name=demux
demux.audio_00 ! queue max-size-buffers=1200 max-size-time=0
max-size-bytes=0 ! typefind ! TIAuddec ! audioconvert ! osssink
demux.video_00 ! typefind ! TIViddec2 ! TIDmaiVideoSink displayStd=v4l2
displayDevice=/dev/video2 videoStd=1080P_30 videoOutput=COMPONENT
resizer=FALSE accelFrameCopy=TRUE
     Setting pipeline to PAUSED ...
     Pipeline is PREROLLING ...
 

It seems as if things are okay, but then things stop at PREROLLING and
never get to PLAYING.

Thinking this might be an issue of trying to include AAC in .avi
(generally I've seen mainly MP3 in .avi), I tried using .ts:

     ffmpeg -i davincieffect_ntsc.264 -i davincieffect.aac -vcodec copy
-acodec copy davincieffect_h264_aac.ts

and then playing it with the command:

   ./decode_ts.sh -f davincieffect_h264_aac.ts -a mad

Here, things seem a little better.  I get past PREROLLING, but get an
"Internal data flow error":

     root@10.20.31.145:/opt/gstreamer_demo/dm6467# ./decode_ts.sh -f
davincieffect_h264_aac.ts -a mad
     ../shared/decode_ts.sh: line 19: /dev/fb/2: No such file or
directory
     gst-inspect TIViddec2
     gst-inspect mad
     gst-inspect osssink
     *********** Pipeline Settings *************
     platform               = dm6467
     audio_plugin           = mad
     audio_plugin_args      = soundStd               = oss
     video_plugin           = TIViddec2
     video_plugin_args      =
     dispStd                = v4l2
     dispDevice             = /dev/video2
     videoStd               = 1080P_30
     videoOutput            = COMPONENT
     resizer                = FALSE
     accelFrameCopy         = TRUE


     gst-launch --gst-debug-no-color --gst-debug=TI*:2 filesrc
location=davincieffect_h264_aac.ts ! typefind ! mpegtsdemux name=demux
demux. ! audio/mpeg ! queue max-size-buffers=1200 max-size-time=0
max-size-bytes=0 ! typefind ! mad ! audioconvert ! osssink demux. !
video/x-h264 ! typefind ! TIViddec2 ! TIDmaiVideoSink displayStd=v4l2
displayDevice=/dev/video2 videoStd=1080P_30 videoOutput=COMPONENT
resizer=FALSE accelFrameCopy=TRUE
     Setting pipeline to PAUSED ...
     Pipeline is PREROLLING ...
     0:00:01.255276996   933    0x5f598 WARN             TIViddec2
gsttividdec2.c:1597:gst_tividdec2_frame_duration: framerate not
specified; using 29.97fps

     (gst-launch-0.10:933): GStreamer-CRITICAL **:
gst_value_get_mini_object: assertion `GST_VALUE_HOLDS_MINI_OBJECT
(value)' failed
     ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0:
Internal data flow error.
     Additional debug info:
     gstbasesrc.c(2234): gst_base_src_loop ():
/GstPipeline:pipeline0/GstFileSrc:file src0:streaming task paused,
reason not-negotiated (-4)
     ERROR: pipeline doesn't want to preroll.
     Setting pipeline to NULL ...
     CMEMK Error: FREE: Not a registered user of physical buffer
0x8b60b000
     CMEM Error: free: failed to freeCMEMK Error: FREE: Not a registered
user of physical buffer 0x8b2be000 0x42fb3000
     CMEMK Error: FREE: Not a registered user of physical buffer
0x8af71000
     CMEM Error: free: failed to freeCMEMK Error: FREE: Not a registered
user of physical buffer 0x8ac24000 0x433a8000
     CMEM Error: free: fCMEMK Error: FREE: Not a registered user of
physical buffer 0x8a8d7000 failed to free 0x436f5000
     CMEM ECMEMK Error: FREE: Not a registered user of physical buffer
0x8a58a000 Error: free: failed to free 0x43a42000
     CMEM Error: free: failed to free 0x43d8f000
     CMEM Error: free: failed to free 0x440dc000
     FREEING pipeline ...

I noticed, looking at "release_test_results_1_00_02.xls", that there is
mention of an .avi file being used to verify decode_avi.sh on the DM6467
(and a .ts file for decode_ts.sh).  As a quick sanity check, would it be
possible to receive one of these files?  Alternately, could I find out
how these were generated so I can create files of my own?  The method
described for generating files for DM355 gstreamer (using FFMPEG)
doesn't seem to be working for me.

Thank you!

      -Robert



Reply | Threaded
Open this post in threaded view
|

gstreamer -- Any example .avi/.ts files that run on the DM6467?

Maupin, Chase
Robert,

I have used the following ffmpeg command in the past to take a .mov file from the apple movie trailers site and make an AVI file that will play on the DM6467 with GStreamer.

ffmpeg -i tropic_thunder-tlr1a_720p.mov -r 60 -b 6000000 -vcodec mpeg2video -ab 48000000 -acodec libmp3lame -s 1280x544 tropic.avi

I then used a pipeline like the one on the http://wiki.davincidsp.com/index.php/Example_GStreamer_Pipelines#Decode_.AVI_Files_4 site to play it back.

I hope this gives a good starting point for creating a test AVI, but remember that you probably can't distribute this file to others.

Sincerely,
Chase Maupin
Software Applications
Catalog DSP Products
e-mail: [hidden email]
phone: (281) 274-3285

For support:
Forums - http://community.ti.com/forums/
Wiki - http://wiki.davincidsp.com/

> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf
> Of Robert Chen
> Sent: Wednesday, November 11, 2009 5:45 AM
> To: [hidden email]
> Subject: gstreamer -- Any example .avi/.ts files that run on the DM6467?
>
>
> Hi all,
>
> I tried posting the below to the gstreamer and E2E forums, but no luck.
> Thought I'd see if anyone on this list might have any thoughts.  Thanks!
>
>    -Robert
>
>
> [Original message follows:]
>
> I'm working on running gstreamer on the DM6467 (on top of DVSDK
> 2.00.00.22).  I downloaded version 1.00.02 and was able to build it and
> get a raw video file to play.
>
> Right now I'm trying to get any of the media formats (.avi or .ts) to
> play okay.
>
> First, I tried the "tr48.avi" file provided by Juan Gonzales used to
> verify gstreamer on the DM355 (provided in the following link:
> http://e2e.ti.com/forums/p/935/6558.aspx#6558).  I found that I couldn't
> play this MPEG-4 + MP3 file because the default codec combination
> provided in DVSDK 2.00.00.22 for the DM6467 doesn't support MPEG-4 or
> MP3 decode (it has MPEG-2 decode, H264 decode, G711 decode, and AAC-HE
> decode from what I can tell).
>
> I then set out to generate a working .avi myself using the same method
> described in the forum -- I took a known good .264 file from the DVSDK
> ("davincieffect_ntsc.264") and a known good .aac file
> ("davincieffect.aac") and made an avi file from it using FFMPEG using
> the following command:
>
>      ffmpeg -i davincieffect_ntsc.264 -i davincieffect.aac -vcodec copy
> -acodec copy davincieffect_h264_aac.avi
>
> Then, I tried playing it within /opt/gstreamer_demo with the following
> command:
>
>     ./decode_avi.sh -f davincieffect_h264_aac.avi -mad
>
> This resulted in the following message:
>
>     root@10.20.31.145:/opt/gstreamer_demo/dm6467# ./decode_avi.sh -f
> davincieffect_h264_aac.avi
>      ../shared/decode_avi.sh: line 19: /dev/fb/2: No such file or
> directory
>      gst-inspect TIViddec2
>      gst-inspect TIAuddec
>      gst-inspect osssink
>      *********** Pipeline Settings *************
>      platform               = dm6467
>      audio_plugin           = TIAuddec
>      audio_plugin_args      =
>      soundStd               = oss
>      video_plugin           = TIViddec2
>      video_plugin_args      =
>      dispStd                = v4l2
>      dispDevice             = /dev/video2
>      videoStd               = 1080P_30
>      videoOutput            = COMPONENT
>      resizer                = FALSE
>      accelFrameCopy         = TRUE
>
>
>      gst-launch --gst-debug-no-color --gst-debug=TI*:2 filesrc
> location=davincieffect_h264_aac.avi ! typefind ! avidemux name=demux
> demux.audio_00 ! queue max-size-buffers=1200 max-size-time=0
> max-size-bytes=0 ! typefind ! TIAuddec ! audioconvert ! osssink
> demux.video_00 ! typefind ! TIViddec2 ! TIDmaiVideoSink displayStd=v4l2
> displayDevice=/dev/video2 videoStd=1080P_30 videoOutput=COMPONENT
> resizer=FALSE accelFrameCopy=TRUE
>      Setting pipeline to PAUSED ...
>      Pipeline is PREROLLING ...
>
>
> It seems as if things are okay, but then things stop at PREROLLING and
> never get to PLAYING.
>
> Thinking this might be an issue of trying to include AAC in .avi
> (generally I've seen mainly MP3 in .avi), I tried using .ts:
>
>      ffmpeg -i davincieffect_ntsc.264 -i davincieffect.aac -vcodec copy
> -acodec copy davincieffect_h264_aac.ts
>
> and then playing it with the command:
>
>    ./decode_ts.sh -f davincieffect_h264_aac.ts -a mad
>
> Here, things seem a little better.  I get past PREROLLING, but get an
> "Internal data flow error":
>
>      root@10.20.31.145:/opt/gstreamer_demo/dm6467# ./decode_ts.sh -f
> davincieffect_h264_aac.ts -a mad
>      ../shared/decode_ts.sh: line 19: /dev/fb/2: No such file or
> directory
>      gst-inspect TIViddec2
>      gst-inspect mad
>      gst-inspect osssink
>      *********** Pipeline Settings *************
>      platform               = dm6467
>      audio_plugin           = mad
>      audio_plugin_args      = soundStd               = oss
>      video_plugin           = TIViddec2
>      video_plugin_args      =
>      dispStd                = v4l2
>      dispDevice             = /dev/video2
>      videoStd               = 1080P_30
>      videoOutput            = COMPONENT
>      resizer                = FALSE
>      accelFrameCopy         = TRUE
>
>
>      gst-launch --gst-debug-no-color --gst-debug=TI*:2 filesrc
> location=davincieffect_h264_aac.ts ! typefind ! mpegtsdemux name=demux
> demux. ! audio/mpeg ! queue max-size-buffers=1200 max-size-time=0
> max-size-bytes=0 ! typefind ! mad ! audioconvert ! osssink demux. !
> video/x-h264 ! typefind ! TIViddec2 ! TIDmaiVideoSink displayStd=v4l2
> displayDevice=/dev/video2 videoStd=1080P_30 videoOutput=COMPONENT
> resizer=FALSE accelFrameCopy=TRUE
>      Setting pipeline to PAUSED ...
>      Pipeline is PREROLLING ...
>      0:00:01.255276996   933    0x5f598 WARN             TIViddec2
> gsttividdec2.c:1597:gst_tividdec2_frame_duration: framerate not
> specified; using 29.97fps
>
>      (gst-launch-0.10:933): GStreamer-CRITICAL **:
> gst_value_get_mini_object: assertion `GST_VALUE_HOLDS_MINI_OBJECT
> (value)' failed
>      ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0:
> Internal data flow error.
>      Additional debug info:
>      gstbasesrc.c(2234): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstFileSrc:file src0:streaming task paused,
> reason not-negotiated (-4)
>      ERROR: pipeline doesn't want to preroll.
>      Setting pipeline to NULL ...
>      CMEMK Error: FREE: Not a registered user of physical buffer
> 0x8b60b000
>      CMEM Error: free: failed to freeCMEMK Error: FREE: Not a registered
> user of physical buffer 0x8b2be000 0x42fb3000
>      CMEMK Error: FREE: Not a registered user of physical buffer
> 0x8af71000
>      CMEM Error: free: failed to freeCMEMK Error: FREE: Not a registered
> user of physical buffer 0x8ac24000 0x433a8000
>      CMEM Error: free: fCMEMK Error: FREE: Not a registered user of
> physical buffer 0x8a8d7000 failed to free 0x436f5000
>      CMEM ECMEMK Error: FREE: Not a registered user of physical buffer
> 0x8a58a000 Error: free: failed to free 0x43a42000
>      CMEM Error: free: failed to free 0x43d8f000
>      CMEM Error: free: failed to free 0x440dc000
>      FREEING pipeline ...
>
> I noticed, looking at "release_test_results_1_00_02.xls", that there is
> mention of an .avi file being used to verify decode_avi.sh on the DM6467
> (and a .ts file for decode_ts.sh).  As a quick sanity check, would it be
> possible to receive one of these files?  Alternately, could I find out
> how these were generated so I can create files of my own?  The method
> described for generating files for DM355 gstreamer (using FFMPEG)
> doesn't seem to be working for me.
>
> Thank you!
>
>       -Robert
>
>
>
> _______________________________________________
> Davinci-linux-open-source mailing list
> [hidden email]
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source