• Stars
    star
    180
  • Rank 213,097 (Top 5 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created almost 12 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OpenMax accelerated video player for openFrameworks on the Raspberry Pi 0-3. Does not work with RPI4

REQUIREMENTS:

CURRENT KNOWN MAJOR ISSUES:

Videos with and audio track (even silent) work best and allow more accurate looping/frame tracking

DESCRIPTION:

This is an openFrameworks video player addon for the Raspberry Pi. The video player is hardware accelerated and can provide textures to openFrameworks to be used for shaders, etc.

USAGE:

Use Releases unless you are contributing or looking for bleeding edge. Releases contain tested versions that work for specific versions of openFrameworks.

Clone into openFrameworks/addons

There 2 modes of Playback, Direct (aka Non-textured) or Textured.

Direct:

  • Renders directly to the screen, no texture access or pixels. This is most similar to what you will see in omxplayer
  • By default is played fullscreen video
  • OF is still able to run other processes in the background.
  • 1080p video playback is typically good

Textured:

Allows the use of

  • shaders
  • pixel access
  • drawing overlays
  • 720p video works best here

Audio:

  • Yes

Headphone jack may require this tweak:
https://gist.github.com/jvcleave/4972661

To use HDMI Audio you may need to add the below line to /boot/config.txt and reboot. See http://elinux.org/RPiconfig for more details

hdmi_drive=2

EXAMPLES:

example-basic:
Playback of video in texture mode (default)

example-texture-mode:

Playback of video in texture mode (default)

example-direct-mode:

Playback of video in direct mode (no textures/pixel access)

example-multiple-players:

Simultaneous playback 2 videos in non-texture mode

example-playlist:

Playback of a folder of videos in texture mode

example-pixels:

Example of pixel access that is needed for OpenCv operations/Saving images, etc

example-http-stream:

plays network streamed video

example-shader:

Use of shaders

example-playback-controls:

tried to keep these close to omxplayer

example-wrapper:

ofRPIVideoPlayer extends ofVideoPlayer in hopes to be a drop in replacement for ofVideoPlayer,

There may be other examples in Master branch but the above are most likely to remain

COMPRESSION RECOMMENDATIONS:

CREDITS:

Majority of the code is based off of https://github.com/popcornmix/omxplayer

See COPYING for license details inherited from omxplayer/xbmc

Test video files from: http://www.bigbuckbunny.org/index.php/download/

REHAUL NOTES:

I have basically rewritten the underlying engine in order to keep as close to omxplayer as possible. It seems to be about the same performance-wise. Noticeable changes are better looping and audio. This addon should play most files the same way as omxplayer. ofxOMXPlayerEngine is basically omxplayer.cpp with additions to support the openFrameworks model and textures.

This addon no longer has static/custom compiled versions of libav.

I closed all the previous issues as I won't be doing anything to the old code.

TODO: I still need to port back some of the direct mode display options and some stuff around the filters. There is also some functionality missing around switching the audio settings at runtime.

More Repositories

1

ofxImGui

Use ImGui in openFrameworks
C++
300
star
2

ofxRPiCameraVideoGrabber

development of ofxRPiCameraVideoGrabber, an addon to control the native Raspberry Pi camera in openFrameworks
C++
90
star
3

ofxThreadedMidiPlayer

Threaded Midi File Player for openFrameworks
C++
24
star
4

ofxOMXCamera

OpenMax accelerated control of the Raspberry Pi Camera Module under openFrameworks
C++
22
star
5

ofxKinect_Box2D

C
21
star
6

ofxDynamicBackgroundCV

C++
18
star
7

ofxRPI4Window

This is an openFrameworks addon for the Raspberry Pi to allow rendering without X
C++
18
star
8

FastImageClone_OF

openFrameworks 007 port of Kevin Atkinson's Fast Image Cloning Library (Thanks Kevin!) http://methodart.blogspot.com/2011/07/fast-image-cloning-library-ive-written.html
15
star
9

ofxPQLabs

Openframeworks addon for PQ Labs Gestures
C++
13
star
10

ofxOMXRecorder

ofxAddon that allows recording of pixels to H264 stream file
C++
11
star
11

openFrameworksRPiWorkspace

Xcode project used to allow autocompletion over SMB
11
star
12

ofxWebSimpleGuiToo-for-iPhone

iPhone app for interfacing with ofxWebSimpleGuiToo
C
7
star
13

PCL_1-3-0_Libraries_for_OF

Point Cloud Libraries for use in openFrameworks
C++
7
star
14

OPENFRAMEWORKS_CUSTOM_IOS

C++
6
star
15

ofxLytroFileTools

Tools to parse and view the Lytro camera files in openFrameworks
C++
6
star
16

ofxCvColorImageAlpha

C++
6
star
17

MultiThreadedHaarFinder

C++
6
star
18

ofxYouTubeVideoUtils

download / playback videos from YouTube in an openFrameworks application
C++
5
star
19

LocalAddressGrabber

Get your local ip address for en0 in openFrameworks
C++
5
star
20

example_PCL_1-4-0

PCL 1-4-0 in openFrameworks
C++
5
star
21

EtherPeg

R
4
star
22

PCL_1-3-0_OF_Examples

Examples of PCL integration
C++
4
star
23

example-ofFile-MorseCode

C++
4
star
24

ofxSyncedParameter

work in progress
C++
4
star
25

ofxKinect_triangle

C++
3
star
26

ofxAvFoundationHLSPlayer

C
3
star
27

RPiCameraRemoteServer

RPi portion of the RPiCameraRemote
C++
2
star
28

CamTwist_Effects

In Progress - templates for CamTwist
2
star
29

ofxEpiphanPlayer

Native Epiphan device access for openFrameworks
2
star
30

mmalCameraApp

C++
2
star
31

ofiOS_example

C++
2
star
32

ofxOpenNI2Grabber

C++
2
star
33

ofxGrahamsScan

2
star
34

billboardRotationExampleGLES2

C++
2
star
35

ofxMMAL

MMAL RPi camera access in openFrameworks (WORK IN PROGRESS)
C++
2
star
36

OpenNI2AppExample

C++
1
star
37

example-ofFileDialog-SortImageColors

1
star
38

billboardExampleGLES2

billboardExampleGLES2
C++
1
star
39

compare

C++
1
star
40

CircularBufferExample

openFrameworks project port of http://en.wikipedia.org/wiki/Circular_buffer
C++
1
star
41

ofxEtherPegExample

C
1
star
42

RPI_testApps

RPi testApps for the transition to the ofGLProgrammableRenderer
C++
1
star
43

Misc_Scripts

Shell
1
star
44

RPI_LEDMatrix_Example

C++
1
star
45

MongoOFExample

project to connect an openFrameworks app to MongoDB
C++
1
star
46

SlideShowExampleApp

SlideShow Example App for openFrameworks (RPI)
C++
1
star