Video does not work with Hardware Acceleartion

#1

I have some video stream doesn’t work correctly, no video is rendering, only the audio is playing. I also tried to download it and played it from local, still the same issue.

The only way to make it work correctly is to disable both OMX acceleration and MMAL Acceleration, and use software decoding.

I’ve searched the forum, found some similar threads, but they didn’t solve my problem. This video format is AVC High@L3.1, not sure RPi supports HW decoding of this format or not.

Here is the debug kodi.log http://paste.osmc.io/qumabinepe.dos

MediaInfo:

General
Complete name                            : D:\030001220055368513923105CF07DD27E67092-5CD0-7CA3-1979-5EE974596CF4.flv
Format                                   : Flash Video
File size                                : 48.1 MiB
Duration                                 : 3mn 24s
Overall bit rate                         : 1 976 Kbps
Tagging application                      : modified by youku.com in 20111202

Video
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L3.1
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 5 frames
Codec ID                                 : 7
Duration                                 : 3mn 24s
Width                                    : 1 280 pixels
Height                                   : 536 pixels
Display aspect ratio                     : 2.40:1
Frame rate mode                          : Constant
Frame rate                               : 24.000 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive

Audio
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : HE-AAC / LC
Codec ID                                 : 10
Duration                                 : 3mn 24s
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 44.1 KHz / 22.05 KHz
Compression mode                         : Lossy

Other info:

Device: RPi 2
Installation media: SD card
Connection: Wired
OSMC version: 2015.07-1
XBMC version: Kodi (15.1-RC1 Git:Unknown). Platform: Linux ARM (Thumb) 32-bit
Audio/Video Output: HDMI
#2

Hello,

for me the solution was to enable both, the omx and mmal acceleration.

Mmal only had same issues by me, Black screen + Sound.

After enable of omx -> perfect playback.

#3

Hi MoD256,

I tried to enable both, only enable omx acceleration, and only enable mmal acceleration. But none of them works.

#4

This suggests video is corrupt:

20:08:22  45.075882 T:1300231200   ERROR: CMMALVideo::dec_control_port_cb Error (status=9 ECORRUPT)

Looks like the video is small. Can you upload it to a site like dropbox or google drive and I’ll take a look.

#5

Hi popcornmix,

I upload this video to google drive, this is the URL https://drive.google.com/file/d/0B8aAqA38SYW0MDZqRzJnWGNBNnc/view?usp=sharing

#6

Hi @popcornmix,

Did you received that video file?

#7

Yes, I’ve got it, and can confirm it doesn’t play. Might need to get codec expert to investigate.

#8

Is this problem solved? i met this problem too. no video rendering but with audio playing. :cry:

i found that omx show value “7” on video codec id for this kind of flv video from youku, but the vlc player show value “avc1” on video codec id for it. is possible that oxm cannt determine the right video codec id, so the video is no rendering?@popcornmix

#9

Have you got a sample file?

#10

i upload a sample file to google drive. https://drive.google.com/open?id=0B072K4NTFqZ_OUlGcGhZWTZkcWc

#11

Seems to be this issue:
http://forum.kodi.tv/showthread.php?tid=269296

The video contains “SPSX units that aren’t consecutive with their corresponding SPS units”.
The codec attempts to sanity check these (parse the lengths and check it matches the total length of header bytes) but it fails the check and video is marked as corrupt.

If I bypass the sanity check the video plays correctly.
Let me see if the sanity check can be fixed. If not, treating it as non-fatal would likely fix the file.

#12

I was getting the same problem and finally I have fixed increasing the memory available for the GPU. I was getting problems with h264 file formats and other files.

If you are using raspbian, use the application “raspi-config” and go to “7 Advanced Options” > “A3 Memory Split”. In my case by default it was 64, so I set it to 128.

If you are not using raspbian, modify the file /boot/config.txt and change (or create) the parameter “gpu_mem” to something bigger. In my case I have the following line:

gpu_mem=128

Be very careful changing this file by yourself, it could make the system don’t boot.

I remember to read something about this, but I don´t remember the source. It could be omxplayer documentation, or any other documentation related with the GPU processor (vc4).

I hope it could be helpful for other users.

#13

This is a OSMC specific forum so people here would use OSMC and not raspbian

OSMC handles this differently and we set the memory values depending on the device
gpu_mem_1024=256
gpu_mem_512=144
gpu_mem_256=112

So I wasn’t sure if your post was a bit of spam (and should be deleted) or just meant you didn’t know what OSMC is about.