hemisphere-project / hplayer Goto Github PK
View Code? Open in Web Editor NEWOSC controllable and GPU accelerated VideoPlayer for Raspberry Pi with OpenGL shaders support
License: GNU General Public License v2.0
OSC controllable and GPU accelerated VideoPlayer for Raspberry Pi with OpenGL shaders support
License: GNU General Public License v2.0
Crash if unknown filepath supplied
(like in --media none for exemple)
When the s/getStatus OSC message is sent, /status response comes recursively (instead of one call / one response as it might be expected)
I can load smal JPG (214x274px) but not a full HD jpg (screen remains black, no error in the console)
I'm using the binary from your repo on raspbian jessie (fresh image from last week) on a RPi 3.
Hi
just tried to test the HPlayer, which seems to be perfectly what I need,
but when trying under the newest raspian version i get a Segmenation Fault both the using --help oder a --play.
I've tried it which the provided binary and also when compiling on my own.
I've tried it on my two pi's. An old B model and an new Pi2.
If you encounter
terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid
Aborted
execute
export LC_ALL="en_US.UTF-8"
and it should fix the problem
Provide a Debian package (automatically) for easier installation.
Therefore you can launch HPlayer as a service, waiting incoming osc command play to play a media
OSC command (from webinterface) is broken
Hi there,
I'm planning to use HPlayer for an installation, that may be a bit interactive. I'm trying to get a:
Is there a way to get this "fade in" "fade out" ?
Thank you in advance !
Hi
I am running this player on Raspberry pi 3 wist latest Jessie and it plays 20 seconds from 30 second video and then restart with this error. Video file is ok because system omxplayer plays it properly.
I have video memory set to 192
[ error ] Component::~Component(): 80 OMX_ErrorBadParameter
[ error ] OMX_ERRORTYPE Component::waitForCommand(OMX_COMMANDTYPE, OMX_U32, long int): OMX.broadcom.audio_render TIMEOUT
OMX_EventCmdComplete
OMX_CommandStateSet
2
[ error ] OMX_ERRORTYPE Component::setState(OMX_STATETYPE): 864
[notice ] bool ofxOMXPlayerEngine::didReadFile(bool): didOpenMovie TOOK 7 MS
[notice ] bool ofxOMXPlayerEngine::openPlayer(int): duration SET: 29.6
[notice ] bool ofxOMXPlayerEngine::openPlayer(int): Opened video PASS
[ error ] OMX_ERRORTYPE Component::waitForEvent(OMX_EVENTTYPE, long int): OMX.broadcom.audio_render waitForEvent Event: OMX_EventPortSettingsChanged TIMED OUT at: 20
[ error ] Component::~Component(): 80 OMX_ErrorBadParameter
[ error ] OMX_ERRORTYPE Component::waitForCommand(OMX_COMMANDTYPE, OMX_U32, long int): OMX.broadcom.audio_render TIMEOUT
OMX_EventCmdComplete
OMX_CommandStateSet
2
Hello!
I'm trying to set up HPlayer for a theatre proyect, but I'm geting the following error:
./HPlayer: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
I guess is relate to OpenSSL library, but sadly my Linux knowledge is limited. I tried to find a solution searching on the web, but I cant find it.
Please, can somebody give some advise or help?
Thanks!!
Support for multiple files playlist with looping
Messages
/play file1 file2 file3 ...
/playloop file1 file2 file3 ...
The purpose of bin/data and bin/extra is rather unclear. Some documentation (including examples) would provide benefits to newcomers.
negative progress value on large movie (once it looped?)
Hi i tried Player using:
./HPlayer --gl 1 --volume 100 --loop 0 --ahdmi 1 --media /home/pi/media/01_Testfile2017.mp4
The mp4 is the sample test from pocket-vj and video rendering is ok but the audio is played for 3 seconds correctly and than disappear.
I tried also using --ahdmi 0 and headphone and the situation is the same 3 sec of audio and than nothing.
Regarding codecs VLC say that video is H264 mpeg-4 AVC and audio is MPEG ACC mpa4
is a codec issue? any one che provide parameters for ffmpeg to obtain a valid video?
Any one can help?
Finally the video proposed in the tutorial still not available.
Thank you in advance
Paolo
Hi,
I am trying to build HPlayer on Raspbian and I am getting this error …
../../../libs/openFrameworks/graphics/ofCairoRenderer.h:4:28: fatal error: cairo-features.h: No such file or directory #include "cairo-features.h"
I confirmed that cairo-features.h
is located in this path:
/usr/include/cairo/cairo-features.h
I’m not sure how to resolve this issue … that is, how to get openFrameworks to locate the required headers in /usr/include/cairo
.
Do you have any ideas or advice how I can resolve this?
Thank you!
Chris
End detection that triggers next() might fail sometimes.
We should add a safer mecanism to detect end of movie
and trigger the next one.
./HPlayer: error while loading shared libraries: libfreeimage.so.3: cannot open shared object file: No such file or directory
./bin/HPlayer --name Alberto --volume 50 --in 9000 --out 9001 --base64 0 --info 0 --ahdmi 1
don't always output on onboard mini-jack
Zoom out float, as startup arg and OSC command
There is a way to do a passthrough Hdmi, to start by OSC a multichannel audio? If i go to terminal and use the "omxplayer" -p (option) my multichannel audio works fine, but if i start it by a OSC message not works. Is possible to /play -p (passthrough) option??
My multichannel audio is an .mp4 with ac3 audio.
Thank You!
Hi,
I need this apps and so I try to install on my rasberry pi3, I install openFrameworks v0.9.3
but not to compil the player,
That is my error:
obj/linuxarmv6l/Release/src/omPlayer.o: fichier non reconnu: Fichier tronqué
collect2: error: ld returned 1 exit status
../../../libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:382: recipe for target 'bin/HPlayer' failed
make[1]: *** [bin/HPlayer] Error 1
make[1]: Leaving directory '/home/pi/openFrameworks/apps/myApps/HPlayer'
../../../libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:125: recipe for target 'Release' failed
make: *** [Release] Error 2
And I don't know what to do? If you can help me.
Respect the original aspect ratio (now its forced fullscreen)
When i use "./HPlayer --path /home/pi/media --start 1 --loop 1" command having some video files in the "--path" directory, the playback order seems to have no relation to filenames or any other characteristics of the files. Is there a way to force (or at least predict) the playback order using commandline options only (not OSC commands)?
Support for shader load and control over OSC
Blur Shader with depth control
Have a basic testframework in place for automated sanity checks.
Hello,
I installed Player on 2 RPi (1A & 2B), it works very well on 2B. Before to continue, I need to know:
– how to auto start Player at boot ? I had try to put (the command working in ssh)
HPlayer/HPlayer --path /home/pi/Videos --start 1 --loop 1 --info 0 --ahdmi 1 --out 1234 --host 192.168.1.10
in a new file in /etc/cron.d, not working
in /etc/rc.local, not working
Any idea how to do it?
– to quit I use OSC with the address /quit, there is a way to do it in SSH?
– how to write inside data/settings.xml the settings I need at startup?
Thank you for your work, I will use it for a future installation.
Jacques Hoepffner
0 Division (dimensions) on MP3 decoding
Following this guide for installing omxplayer on the Raspberry Pi I have installed libpcre3-dev, libavcodec-dev, libavdevice-dev, libavfilter-dev, libavformat-dev, libboost-dev.
When I run make I get the following compilation errors:
../../../addons/ofxOMXPlayer/src/LIBAV_INCLUDES.h:49:29: fatal error: libavcodec/opt.h: No such file or directory compilation terminated. ../../../libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:191: recipe for target 'obj/linuxarmv6l/Release/src/HPlayer.o' failed make[1]: *** [obj/linuxarmv6l/Release/src/HPlayer.o] Error 1 make[1]: Leaving directory '/home/pi/openFrameworks/apps/myApps/HPlayer' ../../../libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:126: recipe for target 'Release' failed make: *** [Release] Error 2
Is it not finding libavcodec? The version I have installed is 6:0.8.13-1 on raspbian wheezy. I'm using a raspberry pi model B+
A proper explicit message would be nice !
I'm trying to install on a Paspberry Pi 3, running Raspbian (most recent version).
Compiling from source also failed.
Here's the output when I run HPlayer.
pi@PocketVJ:~/HPlayer $ ./HPlayer
[notice ] -HP- WOKE UP
[notice ] ofAppEGLWindow: setupRPiNativeWindow(): screenRect: 640x480
[notice ] ofAppEGLWindow: setupRPiNativeWindow(): windowRect: 640x480
[notice ] ofAppEGLWindow: createSurface(): setting up EGL Display
[notice ] ofAppEGLWindow: createSurface(): EGL Display correctly set 0x1
[notice ] ofAppEGLWindow: createSurface(): no current renderer selected
[notice ] ofAppEGLWindow: createSurface(): GLES2 renderer detected
[notice ] ofAppEGLWindow: createSurface(): surface created correctly
[notice ] ofAppEGLWindow: createSurface(): API bound correctly
[notice ] ofAppEGLWindow: createSurface(): -----EGL-----
[notice ] ofAppEGLWindow: createSurface(): EGL_VERSION_MAJOR = 1
[notice ] ofAppEGLWindow: createSurface(): EGL_VERSION_MINOR = 4
[notice ] ofAppEGLWindow: createSurface(): EGL_CLIENT_APIS = OpenGL_ES OpenVG
[notice ] ofAppEGLWindow: createSurface(): EGL_VENDOR = Broadcom
[notice ] ofAppEGLWindow: createSurface(): EGL_VERSION = 1.4
[notice ] ofAppEGLWindow: createSurface(): EGL_EXTENSIONS = EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_vg_parent_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_lock_surface
[notice ] ofAppEGLWindow: createSurface(): GL_RENDERER = VideoCore IV HW
[notice ] ofAppEGLWindow: createSurface(): GL_VERSION = OpenGL ES 2.0
[notice ] ofAppEGLWindow: createSurface(): GL_VENDOR = Broadcom
[notice ] ofAppEGLWindow: createSurface(): -------------
[notice ] ofAppEGLWindow: setupPeripherals(): peripheral setup complete
[notice ] ofAppEGLWindow: setupNativeUDev(): created udev object
[notice ] ofAppEGLWindow: setupMouse(): unabled to find mouse
[ error ] ofAppEGLWindow: setupMouse(): did not open mouse
[ error ] ofAppEGLWindow: setupMouse(): did not open mouse, mouse_fd < 0
[warning] ofAppEGLWindow: setupKeyboard(): unabled to find keyboard
[ error ] ofAppEGLWindow: setupKeyboard(): did not open keyboard
[ error ] ofAppEGLWindow: setupKeyboard(): did not open keyboard, keyboard_fd < 0
[notice ] ofAppEGLWindow: setupPeripherals(): native event setup complete
[warning] ofShader: GL_VERTEX_SHADER shader reports:
Compiled
[warning] precision mediump float;
#define IN attribute
#define OUT varying
#define TEXTURE texture2D
#define TARGET_OPENGLES
uniform mat4 modelViewMatrix; uniform mat4 projectionMatrix; uniform mat4 textureMatrix; uniform mat4 modelViewProjectionMatrix; uniform float usingTexture; uniform float usingColors; uniform vec4 globalColor; IN vec4 position; IN vec4 color; IN vec4 normal; IN vec2 texcoord; OUT vec4 colorVarying; OUT vec2 texCoordVarying; void main(){ gl_Position = modelViewProjectionMatrix * position; if(usingTexture>.5) texCoordVarying = (textureMatrix*vec4(texcoord.x,texcoord.y,0,1)).xy; if(usingColors>.5) colorVarying = color; else colorVarying = globalColor; }
[warning] ofShader: GL_FRAGMENT_SHADER shader reports:
Compiled
[warning] precision mediump float;
#define IN varying
#define OUT
#define TEXTURE texture2D
#define FRAG_COLOR gl_FragColor
#define TARGET_OPENGLES
uniform sampler2D src_tex_unit0; uniform float usingTexture; uniform float bitmapText; IN vec4 colorVarying; IN vec2 texCoordVarying; void main(){ vec4 tex; if(usingTexture>.5){ tex = TEXTURE(src_tex_unit0, texCoordVarying); if(bitmapText>.5 && tex.a < 0.5){ discard; }else{ FRAG_COLOR = colorVarying*tex; } }else{ FRAG_COLOR = colorVarying; } }
[ error ] OMXReader::OpenFile -
[notice ] bool ofxOMXPlayerEngine::didReadFile(bool): didOpenMovie TOOK 0 MS
[warning] bool ofxOMXPlayerEngine::setup(ofxOMXPlayerSettings&): FAST PATH MOVE OPEN FAILED - LIKELY A STREAM, TRYING SLOW PATH
[ error ] OMXReader::OpenFile -
[notice ] bool ofxOMXPlayerEngine::didReadFile(bool): didOpenMovie TOOK 0 MS
[ error ] omxReader open moviePath FAIL:
[ error ] bool ofxOMXPlayer::openEngine(int): engine->setup FAIL
I'm getting the player filling about 2/3rds of the screen situated in the top left. tried forcing the pi res from 1920x1080 to 1280x720 so the player filled that but it's still 2/3rd of the screen. this is on B+
Is it possible to seamless loop a single video file? When I launch a clip with the --loop tag for a single clip I get a noticeable gap between clip end and clip start that is not ideal for my application. Great project btw
[notice ] bool ofxOMXPlayerEngine::didReadFile(bool): didOpenMovie TOOK 7 MS
[notice ] bool ofxOMXPlayerEngine::openPlayer(int): duration SET: 7.88
Hello,
I have a problem with the OSC commands Load [] or Play [], can't find how to play a file in another directory from the root one (or in a sub directory from root).
I want to send an OSC order to play a specific file, it's important to don't have to play with next to go to the specific file for my project.
Thanks
to start player with given media (or media folder)
@Maigre can you please let me know how i can hide black screen after video end and it starts play next video ?
Thank you
Have a script in place which automates the build/deployment process.
Provide packages for Arch Linux (automatically).
Hi ! please help me it seems there is no way to know when a video end
my context for that is when video is end i will need to open a browser to play a html file
Thank you for your help in advance
when sending s/getStatus command, sometimes the player's object returned contains progress with negative values. For instance :
{ name: 'Thierry',
isPlaying: true,
media:
{ filepath: '/home/pi/media/Sequence 04 no bomb.mov',
progress: -99291,
duration: 450240 },
isPaused: false,
isMuted: false,
volume: 50,
zoom: 100,
blur: 0,
loop: true,
hdmiAudio: true,
info: false }
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.