Hi,
I need to get a command line media player to work but I am having difficulties. I hope someone can help me.
I have an i.MX28 evaluation board with the LCD Seiko 4.3".
I have downloaded and installed LTIB on my Ubuntu 10.10 desktop PC. I have followed through the documentation i.MX28 Linux BSP User's Guide to get a build of Linux. For the packages profile selection in the LTIB config I selected "use packages in preconfig (Min profile)" as the document says. I installed this to SD card and it boots, I get the Penguin logo on the LCD.
I then follow the i.MX Linux Multimedia Framework User's Guide document to set up the media player and codecs. In LTIB I enable the option for fsl-mm-codec-libs, gstreamer-fsl-plugins and gstreamer-plugins-good. Once booted I try to use the gplay command to play some different types of video, mov / mp4 / avi but the player always fails. I can however use gplay to play a MP3 file which works.
Should this just work? Have I missed something important?
Below is the error reported for a .mov test file.
root@test ~$ gplay darkknightrises_trlr_01_480p_dl.mov
ok
darkknightrises_trlr_01_480p_dl.mov
playbin is employed!
fsl_player_init(): Successfully initialize!
fsl_player_set_media_location(): filename=darkknightrises_trlr_01_480p_dl.mov
[Stopped ][Vol=01][00:00:00/00:00:00]Aiur Core Info:
mime: video/quicktime; audio/x-m4a; application/x-3gp
file: lib_mp4_parser_arm9_elinux.3.0.so
ver : MPEG4PARSER_06.03.12 build on Oct 21 2010 06:15:53
H264D_ARM9_02.06.01 build on Dec 21 2010 09:26:37.
MFW_GST_H264_DECODER_PLUGIN 1.9.6 build on Oct 11 2012 10:09:22.
BLN_MAD-MMCODECS_AACD_ARM_03.05.00 build on Nov 25 2009 15:00:47.
MFW_GST_AAC_PLUGIN 1.9.6 build on Oct 11 2012 10:09:17.
Movie Info:
Seekable: Yes
Live: No
Duration: 0:02:10.921664000
ReadMode: File
Total Track: 2
Track 00[Video]:
Duration: 0:02:10.880008000
Language: und
Mime:
video/x-h264, width=(int)848, height=(int)354, framerate=(fraction)799/33, codec
_data=(buffer)00000001274d401ea9181a85ff118035010101b6c2b5ef7c040000000128de09c8
Track 01[Audio]:
Duration: 0:02:10.921664000
Language: und
Mime:
audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, bitrate=(int)1
60000, framed=(boolean)true, codec_data=(buffer)1190
[Stopped ][Vol=01][00:00:00/00:00:00]MFW_GST_V4LSINK_PLUGIN 1.9.6 build on Oct 11 2012 10:09:13.
FOUND GST_MESSAGE_TAG!
codec: AAC
language code: und
bitrate: 160000
FOUND GST_MESSAGE_TAG!
codec: H.264/AVC
language code: und
Debug: non recoverable error while decoding the H.264 Data
Error: fatal error
FSL_PLAYER_UI_MSG_INTERNAL_ERROR: internal error message received.
Debug: aiurdemux.c(3544): aiurdemux_pull_task (): /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstAiurDemux:aiurdemux0:
streaming stopped, reason error, state 4
Error: GStreamer encountered a general stream error.
[Stopped ][Vol=01][00:00:00/00:02:10]
poll_for_state_change(): Element playbin0 time out in state transferring from READY to PLAYING
try to play failed
Sorry but I'm still having problems.
The audio only command worked and I can hear the audio from the movie.
The video only command errors.
I have ensured that the ffmpeg plugins are present in my ltib build:
This is the error for video only:
root@test ~$ gst-launch filesrc location=/root/darkknightrises_trlr_01_480p_dl.mov typefind=true ! ai
urdemux name=demux demux. ! queue max-size-buffers=0 max-size-time=0 ! ffdec_h26
4 ! mfw_v4lsink
MFW_GST_V4LSINK_PLUGIN 1.9.6 build on Oct 11 2012 10:09:13.
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Aiur Core Info:
mime: video/quicktime; audio/x-m4a; application/x-3gp
file: lib_mp4_parser_arm9_elinux.3.0.so
ver : MPEG4PARSER_06.03.12 build on Oct 21 2010 06:15:53
Movie Info:
Seekable: Yes
Live: No
Duration: 0:02:10.921664000
ReadMode: File
Total Track: 2
Track 00[Video]:
Duration: 0:02:10.880008000
Language: und
Mime:
video/x-h264, width=(int)848, height=(int)354, framerate=(fraction)799/33, codec
_data=(buffer)00000001274d401ea9181a85ff118035010101b6c2b5ef7c040000000128de09c8
Track 01[Audio]:
Duration: 0:02:10.921664000
Language: und
Mime:
audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, bitrate=(int)1
60000, framed=(boolean)true, codec_data=(buffer)1190
>>V4L_SINK: Actually buffer status:
hardware buffer : 12
software buffer : 0
gst-launch-0.10: page allocation failure. order:8, mode:0x1
Backtrace:
[<c00344a8>] (dump_backtrace+0x0/0x114) from [<c03c9698>] (dump_stack+0x18/0x1c)
r7:c0535828 r6:c0535828 r5:00000008 r4:00000001
[<c03c9680>] (dump_stack+0x0/0x1c) from [<c009c66c>] (__alloc_pages_nodemask+0x4fc/0x564)
[<c009c170>] (__alloc_pages_nodemask+0x0/0x564) from [<c0036b08>] (__dma_alloc+0xfc/0x2b8)
[<c0036a0c>] (__dma_alloc+0x0/0x2b8) from [<c0036d50>] (dma_alloc_coherent+0x58/0x64)
[<c0036cf8>] (dma_alloc_coherent+0x0/0x64) from [<c02e867c>] (__videobuf_mmap_mapper+0xb0/0x1d0)
r7:c7785238 r6:c7d0db40 r5:c70f1a6c r4:c74afa50
[<c02e85cc>] (__videobuf_mmap_mapper+0x0/0x1d0) from [<c02e644c>] (videobuf_mmap_mapper+0xc4/0x108)
r8:42172000 r7:000000ff r6:c70f1a80 r5:c74afa50 r4:c7785238
[<c02e6388>] (videobuf_mmap_mapper+0x0/0x108) from [<c02e558c>] (pxp_mmap+0x28/0x2c)
r5:c7ce1000 r4:c74afa50
[<c02e5564>] (pxp_mmap+0x0/0x2c) from [<c02d9c90>] (v4l2_mmap+0x48/0x58)
r5:c7ce1000 r4:c74afa50
[<c02d9c48>] (v4l2_mmap+0x0/0x58) from [<c00b3234>] (mmap_region+0x288/0x4e4)
[<c00b2fac>] (mmap_region+0x0/0x4e4) from [<c00b3748>] (do_mmap_pgoff+0x2b8/0x318)
[<c00b3490>] (do_mmap_pgoff+0x0/0x318) from [<c00b3840>] (sys_mmap_pgoff+0x98/0xc8)
[<c00b37a8>] (sys_mmap_pgoff+0x0/0xc8) from [<c0030a00>] (ret_fast_syscall+0x0/0x2c)
Mem-info:
DMA per-cpu:
CPU 0: hi: 0, btch: 1 usd: 0
Normal per-cpu:
CPU 0: hi: 42, btch: 7 usd: 36
active_anon:640 inactive_anon:386 isolated_anon:0
active_file:1121 inactive_file:4496 isolated_file:0
unevictable:0 dirty:141 writeback:0 unstable:0
free:21429 slab_reclaimable:209 slab_unreclaimable:789
mapped:978 shmem:140 pagetables:34 bounce:0
DMA free:4812kB min:180kB low:224kB high:268kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:16256kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes
lowmem_reserve[]: 0 111 111
Normal free:80904kB min:1260kB low:1572kB high:1888kB active_anon:2560kB inactive_anon:1544kB active_file:4484kB inactive_file:17984kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:113792kB mlocked:0kB dirty:564kB writeback:0kB mapped:3912kB shmem:560kB slab_reclaimable:836kB slab_unreclaimable:3156kB kernel_stack:304kB pagetables:136kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:64 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 9*4kB 1*8kB 10*16kB 10*32kB 3*64kB 10*128kB 9*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 4812kB
Normal: 160*4kB 145*8kB 148*16kB 192*32kB 131*64kB 14*128kB 2*256kB 3*512kB 1*1024kB 4*2048kB 12*4096kB = 80904kB
5757 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap = 0kB
Total swap = 0kB
32768 pages of RAM
21527 free pages
1649 reserved pages
882 slab pages
1960 pages shared
0 pages swap cached
mxs-pxp mxs-pxp.0: dma_alloc_coherent size 602112 failed
gst-launch-0.10: page allocation failure. order:8, mode:0x1
Backtrace:
[<c00344a8>] (dump_backtrace+0x0/0x114) from [<c03c9698>] (dump_stack+0x18/0x1c)
r7:c0535828 r6:c0535828 r5:00000008 r4:00000001
[<c03c9680>] (dump_stack+0x0/0x1c) from [<c009c66c>] (__alloc_pages_nodemask+0x4fc/0x564)
[<c009c170>] (__alloc_pages_nodemask+0x0/0x564) from [<c0036b08>] (__dma_alloc+0xfc/0x2b8)
[<c0036a0c>] (__dma_alloc+0x0/0x2b8) from [<c0036d50>] (dma_alloc_coherent+0x58/0x64)
[<c0036cf8>] (dma_alloc_coherent+0x0/0x64) from [<c02e867c>] (__videobuf_mmap_mapper+0xb0/0x1d0)
r7:c7785238 r6:c7d0db40 r5:c70f1f6c r4:c74afa50
[<c02e85cc>] (__videobuf_mmap_mapper+0x0/0x1d0) from [<c02e644c>] (videobuf_mmap_mapper+0xc4/0x108)
r8:42205000 r7:000000ff r6:c70f1a80 r5:c74afa50 r4:c7785238
[<c02e6388>] (videobuf_mmap_mapper+0x0/0x108) from [<c02e558c>] (pxp_mmap+0x28/0x2c)
r5:c7ce1000 r4:c74afa50
[<c02e5564>] (pxp_mmap+0x0/0x2c) from [<c02d9c90>] (v4l2_mmap+0x48/0x58)
r5:c7ce1000 r4:c74afa50
[<c02d9c48>] (v4l2_mmap+0x0/0x58) from [<c00b3234>] (mmap_region+0x288/0x4e4)
[<c00b2fac>] (mmap_region+0x0/0x4e4) from [<c00b3748>] (do_mmap_pgoff+0x2b8/0x318)
[<c00b3490>] (do_mmap_pgoff+0x0/0x318) from [<c00b3840>] (sys_mmap_pgoff+0x98/0xc8)
[<c00b37a8>] (sys_mmap_pgoff+0x0/0xc8) from [<c0030a00>] (ret_fast_syscall+0x0/0x2c)
Mem-info:
DMA per-cpu:
CPU 0: hi: 0, btch: 1 usd: 0
Normal per-cpu:
CPU 0: hi: 42, btch: 7 usd: 35
active_anon:609 inactive_anon:418 isolated_anon:0
active_file:1121 inactive_file:4496 isolated_file:0
unevictable:0 dirty:141 writeback:0 unstable:0
free:21429 slab_reclaimable:209 slab_unreclaimable:789
mapped:978 shmem:140 pagetables:34 bounce:0
DMA free:4812kB min:180kB low:224kB high:268kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:16256kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes
lowmem_reserve[]: 0 111 111
Normal free:80904kB min:1260kB low:1572kB high:1888kB active_anon:2436kB inactive_anon:1672kB active_file:4484kB inactive_file:17984kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:113792kB mlocked:0kB dirty:564kB writeback:0kB mapped:3912kB shmem:560kB slab_reclaimable:836kB slab_unreclaimable:3156kB kernel_stack:304kB pagetables:136kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:96 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 9*4kB 1*8kB 10*16kB 10*32kB 3*64kB 10*128kB 9*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 4812kB
Normal: 160*4kB 145*8kB 148*16kB 192*32kB 131*64kB 14*128kB 2*256kB 3*512kB 1*1024kB 4*2048kB 12*4096kB = 80904kB
5757 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap = 0kB
Total swap = 0kB
32768 pages of RAM
21526 free pages
1649 reserved pages
882 slab pages
1960 pages shared
0 pages swap cached
mxs-pxp mxs-pxp.0: dma_alloc_coherent size 602112 failed
gst-launch-0.10: page allocation failure. order:8, mode:0x1
Backtrace:
[<c00344a8>] (dump_backtrace+0x0/0x114) from [<c03c9698>] (dump_stack+0x18/0x1c)
r7:c0535828 r6:c0535828 r5:00000008 r4:00000001
[<c03c9680>] (dump_stack+0x0/0x1c) from [<c009c66c>] (__alloc_pages_nodemask+0x4fc/0x564)
[<c009c170>] (__alloc_pages_nodemask+0x0/0x564) from [<c0036b08>] (__dma_alloc+0xfc/0x2b8)
[<c0036a0c>] (__dma_alloc+0x0/0x2b8) from [<c0036d50>] (dma_alloc_coherent+0x58/0x64)
[<c0036cf8>] (dma_alloc_coherent+0x0/0x64) from [<c02e867c>] (__videobuf_mmap_mapper+0xb0/0x1d0)
r7:c7785238 r6:c7d0db40 r5:c70f136c r4:c74afa50
[<c02e85cc>] (__videobuf_mmap_mapper+0x0/0x1d0) from [<c02e644c>] (videobuf_mmap_mapper+0xc4/0x108)
r8:42298000 r7:000000ff r6:c70f1a80 r5:c74afa50 r4:c7785238
[<c02e6388>] (videobuf_mmap_mapper+0x0/0x108) from [<c02e558c>] (pxp_mmap+0x28/0x2c)
r5:c7ce1000 r4:c74afa50
[<c02e5564>] (pxp_mmap+0x0/0x2c) from [<c02d9c90>] (v4l2_mmap+0x48/0x58)
r5:c7ce1000 r4:c74afa50
[<c02d9c48>] (v4l2_mmap+0x0/0x58) from [<c00b3234>] (mmap_region+0x288/0x4e4)
[<c00b2fac>] (mmap_region+0x0/0x4e4) from [<c00b3748>] (do_mmap_pgoff+0x2b8/0x318)
[<c00b3490>] (do_mmap_pgoff+0x0/0x318) from [<c00b3840>] (sys_mmap_pgoff+0x98/0xc8)
[<c00b37a8>] (sys_mmap_pgoff+0x0/0xc8) from [<c0030a00>] (ret_fast_syscall+0x0/0x2c)
Mem-info:
DMA per-cpu:
CPU 0: hi: 0, btch: 1 usd: 0
Normal per-cpu:
CPU 0: hi: 42, btch: 7 usd: 35
active_anon:577 inactive_anon:450 isolated_anon:0
active_file:1121 inactive_file:4496 isolated_file:0
unevictable:0 dirty:141 writeback:0 unstable:0
free:21429 slab_reclaimable:209 slab_unreclaimable:789
mapped:978 shmem:140 pagetables:34 bounce:0
DMA free:4812kB min:180kB low:224kB high:268kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:16256kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes
lowmem_reserve[]: 0 111 111
Normal free:80904kB min:1260kB low:1572kB high:1888kB active_anon:2308kB inactive_anon:1800kB active_file:4484kB inactive_file:17984kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:113792kB mlocked:0kB dirty:556kB writeback:8kB mapped:3912kB shmem:560kB slab_reclaimable:836kB slab_unreclaimable:3156kB kernel_stack:304kB pagetables:136kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:128 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 9*4kB 1*8kB 10*16kB 10*32kB 3*64kB 10*128kB 9*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 4812kB
Normal: 160*4kB 145*8kB 148*16kB 192*32kB 131*64kB 14*128kB 2*256kB 3*512kB 1*1024kB 4*2048kB 12*4096kB = 80904kB
5757 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap = 0kB
Total swap = 0kB
32768 pages of RAM
21526 free pages
1649 reserved pages
882 slab pages
1960 pages shared
0 pages swap cached
mxs-pxp mxs-pxp.0: dma_alloc_coherent size 602112 failed
gst-launch-0.10: page allocation failure. order:8, mode:0x1
Backtrace:
[<c00344a8>] (dump_backtrace+0x0/0x114) from [<c03c9698>] (dump_stack+0x18/0x1c)
r7:c0535828 r6:c0535828 r5:00000008 r4:00000001
[<c03c9680>] (dump_stack+0x0/0x1c) from [<c009c66c>] (__alloc_pages_nodemask+0x4fc/0x564)
[<c009c170>] (__alloc_pages_nodemask+0x0/0x564) from [<c0036b08>] (__dma_alloc+0xfc/0x2b8)
[<c0036a0c>] (__dma_alloc+0x0/0x2b8) from [<c0036d50>] (dma_alloc_coherent+0x58/0x64)
[<c0036cf8>] (dma_alloc_coherent+0x0/0x64) from [<c02e867c>] (__videobuf_mmap_mapper+0xb0/0x1d0)
r7:c7785238 r6:c7d0db40 r5:c7c3be6c r4:c74afa50
[<c02e85cc>] (__videobuf_mmap_mapper+0x0/0x1d0) from [<c02e644c>] (videobuf_mmap_mapper+0xc4/0x108)
r8:4232b000 r7:000000ff r6:c70f1a80 r5:c74afa50 r4:c7785238
[<c02e6388>] (videobuf_mmap_mapper+0x0/0x108) from [<c02e558c>] (pxp_mmap+0x28/0x2c)
r5:c7ce1000 r4:c74afa50
[<c02e5564>] (pxp_mmap+0x0/0x2c) from [<c02d9c90>] (v4l2_mmap+0x48/0x58)
r5:c7ce1000 r4:c74afa50
[<c02d9c48>] (v4l2_mmap+0x0/0x58) from [<c00b3234>] (mmap_region+0x288/0x4e4)
[<c00b2fac>] (mmap_region+0x0/0x4e4) from [<c00b3748>] (do_mmap_pgoff+0x2b8/0x318)
[<c00b3490>] (do_mmap_pgoff+0x0/0x318) from [<c00b3840>] (sys_mmap_pgoff+0x98/0xc8)
[<c00b37a8>] (sys_mmap_pgoff+0x0/0xc8) from [<c0030a00>] (ret_fast_syscall+0x0/0x2c)
Mem-info:
DMA per-cpu:
CPU 0: hi: 0, btch: 1 usd: 0
Normal per-cpu:
CPU 0: hi: 42, btch: 7 usd: 36
active_anon:545 inactive_anon:482 isolated_anon:0
active_file:1117 inactive_file:4394 isolated_file:0
unevictable:0 dirty:139 writeback:0 unstable:0
free:21534 slab_reclaimable:209 slab_unreclaimable:789
mapped:978 shmem:140 pagetables:34 bounce:0
DMA free:4812kB min:180kB low:224kB high:268kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:16256kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes
lowmem_reserve[]: 0 111 111
Normal free:81324kB min:1260kB low:1572kB high:1888kB active_anon:2180kB inactive_anon:1928kB active_file:4468kB inactive_file:17576kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:113792kB mlocked:0kB dirty:556kB writeback:0kB mapped:3912kB shmem:560kB slab_reclaimable:836kB slab_unreclaimable:3156kB kernel_stack:304kB pagetables:136kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 9*4kB 1*8kB 10*16kB 10*32kB 3*64kB 10*128kB 9*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 4812kB
Normal: 163*4kB 152*8kB 154*16kB 198*32kB 132*64kB 14*128kB 2*256kB 3*512kB 1*1024kB 4*2048kB 12*4096kB = 81324kB
5651 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap = 0kB
Total swap = 0kB
32768 pages of RAM
21632 free pages
1649 reserved pages
882 slab pages
1959 pages shared
0 pages swap cached
mxs-pxp mxs-pxp.0: dma_alloc_coherent size 602112 failed
Caught SIGSEGV accessing address 0xffffffff
Spinning. Please run 'gdb gst-launch 2229' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
Here's what plays it on my VM:
gst-launch -v filesrc location=/home/rfkrakora/Videos/The_Dark_Knight_Rises_h264_aac.mov ! qtdemux ! queue ! ffdec_h264 ! ffmpegcolorspace ! videoscale ! autovideosink
The same should play on the imx28.
I'll copy the media to my imx53 and see what it takes there ( not using vpudecoder though ).
That worked on my VM Ubuntu but still the same errors on the MX28. Could it be a fault with my LTIB build?
I copied the two files into /var/tmp/pkgs but is it possible that these are still not found? There are no build errors whether the files exist or not.
From the document:
gst-fsl-plugin-$VERSION.tar.gz is gstreamer plugin source package that contains source code for the multimedia Gstreamer-based plugin for the i.MX application processor.
fsl-mm-codeclib-$VERSION.tar.gz is codec/parser binary package that contains the Freescale multimedia core codec/parser libraries for the i.MX application processor.
Copy these two standard packages to the LPP directory, which by default is set to /var/tmp/pkgs
I also followed our instructions and had a similar problem, I could not play MP4 file, but I could play H.264 files.
I then inspected the CODECS installed on the platform
gst-inspect | grep mfw*
(gst-inspect-0.10:2201): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libmfw_gst_mpeg4aspdec.so': lib_MPEG4ASP_dec_arm9_elinux.so.1.2.1: cannot open shared object file: No such file or directory
As you can see the following file is missing the: : lib_MPEG4ASP_dec_arm9_elinux.so.1.2.1
It would appear the install is not installing this package, I will raise with our software team. In the meantime, I have a work-around.
You can manually copy this file(lib_MPEG4ASP_dec_arm9_elinux.so.1.2.1) from fsl-mm-codeclib-1.9.6.tar.gz.
It is located in the zip in /release/lib
Copy this file to /usr /lib in the files system of your SD card.
I am now playing mp4 files. An example command line would be:
gst-launch playbin uri=file:///mnt/cdrom/<filename>.mp4
gplay works as well.
Regards
Mark
Try this:
gst-launch playbin2 uri=file://<path to file>
if darkknightrises_trlr_01_480p_dl.mov is in /root:
gst-launch -v playbin2 uri=file:///rootdarkknightrises_trlr_01_480p_dl.mov
This is the command gplay uses to play your media files, but this may give more debug info with -v.
Thanks for your reply, I've tried your suggestion and the output is as follows:
root@test ~$ gst-launch -v playbin2 uri=file:///root/darkknightrises_trlr_01
_480p_dl.mov
Setting pipeline to PAUSED ...
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: connection-speed = 0
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: download = FALSE
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: subtitle-encoding = NULL
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: uri = "file:///root/darkknightrises_trlr_01_480p_dl.mov"
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: source = (GstFileSrc) source
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = video/quicktime
Aiur Core Info:
mime: video/quicktime; audio/x-m4a; application/x-3gp
file: lib_mp4_parser_arm9_elinux.3.0.so
ver : MPEG4PARSER_06.03.12 build on Oct 21 2010 06:15:53
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstAiurDemux:aiurdemux0.GstPad:sink: caps = video/quicktime
Pipeline is PREROLLING ...
H264D_ARM9_02.06.01 build on Dec 21 2010 09:26:37.
MFW_GST_H264_DECODER_PLUGIN 1.9.6 build on Oct 11 2012 10:09:22.
BLN_MAD-MMCODECS_AACD_ARM_03.05.00 build on Nov 25 2009 15:00:47.
MFW_GST_AAC_PLUGIN 1.9.6 build on Oct 11 2012 10:09:17.
Movie Info:
Seekable: Yes
Live: No
Duration: 0:02:10.921664000
ReadMode: File
Total Track: 2
Track 00[Video]:
Duration: 0:02:10.880008000
Language: und
Mime:
video/x-h264, width=(int)848, height=(int)354, framerate=(fraction)799/33, codec
_data=(buffer)00000001274d401ea9181a85ff118035010101b6c2b5ef7c040000000128de09c8
Track 01[Audio]:
Duration: 0:02:10.921664000
Language: und
Mime:
audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, bitrate=(int)1
60000, framed=(boolean)true, codec_data=(buffer)1190
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink1: caps = audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, bitrate=(int)160000, framed=(boolean)true, codec_data=(buffer)1190
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-buffers = 5
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-bytes = 2097152
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink0: caps = video/x-h264, width=(int)848, height=(int)354, framerate=(fraction)799/33, codec_data=(buffer)00000001274d401ea9181a85ff118035010101b6c2b5ef7c040000000128de09c8
/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0.GstPlaybin2SelectorPad:sink0: always-ok = FALSE
/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector1.GstPlaybin2SelectorPad:sink0: always-ok = FALSE
MFW_GST_V4LSINK_PLUGIN 1.9.6 build on Oct 11 2012 10:09:13.
/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector1: active-pad = (GstPlaybin2SelectorPad) sink0
/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0: active-pad = (GstPlaybin2SelectorPad) sink0
/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0.GstPlaybin2SelectorPad:sink0: tags = ((GstTagList*) 0x142b78)
ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/MFW_GST_H264DEC_INFO_T:mfw_gst_h264dec_info_t0: fatal error
Additional debug info:
non recoverable error while decoding the H.264 Data
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Total rendered:0
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src1: caps = audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, bitrate=(int)160000, framed=(boolean)true, codec_data=(buffer)1190
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src1: caps = audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, bitrate=(int)160000, framed=(boolean)true, codec_data=(buffer)1190
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/MFW_GST_AACDEC_INFO_T:mfw_gst_aacdec_info_t0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, bitrate=(int)160000, framed=(boolean)true, codec_data=(buffer)1190
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/MFW_GST_AACDEC_INFO_T:mfw_gst_aacdec_info_t0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, bitrate=(int)160000, framed=(boolean)true, codec_data=(buffer)1190
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/MFW_GST_AACDEC_INFO_T:mfw_gst_aacdec_info_t0.GstPad:sink: caps = NULL
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/MFW_GST_H264DEC_INFO_T:mfw_gst_h264dec_info_t0.GstPad:sink: caps = NULL
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink1: caps = NULL
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src1: caps = NULL
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink0: caps = NULL
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src0: caps = NULL
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstAiurDemux:aiurdemux0.GstPad:audio_00: caps = NULL
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstAiurDemux:aiurdemux0.GstPad:video_00: caps = NULL
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstAiurDemux:aiurdemux0.GstPad:sink: caps = NULL
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = NULL
>>V4L finalize: class finalized.
Freeing pipeline ...
root@test ~$
You could also try gst-launch audiotestsrc ! autoaudiosink, see if that works.
Hopefully I got the command correct this time, the file still fails though.
root@test ~$ gst-launch filesrc location=/root/darkknightrises_trlr_01_480p_dl.mov ! decodebin2 ! filesink location=./darkknightrises_trlr_01_480p_dl.mov
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind: Stream contains no data.
Additional debug info:
gsttypefindelement.c(863): gst_type_find_element_activate (): /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind:
Can't typefind empty stream
Setting pipeline to NULL ...
Freeing pipeline ...
The command 'gst-launch audiotestsrc ! autoaudiosink' did the following:
root@test ~$ gst-launch audiotestsrc ! autoaudiosink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
What you did with your command line is overwrite your old file, now it contains no data.
You want a different filename for the “filesink location=x.output”.
So did this one:
gst-launch audiotestsrc ! autoaudiosink
Produce a sound?
Yes 'gst-launch audiotestsrc ! autoaudiosink' did produce a sound.
Sorry, I ran the command again:
root@test ~$ gst-launch filesrc location=/root/darkknightrises_trlr_01_480p_dl.mov ! decodebin2 ! filesink location=x.output
Setting pipeline to PAUSED ...
Aiur Core Info:
mime: video/quicktime; audio/x-m4a; application/x-3gp
file: lib_mp4_parser_arm9_elinux.3.0.so
ver : MPEG4PARSER_06.03.12 build on Oct 21 2010 06:15:53
Pipeline is PREROLLING ...
H264D_ARM9_02.06.01 build on Dec 21 2010 09:26:37.
MFW_GST_H264_DECODER_PLUGIN 1.9.6 build on Oct 11 2012 10:09:22.
BLN_MAD-MMCODECS_AACD_ARM_03.05.00 build on Nov 25 2009 15:00:47.
MFW_GST_AAC_PLUGIN 1.9.6 build on Oct 11 2012 10:09:17.
Movie Info:
Seekable: Yes
Live: No
Duration: 0:02:10.921664000
ReadMode: File
Total Track: 2
Track 00[Video]:
Duration: 0:02:10.880008000
Language: und
Mime:
video/x-h264, width=(int)848, height=(int)354, framerate=(fraction)799/33, codec
_data=(buffer)00000001274d401ea9181a85ff118035010101b6c2b5ef7c040000000128de09c8
Track 01[Audio]:
Duration: 0:02:10.921664000
Language: und
Mime:
audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, bitrate=(int)1
60000, framed=(boolean)true, codec_data=(buffer)1190
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/MFW_GST_H264DEC_INFO_T:mfw_gst_h264dec_info_t0: fatal error
Additional debug info:
non recoverable error while decoding the H.264 Data
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
root@test ~$
Can you try this:
gst-launch filesrc location=/root/darkknightrises_trlr_01_480p_dl.mov typefind=true ! aiurdemux name=demux demux. ! queue max-size-buffers=0 max-size-time=0 ! mfw_vpudecoder ! mfw_v4lsink demux. ! queue max-size-buffers=0 max-size-time=0 ! mfw_aacdecoder ! alsasink
Thanks I tried that, it seems mfw_vpudecoder is missing.
root@test ~$ gst-launch filesrc location=/root/darkknightrises_trlr_01_480p_dl.mov typefind=true ! aiurdemux name=demux demux. ! queue max-size-buffers=0 max-size-time=0 ! mfw_vpudecoder ! mfw_v4lsink demux. ! queue max-size-buffers=0 max-size-time=0 ! mfw_aacdecoder ! alsasink
MFW_GST_V4LSINK_PLUGIN 1.9.6 build on Oct 11 2012 10:09:13.
BLN_MAD-MMCODECS_AACD_ARM_03.05.00 build on Nov 25 2009 15:00:47.
MFW_GST_AAC_PLUGIN 1.9.6 build on Oct 11 2012 10:09:17.
WARNING: erroneous pipeline: no element "mfw_vpudecoder"
Very sorry, this is imx28, I was working on some imx53 QSB multimedia as well, and didn't "reset" back to imx28 when I came back to this discussion. :smileysad:
I know I had issues with the older h264 decoder, so maybe try ffmpeg's...Do you have that option in ltib for imx28?
This should do only audio:
gst-launch filesrc location=/root/darkknightrises_trlr_01_480p_dl.mov typefind=true ! aiurdemux name=demux demux. ! queue max-size-buffers=0 max-size-time=0 ! mfw_aacdecoder ! alsasink
Should do only video ( as long as you have the ffmpeg stuff installed ):
gst-launch filesrc location=/root/darkknightrises_trlr_01_480p_dl.movtypefind=true ! aiurdemux name=demux demux. ! queue max-size-buffers=0 max-size-time=0 ! ffdec_h264 ! mfw_v4lsink
Should do both:
gst-launch filesrc location=/root/darkknightrises_trlr_01_480p_dl.movtypefind=true ! aiurdemux name=demux demux. ! queue max-size-buffers=0 max-size-time=0 ! ffdec_h264 ! mfw_v4lsink demux. ! queue max-size-buffers=0 max-size-time=0 ! mfw_aacdecoder ! alsasink
Can you try this:
gst-launch filesrc location=/root/darkknightrises_trlr_01_480p_dl.mov ! decodebin2 ! filesink
Where did you download this trailer from? I could try on a different board/BSP.
You can download the file here:
Is there a known working test movie file that I can use?
I tried the suggestion: gst-launch filesrc location=/root/darkknightrises_trlr_01_480p_dl.mov ! decodebin2 ! filesink The filename is correct, I checked this but it says there is no file name specified for writing.
root@test ~$ ls
darkknightrises_trlr_01_480p_dl.mov
root@test ~$ gst-launch filesrc location=/root/darkknightrises_trlr_01_480p_dl.mov ! decodebin2 ! filesink
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstFileSink:filesink0: No file name specified for writing.
Additional debug info:
gstfilesink.c(389): gst_file_sink_open_file (): /GstPipeline:pipeline0/GstFileSink:filesink0
Setting pipeline to NULL ...
Freeing pipeline ...
root@test~$
Sorry I was too brief:
…! filesink location=./thefile
Regards,
Randy Krakora
Field Applications Engineer
Freescale Semiconductor
(765)-860-6622