Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Lag + Errors When Opening Video File and Skipping Video Playback Position #241

Open
hhaudio opened this issue Dec 23, 2022 · 3 comments
Open

Comments

@hhaudio
Copy link

hhaudio commented Dec 23, 2022

Hi, I'm working on a project making a semi-randomized video player on the Raspberry Pi 4 (64-bit OS with Desktop) using Python-VLC. I have a proof of concept working, but I get some strange error messages whenever I open a new video file or skip the playback position.

Here is the error when a new file is opened:

    [0000007f680013e0] mmal_xsplitter vout display error: Failed to open Xsplitter:opengles2 module
    [0000007f680013e0] mmal_xsplitter vout display error: Failed to open Xsplitter:mmal_vout module
    [0000007f6c013b10] avcodec decoder: Using DRM Video Accel for hardware decoding

Here is the error when I skip playback position:

    [0000007f6c013b10] main decoder error: Timestamp conversion failed for 315848867: no reference clock
    [0000007f6c013b10] main decoder error: Could not convert timestamp 0 for FFmpeg

The program seems to work in spite of these, but there's some minor lag I'd like to get rid of, and I want to make sure a problem doesn't arise from these errors piling up since I plan on running this program continuously for long periods of time.

Can anyone help explain what these errors mean and how I can get rid of them?

Here is the code I am using:

import vlc
import RPi.GPIO as GPIO
import time
import pygame
import random

def mute():
    media_player.get_media_player().audio_set_volume(0)


opin = 2
ipin = 4

pos = [0, 0]
index = 0


GPIO.setmode(GPIO.BCM)
GPIO.setup(opin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(ipin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

player = vlc.Instance("--no-xlib")

media_player = player.media_list_player_new()

media_list = player.media_list_new()

media = player.media_new("/home/hhaudio/Desktop/Malice.mp4")
media_list.add_media(media)

media = player.media_new("/home/hhaudio/Desktop/Croc.mp4")
media_list.add_media(media)

media_player.set_media_list(media_list)
media_player.play_item_at_index(0)

mute()

print("hello!")

nextvid = 1

while True:

    if GPIO.input(opin) == 0:
        print("exit")
        exit()
        break
    if GPIO.input(ipin) == 0 and nextvid == 1:
        print("ipin")
        media_player.get_media_player().set_position(random.random())
    nextvid = GPIO.input(ipin)
    time.sleep(0.001)
@oaubert
Copy link
Owner

oaubert commented Dec 30, 2022

This is not a python-vlc issue, since it also happens with other bindings (libvlc-go). Did you just do a web search? The first result I found is RPi-Distro/vlc#30 which gave a possible solution.

@hhaudio
Copy link
Author

hhaudio commented Jan 5, 2023

I did a web search but the results I found were unhelpful. I actually found this exact post previously.

When I add --vout mmal_vout to the options the program fails altogether. I get an error:
"main video output error: video output creation failed"
"main decoder error: failed to create video output"

@hhaudio
Copy link
Author

hhaudio commented Jan 5, 2023

Apologies if this is the wrong place to bring up this issue. Is there a VLC repo where I should be bringing up this issue instead?

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants