[solved] omxplayer plays audio, but no video on RPi 3B

Ask questions about Arch Linux ARM. Please search before making a new topic.

[solved] omxplayer plays audio, but no video on RPi 3B

Postby andrewboring » Thu Aug 08, 2019 7:02 pm

Hi All,

I have a fresh install of Arch Linux Arm on a Pi 3B using the Armv7 image. I'm running weston as the default alarm user with a basic/minimal desktop using the DRM backend.

However, omxplayer will play audio, but no video.
I've tried upping the GPU memory to 256 and even 512:

$this->bbcode_second_pass_code('', '[alarm@alarmpi ~]$ /opt/vc/bin/vcgencmd get_mem gpu
gpu=512M')

But no errors are displayed:
$this->bbcode_second_pass_code('', '[alarm@alarmpi ~]$ omxplayer --genlog big_buck_bunny_720p_1mb.mp4
Video codec omx-h264 width 1280 height 720 profile 77 fps 25.000000
Audio codec aac channels 6 samplerate 48000 bitspersample 16
Subtitle count: 0, state: off, index: 1, delay: 0
V:PortSettingsChanged: 1280x720@25.00 interlace:0 deinterlace:0 anaglyph:0 par:1.00 display:0 layer:0 alpha:255 aspectMode:0
have a nice day ;)')

The omxplayer log is here: https://pastebin.com/gd891g1G
Stack trace: https://pastebin.com/FCpgip7w

$this->bbcode_second_pass_code('', '[alarm@alarmpi ~]$ uname -a
Linux alarmpi 4.19.63-1-ARCH #1 SMP PREEMPT Fri Aug 2 18:46:54 UTC 2019 armv7l GNU/Linux')

$this->bbcode_second_pass_code('', '[alarm@alarmpi ~]$ echo $DISPLAY
:0
[alarm@alarmpi ~]$ echo $WAYLAND_DISPLAY
wayland-0
')

$this->bbcode_second_pass_code('', '[alarm@alarmpi ~]$ cat .config/weston.ini
[core]
idle-time=0
xwayland=true
backend=drm-backend.so
#backend=fbdev-backend.so
require-input=false
[shell]
type=desktop-shell.so
animation=none
close-animation=none
startup-animation=none
locking=false')

The monitor is connected via HDMI. I read somewhere about setting --display to 4 or 5 depending on whether using the Official Touchscreen or HDMI, but setting --display to any value doesn't affect it. Using --layer 2 (or higher) doesn't help, and I've tried both running omxplayer from ssh (to display on connected monitor), and using weston-terminal within the Wayland session.

I've started weston with both "weston" and "weston-launch", both from console. No difference in playback.


I've also tried running omxplayer under X, but same result. No video, just audio.
I suspect I'm missing something really simple here.

Suggestions?
Last edited by andrewboring on Tue Aug 13, 2019 8:31 pm, edited 1 time in total.
andrewboring
 
Posts: 13
Joined: Wed Jun 20, 2018 5:07 pm

Re: omxplayer plays audio, but no video on RPi 3B

Postby acconciox » Mon Aug 12, 2019 12:47 pm

omx-player works usually with or without startx command, (if you install X and you have 99-fbturbo.conf from alarm/xf86-video-fbturbo-git).
but if you run wayland weston you have in /boot/config.txt/ dtoverlay=vc4-kms-v3d and there is not fbturbo.conf file (in case rename it), then there is not reason to play omx-player wich is hardware decoding, h264 and mpeg2/4 (with mmal decoder, if you pay the license) only under X server.
Try mpv + ffmpeg from official repo, then run ffplay and/or mpv instead of omx-player (wich is useless with VC4 driver in my experience :) ) the video quality is better than x + mmal hardware decoding, the cpu is loaded more, but result is better (with red and dark colors i see a big difference).
is xwayland installed? (local/xorg-server-xwayland 1.20.5-2 (xorg) run X clients under wayland)
using wayland 256 gpu_mem is enough (to see movie from original dvd so should be enough for h264 etc...)
sway is my window manager, it works with or without weston. (in ~/bash_profile run exec sway) config is a bit complicate if you dont have us keyboard), sway config is i3 config compatible. if you use sway first time i suggest to put in -bash_profile something like:
# [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec sway
so you can switch without problem, with ctrl+alt F2 changing .bash_profile.

ciao
acconciox
 
Posts: 110
Joined: Thu May 05, 2016 4:39 pm

Re: omxplayer plays audio, but no video on RPi 3B

Postby andrewboring » Tue Aug 13, 2019 8:31 pm

Thanks for the reply, acconciox.
The project requirements include both weston and omxplayer, at least for this initial build. I did find that mpv and gstreamer both worked under my configuration, and may consider testing those (and sway).

I actually opened a github issue yesterday before I saw your reply and was informed that the $this->bbcode_second_pass_code('', 'dtoverlay=vc4-kms-v3d') was the problem (as you said).

I'm in the unenviable position of catching up on ~10 years of Linux graphics development and the ARM architecture at the same time, so I clearly have more reading to do.

For the search engines, my solution was to comment out the vc4 driver, and switch to the fbdev-backend for Weston.
andrewboring
 
Posts: 13
Joined: Wed Jun 20, 2018 5:07 pm


Return to User Questions

Who is online

Users browsing this forum: No registered users and 12 guests