Giter VIP home page Giter VIP logo

omxplayer's Introduction

omxplayer(1) -- Raspberry Pi command line OMX player

Deprecation Warning

Note: omxplayer has been deprecated since 2020; resources are directed at improving vlc.

This is because omxplayer:

  • uses openvg for OSD and subtitles which isn't supported on Pi4.
  • uses openmax which has been deprecated for a long time & isn't supported with 64-bit kernels
  • does not support software decode
  • does not support advanced subtitles
  • does not support playback from ISO files.
  • does not integrate with the X desktop

Please try using vlc. If there are features of omxplayer that vlc does not handle then try reporting here.

Description

OMXPlayer is a command-line video player for the Raspberry Pi. It can play video directly from the command line and does not require a desktop. OMXPlayer leverages the OpenMAX API to make use of the hardware video decoder in the GPU. Hardware acceleration along with direct command-line use on ARM silicon allows ultra low overhead, low power video playback. OMXPlayer was developed as a testbed for the XBMC Raspberry Pi implementation and is quite handy to use standalone.

DOWNLOADING

git clone https://github.com/popcornmix/omxplayer.git

HELP AND DOCS

omxplayer's built-in help and the man page are all generated from this README.md file during make. You may need to change the Makefile if you modify the structure of README.md!

COMPILING

Run this script which will install build dependency packages, including g++, and update firmware

./prepare-native-raspbian.sh

Build with

make ffmpeg
make -j$(nproc)

Install with

sudo make install

CROSS COMPILING

You need the content of your sdcard somewhere mounted or copied. There might be development headers to install on the running Pi system for the crosscompiling.

Edit Makefile.include and change the settings according your locations.

make ffmpeg
make
make dist

Installing OMXPlayer

You may want to specify a valid font path inside the omxplayer shell script. Copy over omxplayer-dist/* to the Pi /.

SYNOPSIS

Usage: omxplayer [OPTIONS] [FILE]

-h  --help                  Print this help
-v  --version               Print version info
-k  --keys                  Print key bindings
-n  --aidx  index           Audio stream index    : e.g. 1
-o  --adev  device          Audio out device      : e.g. hdmi/local/both/alsa[:device]
-i  --info                  Dump stream format and exit
-I  --with-info             dump stream format before playback
-s  --stats                 Pts and buffer stats
-p  --passthrough           Audio passthrough
-d  --deinterlace           Force deinterlacing
    --nodeinterlace         Force no deinterlacing
    --nativedeinterlace     let display handle interlace
    --anaglyph type         convert 3d to anaglyph
    --advanced[=0]          Enable/disable advanced deinterlace for HD videos (default enabled)
-w  --hw                    Hw audio decoding
-3  --3d mode               Switch tv into 3d mode (e.g. SBS/TB)
-M  --allow-mvc             Allow decoding of both views of MVC stereo stream
-y  --hdmiclocksync         Display refresh rate to match video (default)
-z  --nohdmiclocksync       Do not adjust display refresh rate to match video
-t  --sid index             Show subtitle with index
-r  --refresh               Adjust framerate/resolution to video
-g  --genlog                Generate log file
-l  --pos n                 Start position (hh:mm:ss)
-b  --blank[=0xAARRGGBB]    Set the video background color to black (or optional ARGB value)
    --loop                  Loop file. Ignored if file not seekable
    --no-boost-on-downmix   Don't boost volume when downmixing
    --vol n                 set initial volume in millibels (default 0)
    --amp n                 set initial amplification in millibels (default 0)
    --no-osd                Do not display status information on screen
    --no-keys               Disable keyboard input (prevents hangs for certain TTYs)
    --subtitles path        External subtitles in UTF-8 srt format
    --font path             Default: /usr/share/fonts/truetype/freefont/FreeSans.ttf
    --italic-font path      Default: /usr/share/fonts/truetype/freefont/FreeSansOblique.ttf
    --font-size size        Font size in 1/1000 screen height (default: 55)
    --align left/center     Subtitle alignment (default: left)
    --no-ghost-box          No semitransparent boxes behind subtitles
    --lines n               Number of lines in the subtitle buffer (default: 3)
    --win 'x1 y1 x2 y2'     Set position of video window
    --win x1,y1,x2,y2       Set position of video window
    --crop 'x1 y1 x2 y2'    Set crop area for input video
    --crop x1,y1,x2,y2      Set crop area for input video
    --aspect-mode type      Letterbox, fill, stretch. Default: stretch if win is specified, letterbox otherwise
    --audio_fifo  n         Size of audio output fifo in seconds
    --video_fifo  n         Size of video output fifo in MB
    --audio_queue n         Size of audio input queue in MB
    --video_queue n         Size of video input queue in MB
    --threshold   n         Amount of buffered data required to finish buffering [s]
    --timeout     n         Timeout for stalled file/network operations (default 10s)
    --orientation n         Set orientation of video (0, 90, 180 or 270)
    --fps n                 Set fps of video where timestamps are not present
    --live                  Set for live tv or vod type stream
    --layout                Set output speaker layout (e.g. 5.1)
    --dbus_name name        default: org.mpris.MediaPlayer2.omxplayer
    --key-config <file>     Uses key bindings in <file> instead of the default
    --alpha                 Set video transparency (0..255)
    --layer n               Set video render layer number (higher numbers are on top)
    --display n             Set display to output to
    --cookie 'cookie'       Send specified cookie as part of HTTP requests
    --user-agent 'ua'       Send specified User-Agent as part of HTTP requests
    --lavfdopts 'opts'      Options passed to libavformat, e.g. 'probesize:250000,...'
    --avdict 'opts'         Options passed to demuxer, e.g., 'rtsp_transport:tcp,...'

For example:

./omxplayer -p -o hdmi test.mkv

KEY BINDINGS

Key bindings to control omxplayer while playing:

1           decrease speed
2           increase speed
<           rewind
>           fast forward
z           show info
j           previous audio stream
k           next audio stream
i           previous chapter
o           next chapter
n           previous subtitle stream
m           next subtitle stream
s           toggle subtitles
w           show subtitles
x           hide subtitles
d           decrease subtitle delay (- 250 ms)
f           increase subtitle delay (+ 250 ms)
q           exit omxplayer
p / space   pause/resume
-           decrease volume
+ / =       increase volume
left arrow  seek -30 seconds
right arrow seek +30 seconds
down arrow  seek -600 seconds
up arrow    seek +600 seconds

KEY CONFIG SYNTAX

A key config file is a series of rules of the form [action]:[key]. Multiple keys can be bound to the same action, and comments are supported by adding a # in front of the line. The list of valid [action]s roughly corresponds to the list of default key bindings above and are:

DECREASE_SPEED
INCREASE_SPEED
REWIND
FAST_FORWARD
SHOW_INFO
PREVIOUS_AUDIO
NEXT_AUDIO
PREVIOUS_CHAPTER
NEXT_CHAPTER
PREVIOUS_SUBTITLE
NEXT_SUBTITLE
TOGGLE_SUBTITLE
DECREASE_SUBTITLE_DELAY
INCREASE_SUBTITLE_DELAY
EXIT
PAUSE
DECREASE_VOLUME
INCREASE_VOLUME
SEEK_BACK_SMALL
SEEK_FORWARD_SMALL
SEEK_BACK_LARGE
SEEK_FORWARD_LARGE
STEP

Valid [key]s include all alpha-numeric characters and most symbols, as well as:

left
right
up
down
esc
hex [keycode]

For example:

EXIT:esc
PAUSE:p
#Note that this next line has a space after the :
PAUSE: 
REWIND:left
SEEK_FORWARD_SMALL:hex 0x4f43
EXIT:q

DBUS CONTROL

omxplayer can be controlled via DBUS. There are three interfaces, all of which present a different set of commands. For examples on working with DBUS take a look at the supplied dbuscontrol.sh file.

Root Interface

The root interface is accessible under the name org.mpris.MediaPlayer2.

Methods

Root interface methods can be accessed through org.mpris.MediaPlayer2.MethodName.

Quit

Stops the currently playing video. This will cause the currently running omxplayer process to terminate.

Params Type
Return null
Raise

No effect.

Params Type
Return null

Properties

Root interface properties can be accessed through org.freedesktop.DBus.Properties.Get and org.freedesktop.DBus.Properties.Set methods with the string "org.mpris.MediaPlayer2" as first argument and the string "PropertyName" as second argument.

CanQuit (ro)

Whether or not the player can quit.

Params Type
Return boolean
Fullscreen (ro)

Whether or not the player can is fullscreen.

Params Type
Return boolean
CanSetFullscreen (ro)

Whether or not the player can set fullscreen.

Params Type
Return boolean
CanRaise (ro)

Whether the display window can be brought to the top of all the window.

Params Type
Return boolean
HasTrackList (ro)

Whether or not the player has a track list.

Params Type
Return boolean
Identity (ro)

Name of the player.

Params Type
Return string
SupportedUriSchemes (ro)

Playable URI formats.

Params Type
Return string[]
SupportedMimeTypes (ro)

Supported mime types. Note: currently not implemented.

Params Type
Return string[]

Player Interface

The player interface is accessible under the name org.mpris.MediaPlayer2.Player.

Methods

Player interface methods can be accessed through org.mpris.MediaPlayer2.Player.MethodName.

Next

Skip to the next chapter.

Params Type
Return null
Previous

Skip to the previous chapter.

Params Type
Return null
Play

Play the video. If the video is playing, it has no effect, if it is paused it will play from current position.

Params Type
Return null
Pause

Pause the video. If the video is playing, it will be paused, if it is paused it will stay in pause (no effect).

Params Type
Return null
PlayPause

Toggles the play state. If the video is playing, it will be paused, if it is paused it will start playing.

Params Type
Return null
Stop

Stops the video. This has the same effect as Quit (terminates the omxplayer instance).

Params Type
Return null
Seek

Perform a relative seek, i.e. seek plus or minus a certain number of microseconds from the current position in the video.

Params Type Description
1 int64 Microseconds to seek
Return null or int64 If the supplied offset is invalid, null is returned, otherwise the offset (in microseconds) is returned
SetPosition

Seeks to a specific location in the file. This is an absolute seek.

Params Type Description
1 string Path (not currently used)
2 int64 Position to seek to, in microseconds
Return null or int64 If the supplied position is invalid, null is returned, otherwise the position (in microseconds) is returned
SetAlpha

Set the alpha transparency of the player [0-255].

Params Type Description
1 string Path (not currently used)
2 int64 Alpha value, 0-255
SetLayer

Seeks the video playback layer.

Params Type Description
1 int64 Layer to switch to
Mute

Mute the audio stream. If the volume is already muted, this does nothing.

Params Type
Return null
Unmute

Unmute the audio stream. If the stream is already unmuted, this does nothing.

Params Type
Return null
ListSubtitles

Returns a array of all known subtitles. The length of the array is the number of subtitles. Each item in the araay is a string in the following format:

<index>:<language>:<name>:<codec>:<active>

Any of the fields may be blank, except for index. language is the language code, such as eng, chi, swe, etc. name is a description of the subtitle, such as foreign parts or SDH. codec is the name of the codec used by the subtitle, sudh as subrip. active is either the string active or an empty string.

Params Type
Return string[]
ListAudio

Returns and array of all known audio streams. The length of the array is the number of streams. Each item in the array is a string in the following format:

<index>:<language>:<name>:<codec>:<active>

See ListSubtitles for a description of what each of these fields means. An example of a possible string is:

0:eng:DD 5.1:ac3:active
Params Type
Return string[]
ListVideo

Returns and array of all known video streams. The length of the array is the number of streams. Each item in the array is a string in the following format:

<index>:<language>:<name>:<codec>:<active>

See ListSubtitles for a description of what each of these fields means. An example of a possible string is:

0:eng:x264:h264:active
Params Type
Return string[]
SelectSubtitle

Selects the subtitle at a given index.

Params Type Description
1 int32 Index of subtitle to select
Return boolean Returns true if subtitle was selected, `false otherwise
SelectAudio

Selects the audio stream at a given index.

Params Type Description
1 int32 Index of audio stream to select
Return boolean Returns true if stream was selected, `false otherwise
ShowSubtitles

Turns on subtitles.

Params Type
Return null
HideSubtitles

Turns off subtitles.

Params Type
Return null
GetSource

The current file or stream that is being played.

Params Type
Return string
Action

Execute a "keyboard" command. For available codes, see KeyConfig.h.

Params Type Description
1 int32 Command to execute
Return null

Properties

Player interface properties can be accessed through org.freedesktop.DBus.Properties.Get and org.freedesktop.DBus.Properties.Set methods with the string "org.mpris.MediaPlayer2" as first argument and the string "PropertyName" as second argument.

CanGoNext (ro)

Whether or not the play can skip to the next track.

Params Type
Return boolean
CanGoPrevious (ro)

Whether or not the player can skip to the previous track.

Params Type
Return boolean
CanSeek (ro)

Whether or not the player can seek.

Params Type
Return boolean
CanControl (ro)

Whether or not the player can be controlled.

Params Type
Return boolean
CanPlay (ro)

Whether or not the player can play.

Return type: boolean.

CanPause (ro)

Whether or not the player can pause.

Params Type
Return boolean
PlaybackStatus (ro)

The current state of the player, either "Paused" or "Playing".

Params Type
Return string
Volume (rw)

When called with an argument it will set the volume and return the current volume. When called without an argument it will simply return the current volume. As defined by the MPRIS specifications, this value should be greater than or equal to 0. 1 is the normal volume. Everything below is quieter than normal, everything above is louder.

Millibels can be converted to/from acceptable values using the following:

volume = pow(10, mB / 2000.0);
mB     = 2000.0 * log10(volume)
Params Type Description
1 (optional) double Volume to set
Return double Current volume
OpenUri (w)

Restart and open another URI for playing.

Params Type Description
1 string URI to play
Position (ro)

Returns the current position of the playing media.

Params Type Description
Return int64 Current position in microseconds
MinimumRate (ro)

Returns the minimum playback rate of the video.

Params Type
Return double
MaximumRate (ro)

Returns the maximum playback rate of the video.

Params Type
Return double
Rate (rw)

When called with an argument it will set the playing rate and return the current rate. When called without an argument it will simply return the current rate. Rate of 1.0 is the normal playing rate. A value of 2.0 corresponds to two times faster than normal rate, a value of 0.5 corresponds to two times slower than the normal rate.

Params Type Description
1 (optional) double Rate to set
Return double Current rate
Metadata (ro)

Returns track information: URI and length.

Params Type Description
Return dict Dictionnary entries with key:value pairs
Aspect (ro)

Returns the aspect ratio.

Params Type Description
Return double Aspect ratio
VideoStreamCount (ro)

Returns the number of video streams.

Params Type Description
Return int64 Number of video streams
ResWidth (ro)

Returns video width

Params Type Description
Return int64 Video width in px
ResHeight (ro)

Returns video width

Params Type Description
Return int64 Video height in px
Duration (ro)

Returns the total length of the playing media.

Params Type Description
Return int64 Total length in microseconds

omxplayer's People

Contributors

6by9 avatar agherzan avatar blakee avatar cleverca22 avatar eysispeisi avatar fabled avatar falaca avatar gonzoua avatar haarigerharald avatar hackedd avatar huceke avatar imheresamir avatar jamieguinan avatar jehutting avatar knight-of-ni avatar ktws avatar msmuenchen avatar net147 avatar popcornmix avatar rsalinas avatar ryatkins avatar skgsergio avatar springltd avatar stasik0 avatar stiebitzhofer avatar subogero avatar tdicola avatar torarin avatar vittgam avatar wnielson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

omxplayer's Issues

Latency when viewing live streams

There appears to be a bug with regards to the latency (delay) on live video streams.

Using (what I consider) minimal size input queues and output fifos, the delay is still at least 7 seconds. I can verify this by watching the clock on a local display verses the omxplayer streamed output.

omxplayer -s --video_fifo 0.25 --video_queue 0.5 --audio_fifo 0.5 --audio_queue 0.5 --threshold 0.5 udp://@192.168.1.128:5006

Any idea why? Latency of <0.5 seconds should be easily achievable with h.264.

The stream is 720p h.264 in a mpeg2 TS.

commands fifo

Hi,

I use omxplayer to run play videos on pis connected through RF modulators to my home's TV distribution.

I need a way to send commands to omxplayer, other than stdin. For example through a FIFO file. Normally, I use an asterisk (IVR) or an apache (web page) for pausing, seeking, etc. Using a FIFO for controlling omxplayer would allow us to integrate it in our world.

It would also be usefull if there was a command for omxplayer to report to its standard output the currently playing file, its lengtth and the current position in it.

Thanks.

DirectFB Layers and Windows in omxplayer

@popcornmix

I'm working on a slideshow app that uses DirectFB via pygame so I can get hardware accelerated surfaces under Raspbian. It is working well with omxplayer, but I can only seem to get my pygame surface to render beneath the omxplayer surface.

Are there any options/settings in omxplayer to configure how it uses DirectFB? Any chance you can point me in the right direction for configuring omxplayer to always render beneath my pygame surface?

I've tried a lot of variations in /etc/directfbrc (http://directfb.org/docs/directfbrc.5.html) and I see that DirectFB has a stacking mechanism (http://directfb.org/docs/DirectFB_Reference_1_4/IDirectFBWindow.html)

live RTP streams don't work

Live RTP streams do not start on the current version.

Prior versions they did start, but the video was corrupted.

Same RTP stream works fine on VLC or with omxplayer using udp instead.

Here is the details of the .sdp file I am using
v=0
o=- 653 1 IN IN4 192.168.1.81
s=VS streaming video
t=0 0
m=audio 8892 RTP/AVP 97
a=tool:DM81xx
a=recvonly
a=type:broadcast
c=IN IP4 192.168.1.128
a=rtpmap:97 mpeg4-generic/48000/2
a=fmtp:97 streamtype=5; profile-level-id=14; mode=AAC-hbr; config=0990; sizeLength=13; indexLength=3; indexDeltaLength=3; constantDuration=1024
m=video 5006 RTP/AVP 102
c=IN IP4 192.168.1.128
a=rtpmap:102 H264/90000
a=fmtp:102 packetization-mode=1
b=AS:200

problems with HD ts streams h264

With the newest version I cannot access my HD TV streams any more (ts container with H264 video and MP2 or AC3 audio, http stream). omxplayer just finshes after about 2 seconds with "have a nice day".

This worked before in all other versions. It always took a while to sync with the stream, in full HD up to 10 seconds.

I tested this with 2 server programs: mumudvb and dvbviewer.

SD streams work.

RTSP stream pause after some time

I have problems with RTSP internet streaming, when server is in local network everything is much better, after 6 hours delay is 4 second, the same time when is started.
In the case internet streaming, sometime after 1 minute, sometimes 1 hour, stream is going in pause state and after several minutes playback resume.
In pause time, stream is buffered and after resuming starts delayed for that time.
Same problem is with my internet and public low bitrate (about 500kbit/s) streams: rtsp://dw.edge.wowza.gl-systemhaus.de/liveedge/dw_w_tv-europa_l
Testing is done with latest version, with both default GPU memory and dedicated 128MB configurations.
In log there are lines :
04:32:23 T:173481658 DEBUG: Pause -1.61,-1.57 (1,1,0,0) 0.80
04:32:23 T:173481922 DEBUG: OMXClock::OMXSetSpeed(0.00) pause_resume:1
and after that many "DEBUG: Previous line repeats ... " lines.
This is part of log when event occurred:

04:32:21 T:170761398 DEBUG: Normal M:1139327967 (A:1140224000 V:1140441000) P:0 A:0.90 V:1.11/T:0.40 (0,0,1,1) A:0% V:0% (1.02,2.00)
04:32:21 T:170762400 DEBUG: Normal M:1139329020 (A:1140224000 V:1140441000) P:0 A:0.89 V:1.11/T:0.40 (0,0,1,1) A:0% V:0% (1.02,2.00)
04:32:21 T:170763153 INFO: CDVDPlayerVideo::Decode dts:1140318000 pts:1140318000 cur:1140318000, size:79
04:32:21 T:170764487 DEBUG: Normal M:1139331041 (A:1140224000 V:1140318000) P:0 A:0.89 V:0.99/T:0.40 (0,0,1,1) A:0% V:0% (1.02,2.00)
04:32:21 T:170768915 DEBUG: Normal M:1139335477 (A:1140224000 V:1140318000) P:0 A:0.89 V:0.98/T:0.40 (0,0,1,1) A:0% V:0% (1.28,2.00)
04:32:21 T:170769985 INFO: CDVDPlayerAudio::Decode dts:1140266667 pts:1140266667 size:323
04:32:21 T:170778709 INFO: CDVDPlayerAudio::Decode dts:1140309333 pts:1140309333 size:361
04:32:21 T:170787578 INFO: CDVDPlayerAudio::Decode dts:1140352000 pts:1140352000 size:350
04:32:21 T:170879056 INFO: CDVDPlayerVideo::Decode dts:1140359000 pts:1140359000 cur:1140359000, size:146
04:32:21 T:170880020 DEBUG: Normal M:1139445725 (A:1140352000 V:1140359000) P:0 A:0.91 V:0.91/T:0.40 (0,0,1,1) A:0% V:0% (1.28,2.00)
04:32:21 T:170881555 DEBUG: Normal M:1139448172 (A:1140352000 V:1140359000) P:0 A:0.90 V:0.91/T:0.40 (0,0,1,1) A:0% V:0% (1.28,2.00)
04:32:21 T:170882045 INFO: CDVDPlayerAudio::Decode dts:1140394667 pts:1140394667 size:347
04:32:21 T:170986624 INFO: CDVDPlayerVideo::Decode dts:1140402000 pts:1140402000 cur:1140402000, size:200
04:32:21 T:170988039 DEBUG: Normal M:1139553267 (A:1140394667 V:1140402000) P:0 A:0.84 V:0.85/T:0.40 (0,0,1,1) A:0% V:0% (1.02,2.00)
04:32:21 T:170989957 INFO: CDVDPlayerVideo::Decode dts:1140441000 pts:1140596000 cur:1140596000, size:2703
04:32:21 T:170991258 DEBUG: Normal M:1139557751 (A:1140394667 V:1140596000) P:0 A:0.84 V:1.04/T:0.40 (0,0,1,1) A:0% V:0% (1.02,2.00)
04:32:21 T:170992081 INFO: CDVDPlayerVideo::Decode dts:1140480000 pts:1140480000 cur:1140480000, size:298
04:32:21 T:170993703 DEBUG: Normal M:1139560202 (A:1140394667 V:1140480000) P:0 A:0.83 V:0.92/T:0.40 (0,0,1,1) A:0% V:0% (0.77,2.00)
04:32:21 T:171074788 INFO: CDVDPlayerAudio::Decode dts:1140437333 pts:1140437333 size:314
04:32:23 T:173479723 DEBUG: Normal M:1139642752 (A:1140394667 V:1140480000) P:0 A:0.75 V:0.84/T:0.40 (0,0,1,1) A:0% V:0% (0.26,2.00)
04:32:23 T:173481227 DEBUG: Normal M:1142047936 (A:1140437333 V:1140480000) P:0 A:-1.61 V:-1.57/T:0.40 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173481658 DEBUG: Pause -1.61,-1.57 (1,1,0,0) 0.80
04:32:23 T:173481922 DEBUG: OMXClock::OMXSetSpeed(0.00) pause_resume:1
04:32:23 T:173483210 INFO: CDVDPlayerVideo::Decode dts:1140518000 pts:1140518000 cur:1140518000, size:279
04:32:23 T:173484781 DEBUG: Normal M:1142049284 (A:1140437333 V:1140518000) P:1 A:-1.61 V:-1.53/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173485954 INFO: CDVDPlayerVideo::Decode dts:1140559000 pts:1140559000 cur:1140559000, size:339
04:32:23 T:173489851 DEBUG: Normal M:1142049284 (A:1140437333 V:1140559000) P:1 A:-1.61 V:-1.49/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173490953 INFO: CDVDPlayerVideo::Decode dts:1140596000 pts:1140760000 cur:1140760000, size:2986
04:32:23 T:173496084 DEBUG: Normal M:1142049284 (A:1140437333 V:1140760000) P:1 A:-1.61 V:-1.29/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173500731 DEBUG: Previous line repeats 2 times.
04:32:23 T:173500731 DEBUG: Normal M:1142049284 (A:1140437333 V:1140760000) P:1 A:-1.61 V:-1.29/T:0.80 (1,1,0,0) A:0% V:0% (0.26,2.00)
04:32:23 T:173501868 INFO: CDVDPlayerVideo::Decode dts:1140637000 pts:1140637000 cur:1140637000, size:379
04:32:23 T:173503962 INFO: CDVDPlayerAudio::Decode dts:1140480000 pts:1140480000 size:333
04:32:23 T:173509808 DEBUG: Normal M:1142049284 (A:1140480000 V:1140637000) P:1 A:-1.57 V:-1.41/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173510935 INFO: CDVDPlayerVideo::Decode dts:1140679000 pts:1140679000 cur:1140679000, size:339
04:32:23 T:173511804 DEBUG: Normal M:1142049284 (A:1140480000 V:1140679000) P:1 A:-1.57 V:-1.37/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173512784 INFO: CDVDPlayerVideo::Decode dts:1140718000 pts:1140718000 cur:1140718000, size:289
04:32:23 T:173514151 DEBUG: Normal M:1142049284 (A:1140480000 V:1140718000) P:1 A:-1.57 V:-1.33/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173520549 DEBUG: Normal M:1142049284 (A:1140480000 V:1140718000) P:1 A:-1.57 V:-1.33/T:0.80 (1,1,0,0) A:0% V:0% (0.26,2.00)
04:32:23 T:173522312 INFO: CDVDPlayerAudio::Decode dts:1140522667 pts:1140522667 size:350
04:32:23 T:173529524 DEBUG: Normal M:1142049284 (A:1140480000 V:1140718000) P:1 A:-1.57 V:-1.33/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173530684 DEBUG: Normal M:1142049284 (A:1140522667 V:1140718000) P:1 A:-1.53 V:-1.33/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173531874 INFO: CDVDPlayerVideo::Decode dts:1140760000 pts:1140799000 cur:1140799000, size:13807
04:32:23 T:173533150 DEBUG: Normal M:1142049284 (A:1140522667 V:1140799000) P:1 A:-1.53 V:-1.25/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173534090 INFO: CDVDPlayerVideo::Decode dts:1140799000 pts:1140960000 cur:1140960000, size:1351
04:32:23 T:173535692 DEBUG: Normal M:1142049284 (A:1140522667 V:1140960000) P:1 A:-1.53 V:-1.09/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173536921 INFO: CDVDPlayerVideo::Decode dts:1140837000 pts:1140837000 cur:1140837000, size:236
04:32:23 T:173539971 DEBUG: Normal M:1142049284 (A:1140522667 V:1140837000) P:1 A:-1.53 V:-1.21/T:0.80 (1,1,0,0) A:0% V:0% (0.26,2.00)
04:32:23 T:173541865 INFO: CDVDPlayerAudio::Decode dts:1140565333 pts:1140565333 size:324
04:32:23 T:173549525 DEBUG: Normal M:1142049284 (A:1140522667 V:1140837000) P:1 A:-1.53 V:-1.21/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173550730 DEBUG: Normal M:1142049284 (A:1140565333 V:1140837000) P:1 A:-1.48 V:-1.21/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)
04:32:23 T:173553343 DEBUG: Previous line repeats 2 times.
04:32:23 T:173553343 INFO: CDVDPlayerVideo::Decode dts:1140880000 pts:1140880000 cur:1140880000, size:283
04:32:23 T:173554764 DEBUG: Normal M:1142049284 (A:1140565333 V:1140880000) P:1 A:-1.48 V:-1.17/T:0.80 (1,1,0,0) A:0% V:0% (0.00,2.00)

Live UDP streams crash due to ffmpeg av_read_frame() returning -5 (i/o error)

This problem is easy to reproduce

Just start any UDP stream with a high bit rate (>8Mbps).

the crash usually happens withing 10 seconds of startup. The higher the stream bit rate the more likely it is to crash (end prematurely).

If you lower the bit rate the same stream no problems.

Tracing it the problem stems from the av_read_frame() call in OMXReader returning -5 (I/O error). I assume this means there was a circular buffer overflow (since underflow shouldn't occur on a blocking function). However, the error is unrecoverablable (all subsequent calls return the same error).

ACTION_SEEK_FORWARD_SMALL size

I have compiled your build with ACTION_SEEK_FORWARD_SMALL 1.0
but it still seeks in much bigger steps (5-10 seconds).

Did i miss something or do I have to adjust something else too?

Replace keyboard handling with socket API

Make omxplayer controlled through a socket interface.
This may be add-hock (e.g. read packet/write response), or using a http library (for GET/POST type calls).

The current keyboard handling code will be split into a separate thread (or even process) and will send commands to the socket.
There can be alternative control processes, using, e.g:
libCEC
LIRC
iPhone app

The messages supported would include:
play
get status (returns elapsed time, duration etc)
current keyboard operations (e.g. pause/resume/seek/volume/audio channel)

There are currently some GUI front-ends to omxplayer that could benefit from this.
It would make supporting services like airplay more straightforward.

Doesn't compile on pi

Some files appear to be missing when trying to compile omxplayer natively on a pi.

make terminates with this:

/usr//bin/g++ -mfloat-abi=hard -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -O3 -mstructure-size-boundary=32 -mno-sched-prolog -march=armv6zk -std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host -I/usr/include -I/usr/include/freetype2 -I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ -c OMXOverlayCodecText.cpp -o OMXOverlayCodecText.o -Wno-deprecated-declarations
In file included from OMXOverlayCodecText.cpp:25:0:
OMXStreamInfo.h:31:34: fatal error: libavcodec/avcodec.h: No such file or directory
compilation terminated.
make: *** [OMXOverlayCodecText.o] Error 1

Omxplayer ends early

Omxplayer always ends early (about 40-60%) when using certain streams as input.

mkfifo /tmp/stream
wget -O /tmp/stream [URL]
omxplayer -r /tmp/stream

Any idea?

Apparently torarin already fixed the ([issue 23 (https://github.com/huceke/pull/24))

I don't know the ties between the different omxplayer repo's, but has this commit been merged back into popcornmix/omxplayer/master yet?

150 times limit on movie rewind

I'm using simple movie control in python:

http://www.raspberrypi.org/phpBB3/viewtopic.php?p=372380#p372380

I need to rewind to the beginning of the movie maybe hundreds or thousands of times.

But when I get to the 150th time, omxplayer just stops displaying.

It doesn't matter if it takes 1 hour to get to the 150th time, or 3 hours. When it hits 150 the python script is still running fine, but omxplayer will no longer display anything.

I really need a way around this if anyone has ideas.

The movie I am using is a 19 second, 16MB on disk file.

The basic loop code below:

    c.send ('p') # play
    time.sleep(11) # wait movie time
    c.send ('p') # pause
    time.sleep(10) # wait

    c.send ('p') # play
    c.send ('i') # jumps to start of movie
    time.sleep(2.9) # wait
    c.send ('p') # pause

    time.sleep(5)

It works 150 times.

I also did this today and still have this issue every time:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get update && sudo apt-get -y dist-upgrade
sudo rpi-update
and rebooted

So everything is the latest.

As I said my python script continues to run fine even though omxplayer is no longer showing the movie.

So I Ctrl-C to stop the script. At which time omxplayer runs the movie a final time before quitting.

I made a log of the last test. It is very long because it took about an hour to hit the 150th time. So I will just post the last bit in case it shows something important.

Thank you for any help.

23:37:28 T:1686239116 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:37:28 T:1686249201 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:37:28 T:1686279762 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:37:28 T:1686324691 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:37:28 T:1686344422 DEBUG: COMXVideo::Open - decoder_component(0x0xf15d58), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:37:28 T:1686345270 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:37:52 T:1710696674 DEBUG: OMXReader::SeekTime - unknown position after seek
23:37:53 T:1710714767 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:37:53 T:1710715562 DEBUG: OMXThread::StopThread - Thread stopped
23:37:53 T:1710824626 DEBUG: DllAvUtilBase: Using libavutil system library
23:37:53 T:1710824890 DEBUG: DllAvCodec: Using libavcodec system library
23:37:53 T:1710825026 DEBUG: DllAvFormat: Using libavformat system library
23:37:53 T:1710825288 DEBUG: DllOMX: Using omx system library
23:37:53 T:1710830497 DEBUG: Previous line repeats 5 times.
23:37:53 T:1710830497 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:37:53 T:1710830911 DEBUG: DllOMX: Using omx system library
23:37:53 T:1710835299 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:37:53 T:1710835659 DEBUG: DllOMX: Using omx system library
23:37:53 T:1710841762 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:37:53 T:1710842053 DEBUG: DllOMX: Using omx system library
23:37:53 T:1710847658 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:37:53 T:1710858000 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:37:53 T:1710889159 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:37:53 T:1710934779 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:37:53 T:1710954357 DEBUG: COMXVideo::Open - decoder_component(0x0xb34a2010), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:37:53 T:1710955174 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:38:17 T:1735319399 DEBUG: OMXReader::SeekTime - unknown position after seek
23:38:17 T:1735355713 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:38:17 T:1735356539 DEBUG: OMXThread::StopThread - Thread stopped
23:38:17 T:1735466664 DEBUG: DllAvUtilBase: Using libavutil system library
23:38:17 T:1735466955 DEBUG: DllAvCodec: Using libavcodec system library
23:38:17 T:1735467420 DEBUG: DllAvFormat: Using libavformat system library
23:38:17 T:1735467919 DEBUG: DllOMX: Using omx system library
23:38:17 T:1735473018 DEBUG: Previous line repeats 5 times.
23:38:17 T:1735473018 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:38:17 T:1735473579 DEBUG: DllOMX: Using omx system library
23:38:17 T:1735477668 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:38:17 T:1735478037 DEBUG: DllOMX: Using omx system library
23:38:17 T:1735483684 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:38:17 T:1735483953 DEBUG: DllOMX: Using omx system library
23:38:17 T:1735489696 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:38:17 T:1735499737 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:38:17 T:1735530957 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:38:17 T:1735575414 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:38:17 T:1735594548 DEBUG: COMXVideo::Open - decoder_component(0x0xb3405e98), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:38:17 T:1735595291 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:38:42 T:1759941235 DEBUG: OMXReader::SeekTime - unknown position after seek
23:38:42 T:1759962735 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:38:42 T:1759963679 DEBUG: OMXThread::StopThread - Thread stopped
23:38:42 T:1760082356 DEBUG: DllAvUtilBase: Using libavutil system library
23:38:42 T:1760082780 DEBUG: DllAvCodec: Using libavcodec system library
23:38:42 T:1760082930 DEBUG: DllAvFormat: Using libavformat system library
23:38:42 T:1760083239 DEBUG: DllOMX: Using omx system library
23:38:42 T:1760088664 DEBUG: Previous line repeats 5 times.
23:38:42 T:1760088664 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:38:42 T:1760088982 DEBUG: DllOMX: Using omx system library
23:38:42 T:1760093236 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:38:42 T:1760093492 DEBUG: DllOMX: Using omx system library
23:38:42 T:1760099652 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:38:42 T:1760099940 DEBUG: DllOMX: Using omx system library
23:38:42 T:1760105219 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:38:42 T:1760115289 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:38:42 T:1760145847 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:38:42 T:1760190973 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:38:42 T:1760210182 DEBUG: COMXVideo::Open - decoder_component(0x0xb3405e98), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:38:42 T:1760211045 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:39:06 T:1784555115 DEBUG: OMXReader::SeekTime - unknown position after seek
23:39:06 T:1784567976 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:39:06 T:1784568838 DEBUG: OMXThread::StopThread - Thread stopped
23:39:06 T:1784686686 DEBUG: DllAvUtilBase: Using libavutil system library
23:39:06 T:1784687288 DEBUG: DllAvCodec: Using libavcodec system library
23:39:06 T:1784687755 DEBUG: DllAvFormat: Using libavformat system library
23:39:06 T:1784688059 DEBUG: DllOMX: Using omx system library
23:39:06 T:1784693354 DEBUG: Previous line repeats 5 times.
23:39:06 T:1784693354 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:39:06 T:1784693749 DEBUG: DllOMX: Using omx system library
23:39:06 T:1784698196 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:39:06 T:1784698491 DEBUG: DllOMX: Using omx system library
23:39:07 T:1784704035 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:39:07 T:1784704420 DEBUG: DllOMX: Using omx system library
23:39:07 T:1784710482 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:39:07 T:1784720419 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:39:07 T:1784751109 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:39:07 T:1784795672 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:39:07 T:1784815280 DEBUG: COMXVideo::Open - decoder_component(0x0xb3405e98), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:39:07 T:1784816052 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:39:31 T:1809178682 DEBUG: OMXReader::SeekTime - unknown position after seek
23:39:31 T:1809200339 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:39:31 T:1809201117 DEBUG: OMXThread::StopThread - Thread stopped
23:39:31 T:1809310738 DEBUG: DllAvUtilBase: Using libavutil system library
23:39:31 T:1809311944 DEBUG: DllAvCodec: Using libavcodec system library
23:39:31 T:1809312081 DEBUG: DllAvFormat: Using libavformat system library
23:39:31 T:1809312344 DEBUG: DllOMX: Using omx system library
23:39:31 T:1809317934 DEBUG: Previous line repeats 5 times.
23:39:31 T:1809317934 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:39:31 T:1809318436 DEBUG: DllOMX: Using omx system library
23:39:31 T:1809322414 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:39:31 T:1809322830 DEBUG: DllOMX: Using omx system library
23:39:31 T:1809328794 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:39:31 T:1809329080 DEBUG: DllOMX: Using omx system library
23:39:31 T:1809334437 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:39:31 T:1809345368 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:39:31 T:1809376284 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:39:31 T:1809421361 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:39:31 T:1809441258 DEBUG: COMXVideo::Open - decoder_component(0x0xb3405e98), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:39:31 T:1809441921 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:39:56 T:1833799911 DEBUG: OMXReader::SeekTime - unknown position after seek
23:39:56 T:1833821357 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:39:56 T:1833822207 DEBUG: OMXThread::StopThread - Thread stopped
23:39:56 T:1833940576 DEBUG: DllAvUtilBase: Using libavutil system library
23:39:56 T:1833940865 DEBUG: DllAvCodec: Using libavcodec system library
23:39:56 T:1833941186 DEBUG: DllAvFormat: Using libavformat system library
23:39:56 T:1833941460 DEBUG: DllOMX: Using omx system library
23:39:56 T:1833946934 DEBUG: Previous line repeats 5 times.
23:39:56 T:1833946934 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:39:56 T:1833947327 DEBUG: DllOMX: Using omx system library
23:39:56 T:1833951440 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:39:56 T:1833951699 DEBUG: DllOMX: Using omx system library
23:39:56 T:1833957630 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:39:56 T:1833958031 DEBUG: DllOMX: Using omx system library
23:39:56 T:1833963518 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:39:56 T:1833973461 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:39:56 T:1834008317 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:39:56 T:1834055453 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:39:56 T:1834074483 DEBUG: COMXVideo::Open - decoder_component(0x0xb3405e98), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:39:56 T:1834075522 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:40:20 T:1858424860 DEBUG: OMXReader::SeekTime - unknown position after seek
23:40:20 T:1858446740 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:40:20 T:1858447431 DEBUG: OMXThread::StopThread - Thread stopped
23:40:20 T:1858562238 DEBUG: DllAvUtilBase: Using libavutil system library
23:40:20 T:1858562513 DEBUG: DllAvCodec: Using libavcodec system library
23:40:20 T:1858562650 DEBUG: DllAvFormat: Using libavformat system library
23:40:20 T:1858562917 DEBUG: DllOMX: Using omx system library
23:40:20 T:1858568418 DEBUG: Previous line repeats 5 times.
23:40:20 T:1858568418 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:40:20 T:1858568830 DEBUG: DllOMX: Using omx system library
23:40:20 T:1858573180 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:40:20 T:1858573683 DEBUG: DllOMX: Using omx system library
23:40:20 T:1858579141 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:40:20 T:1858579507 DEBUG: DllOMX: Using omx system library
23:40:20 T:1858585169 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:40:20 T:1858595426 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:40:20 T:1858626283 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:40:20 T:1858671677 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:40:20 T:1858690666 DEBUG: COMXVideo::Open - decoder_component(0x0xb3405e98), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:40:20 T:1858691559 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:40:45 T:1883046192 DEBUG: OMXReader::SeekTime - unknown position after seek
23:40:45 T:1883062482 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:40:45 T:1883063346 DEBUG: OMXThread::StopThread - Thread stopped
23:40:45 T:1883171979 DEBUG: DllAvUtilBase: Using libavutil system library
23:40:45 T:1883173555 DEBUG: DllAvCodec: Using libavcodec system library
23:40:45 T:1883174048 DEBUG: DllAvFormat: Using libavformat system library
23:40:45 T:1883174825 DEBUG: DllOMX: Using omx system library
23:40:45 T:1883179696 DEBUG: Previous line repeats 5 times.
23:40:45 T:1883179696 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:40:45 T:1883180149 DEBUG: DllOMX: Using omx system library
23:40:45 T:1883184725 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:40:45 T:1883184996 DEBUG: DllOMX: Using omx system library
23:40:45 T:1883190346 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:40:45 T:1883190619 DEBUG: DllOMX: Using omx system library
23:40:45 T:1883195980 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:40:45 T:1883206016 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:40:45 T:1883236712 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:40:45 T:1883281809 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:40:45 T:1883300914 DEBUG: COMXVideo::Open - decoder_component(0x0xb3405e98), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:40:45 T:1883301906 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:41:09 T:1907668599 DEBUG: OMXReader::SeekTime - unknown position after seek
23:41:09 T:1907695658 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:41:09 T:1907696385 DEBUG: OMXThread::StopThread - Thread stopped
23:41:10 T:1907814381 DEBUG: DllAvUtilBase: Using libavutil system library
23:41:10 T:1907814763 DEBUG: DllAvCodec: Using libavcodec system library
23:41:10 T:1907814915 DEBUG: DllAvFormat: Using libavformat system library
23:41:10 T:1907815396 DEBUG: DllOMX: Using omx system library
23:41:10 T:1907820883 DEBUG: Previous line repeats 5 times.
23:41:10 T:1907820883 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:41:10 T:1907821303 DEBUG: DllOMX: Using omx system library
23:41:10 T:1907825343 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:41:10 T:1907825603 DEBUG: DllOMX: Using omx system library
23:41:10 T:1907831427 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:41:10 T:1907831716 DEBUG: DllOMX: Using omx system library
23:41:10 T:1907837152 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:41:10 T:1907847039 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:41:10 T:1907877638 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:41:10 T:1907922264 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:41:10 T:1907941646 DEBUG: COMXVideo::Open - decoder_component(0x0xb3405e98), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:41:10 T:1907942373 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:41:34 T:1932294123 DEBUG: OMXReader::SeekTime - unknown position after seek
23:41:34 T:1932323695 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:41:34 T:1932324408 DEBUG: OMXThread::StopThread - Thread stopped
23:41:34 T:1932447542 DEBUG: DllAvUtilBase: Using libavutil system library
23:41:34 T:1932447965 DEBUG: DllAvCodec: Using libavcodec system library
23:41:34 T:1932448136 DEBUG: DllAvFormat: Using libavformat system library
23:41:34 T:1932448500 DEBUG: DllOMX: Using omx system library
23:41:34 T:1932453967 DEBUG: Previous line repeats 5 times.
23:41:34 T:1932453967 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:41:34 T:1932454288 DEBUG: DllOMX: Using omx system library
23:41:34 T:1932458536 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:41:34 T:1932458816 DEBUG: DllOMX: Using omx system library
23:41:34 T:1932464520 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:41:34 T:1932464944 DEBUG: DllOMX: Using omx system library
23:41:34 T:1932470787 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:41:34 T:1932480791 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:41:34 T:1932514204 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:41:34 T:1932559209 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:41:34 T:1932578367 DEBUG: COMXVideo::Open - decoder_component(0x0xb3405e98), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:41:34 T:1932579346 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:41:59 T:1956917933 DEBUG: OMXReader::SeekTime - unknown position after seek
23:41:59 T:1956932156 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:41:59 T:1956932906 DEBUG: OMXThread::StopThread - Thread stopped
23:41:59 T:1957050841 DEBUG: DllAvUtilBase: Using libavutil system library
23:41:59 T:1957051112 DEBUG: DllAvCodec: Using libavcodec system library
23:41:59 T:1957051437 DEBUG: DllAvFormat: Using libavformat system library
23:41:59 T:1957051841 DEBUG: DllOMX: Using omx system library
23:41:59 T:1957056853 DEBUG: Previous line repeats 5 times.
23:41:59 T:1957056853 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:41:59 T:1957057227 DEBUG: DllOMX: Using omx system library
23:41:59 T:1957061688 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:41:59 T:1957062086 DEBUG: DllOMX: Using omx system library
23:41:59 T:1957067860 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:41:59 T:1957068225 DEBUG: DllOMX: Using omx system library
23:41:59 T:1957073476 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:41:59 T:1957083634 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:41:59 T:1957114412 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:41:59 T:1957159343 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:41:59 T:1957178515 DEBUG: COMXVideo::Open - decoder_component(0x0xebecd8), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:41:59 T:1957179733 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:42:23 T:1981536805 DEBUG: OMXReader::SeekTime - unknown position after seek
23:42:23 T:1981558846 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:42:23 T:1981559554 DEBUG: OMXThread::StopThread - Thread stopped
23:42:23 T:1981676300 DEBUG: DllAvUtilBase: Using libavutil system library
23:42:23 T:1981676783 DEBUG: DllAvCodec: Using libavcodec system library
23:42:23 T:1981677452 DEBUG: DllAvFormat: Using libavformat system library
23:42:23 T:1981677844 DEBUG: DllOMX: Using omx system library
23:42:23 T:1981682992 DEBUG: Previous line repeats 5 times.
23:42:23 T:1981682992 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
23:42:23 T:1981683384 DEBUG: DllOMX: Using omx system library
23:42:23 T:1981688057 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_render input port 90 output port 90
23:42:23 T:1981688457 DEBUG: DllOMX: Using omx system library
23:42:23 T:1981694118 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_scheduler input port 10 output port 11
23:42:23 T:1981694483 DEBUG: DllOMX: Using omx system library
23:42:24 T:1981700202 DEBUG: COMXCoreComponent::Initialize OMX.broadcom.text_scheduler input port 150 output port 151
23:42:24 T:1981710512 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)
23:42:24 T:1981740996 DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.text_scheduler) - port(150), nBufferCountMin(1), nBufferCountActual(100), nBufferSize(1024), nBufferAlignmen(16)
23:42:24 T:1981785516 DEBUG: COMXCoreComponent::AllocOutputBuffers component(OMX.broadcom.text_scheduler) - port(151), nBufferCountMin(1), nBufferCountActual(1), nBufferSize(1024) nBufferAlignmen(16)
23:42:24 T:1981804908 DEBUG: COMXVideo::Open - decoder_component(0x0xebecd8), input_port(0x82), output_port(0x83) deinterlace 0 hdmiclocksync 0
23:43:39 T:2057080295 DEBUG: OMXThread::Create - Thread with id -1306528672 started
23:43:58 T:2076459006 DEBUG: OMXThread::Run - Exited thread with id -1306528672
23:43:58 T:2076459752 DEBUG: OMXThread::StopThread - Thread stopped

Freeze after 'Move closer to OMXClock from XBMC'

Hello,

In my case, the version '4825f7d / ffmpeg: reenable parsers. They are requires for some files' is OK.

After introduce the modification of this version '320bf88 / Move closer to OMXClock from xbmc', the first image is displaying but freeze.

omxplayer.log (-g omx.log generate omxplayer.log ;) ) :

08:13:27 T:18446744073497102445 DEBUG: Normal M:0 (A:1927256 V:5438767) P:0 A:1.93 V:5.44/T:0.20 (0,0,1,1) A:11% V:98% (0.74,2.00)
08:13:27 T:18446744073497105739 DEBUG: Normal M:0 (A:1927256 V:5438767) P:0 A:1.93 V:5.44/T:0.20 (0,0,1,1) A:11% V:99% (0.74,2.00)
08:13:33 T:18446744073502770022 DEBUG: Previous line repeats 524 times.
08:13:33 T:18446744073502770022 DEBUG: OMXClock::OMXStop'

Repeat 524 times before i press q for quit.

THX

Omxplayer query

I have a .strm file which contains text udp://192.168.1.73:1234 as I am streaming a DVB stream to this address (IP address of my Raspberry Pi with Raspbmc)

I can successfully open the .strm file in XBMC in Raspbmc (using default player Omxplayer) by adding it to Videos section.

I can watch a Standard Definition DVB signal fine through XBMC Raspbmc on my Raspberry Pi.

However I cannot watch a High Definition stream, sometimes the stream starts then ends after 2-3 seconds.

Using the Operating System Raspbian I can use the command line prompt as follows to watch a HD stream successfully, my question is how do I get my .strm file to pass the relevant parameters to XBMC Omxplayer in Raspbmc ????

omxplayer -o hdmi -r 'udp://@:1234?overrun_nonfatal=1'

Thanks in advance

Support multi channel PCM audio

Would be nice to support multichannel PCM output over HDMI, for example when decoding 6 channel AAC.

Requires firmware support in audio_mixer to handle arbritrary mixing of up to 8 input channels to up to 8 output channels.

OMXPlayer randomly hangs

Got a project that I can't disclose much info about, unfortunately, however.....
We use omxplayer and Raspberry Pi as part of the project, and we play lots of videos, back-to-back (i.e. OMXPlayer quits, and our project starts a new one almost immediately).

However, from time to time (usually within an hour), OMXPlayer will hang.
We do have a custom kernel we use, which I can post the .config for later today and I plan to swap back to stock kernel if the issue recurs again today (I'm currently in the middle of doing live demos to prospective customers). Other than the custom kernel, we're up to date as far as the bootloader goes and all other packages (inc OMXPlayer - 0.3.0 installed to try and fix this issue).

Usually, the hang will occur at the end of the video. OMXPlayer doesn't quit, doesn't print any messages to the log.

We're invoking omxplayer as follows:
DISPLAY=:0 /usr/bin/omxplayer -o local --win "0 0 160 96" /content/file.mp4 </tmp/omxplayer

/tmp/omxplayer is a fifo that is created by my program.

Can anyone shed any light on the matter? Is there any more info you need?

Thanks for your help in advance.

Cheers,

Chris

MP3 containing album art doesn't exit after playback complete

Here's a sample file: http://db.tt/hDoOG5KT . omxplayer -i shows:
Duration: 00:02:05.98, start: 0.000000, bitrate: 192 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 192 kb/s
Stream #0:1: Video: mjpeg, yuvj444p, 400x400, 90k tbr, 90k tbn, 90k tbc

Playback shows:
Invalid framerate 90000, using forced 25fps and just trust timestamps
Video codec omx-mjpeg width 400 height 400 profile -99 fps 25.000000
Audio codec mp3 channels 2 samplerate 44100 bitspersample 16

If I press "p" to show the current position / duration on the osd, the position keeps increasing past the duration. I can seek into the future also.

I tried stripping the album art from the file using "ffmpeg -acodec copy -i hood.mp3 hoodnew.mp3", that file plays back properly as expected.

This is running on raspbian wheezy sd card image, apt-get updated and firmware-updated, compiled on-pi from master.

dbus-daemon is not killed after playback complete

Everything is in the title ;)
$ ps xaf
22126 ? Ss 0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
22192 ? Ss 0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session

etc...

In my case, omxplayer plays lots of file per day, and Pi hangs after one or two days, due to full memory use.

HTTP MPEG2TS

Hi,

I have update to 0.3 version and I'm unable to play HTTP MPEG2TS url,
you can find some log...

I think this can be linked to experimental Seeking support :

omxplayer --audio_fifo 8 -i --video_fifo 8 --threshold 120 -r --win '0 0 720 576' -d -y -p --vol -2100 -o hdmi 'http://172.16.18.37/stream/channel23'
[mpegts @ 0x1a4cd60] Could not find codec parameters for stream 0 (Video: mpeg2video ([2][0][0][0] / 0x0002)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x1a4cd60] Could not find codec parameters for stream 4 (Video: mpeg2video ([2][0][0][0] / 0x0002)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'http://172.16.18.37/stream/channel15':
  Duration: N/A, start: 33740.038822, bitrate: 416 kb/s
  Program 515 
    Metadata:
      service_name    : BFM TV
      service_provider: NTN
  Program 513 
    Metadata:
      service_name    : D8
      service_provider: NTN
  Program 516 
    Metadata:
      service_name    : i>TELE
      service_provider: NTN
  Program 517 
    Metadata:
      service_name    : D17
      service_provider: NTN
  Program 518 
    Metadata:
      service_name    : Gulli
      service_provider: NTN
  Program 519 
    Metadata:
      service_name    : France 4
      service_provider: NTN
  Program 7921 
    Metadata:
      service_name    : MCS
      service_provider: CJI
  Program 8526 
    Metadata:
      service_name    : EUROPE 1
      service_provider: CSAT
  Program 8527 
    Metadata:
      service_name    : RMC INFO
      service_provider: CSAT
  Program 8528 
    Metadata:
      service_name    : RTL
      service_provider: CSAT
  Program 8536 
    Metadata:
      service_name    : NRJ
      service_provider: CSAT
  Program 2053 
    Metadata:
      service_name    : BFM BUSINESS
      service_provider: Multi-7
    Stream #0:4[0xdc4]: Video: mpeg2video ([2][0][0][0] / 0x0002), 25 tbr, 90k tbn
    Stream #0:3[0xe3c](fra): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 224 kb/s
  Program 2050 
    Metadata:
      service_name    : Canal 31
      service_provider: Multi-7
  Program 2051 
    Metadata:
      service_name    : IDF1
      service_provider: Multi-7
  Program 2052 
    Metadata:
      service_name    : NRJ Paris
      service_provider: Multi-7
  No Program
    Stream #0:0[0x140]: Video: mpeg2video ([2][0][0][0] / 0x0002), 25 tbr, 90k tbn, 90k tbc
    Stream #0:1[0x14a](fra): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:2[0x159](fra): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
have a nice day ;)

omxplayer.log

15:11:45 T:18446744072403196230   DEBUG: DllBcm: Using omx system library
15:11:45 T:18446744072403200644   DEBUG: DllOMX: Using omx system library
15:11:45 T:18446744072403203849   DEBUG: Previous line repeats 1 times.
15:11:45 T:18446744072403203849   DEBUG: DllAvFormat: Using libavformat system library
15:11:45 T:18446744072403204153   DEBUG: DllAvUtilBase: Using libavutil system library
15:11:45 T:18446744072403204302   DEBUG: DllAvCodec: Using libavcodec system library
15:11:45 T:18446744072403204433   DEBUG: DllAvFormat: Using libavformat system library
15:11:45 T:18446744072403208013   DEBUG: COMXPlayer::OpenFile - avformat_open_input http://172.16.18.37/stream/channel15
15:11:46 T:18446744072404254585   DEBUG: COMXPlayer::OpenFile - avformat_open_input enabled SEEKING
15:11:51 T:18446744072409484248   DEBUG: COMXCoreComponent::Initialize : OMX.broadcom.clock handle 0x28ebb80 dllopen : 1
15:11:51 T:18446744072409491735   DEBUG: COMXCoreComponent::Initialize OMX.broadcom.clock input port 80 output port 81
15:11:51 T:18446744072409492725   DEBUG: DllAvUtilBase: Using libavutil system library
15:11:51 T:18446744072409492948   DEBUG: DllAvCodec: Using libavcodec system library
15:11:51 T:18446744072409493084   DEBUG: DllAvFormat: Using libavformat system library
15:11:51 T:18446744072409493278   DEBUG: DllOMX: Using omx system library
15:11:51 T:18446744072409493833   DEBUG: Previous line repeats 9 times.
15:11:51 T:18446744072409493833   DEBUG: OMXClock::OMXStop
15:11:51 T:18446744072409506533   DEBUG: COMXCoreComponent::Deinitialize : OMX.broadcom.clock handle 0x28ebb80 dllopen : 1

If I rollback to 0.2.7 this work again...

Don't hesitate if you need some details

Best,

Video Rotation

It doesn't appear that there is a way to rotate videos using omxplayer (unless I'm missing something). Is this something that is on the roadmap or that people are interested in?

Does anyone know how XBMC is doing video rotation in their Raspberry Pi distribution? The same set of video files will correctly rotate under XBMC versus not under omxplayer (although my understanding is that XBMC is using omxplayer?)

Display status information on overlay

It would be useful to display status information overlaid on video.

This would generally appears for a second or two after status changes.
E.g.
After seek: show current position in file
Volume change: show new volume
Pause/Resume: indicate new state
Audio channel change: show new audio channel
Adjust audio/video/sub delay offset: Show new offset
Info key: Show codec info, elapsed time, duration, etc.

This would use the overlay created by the subtitle code, and probably the API for displaying subtitles.

Playing FIFO files no longer works

When using livestreamer, omxplayer crashes immediately with this:

terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::substr
Aborted

This seems to happen when trying to play any FIFO file.

mkfifo play
cat movie.mkv > play & omxplayer play

Need ffmpeg parsers

omxplayer -i


---
[mpegts @ 0x1743c00] parser not found for codec mpeg2video, packets or times may be invalid.
[mpegts @ 0x1743c00] parser not found for codec aac, packets or times may be invalid.

---

No parsers cause miss probe audio format

Input #0, mpegts, from 'http://pygrec.kumama.org:7999/video/BS9_26344_1375380000_1375381800.ts':
  Duration: 00:30:13.44, start: 4826.590889, bitrate: 18685 kb/s
  Program 211
    Stream #0:0[0x140], 71, 1/90000: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 1001/60000, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x141], 96, 1/90000: Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp

"0 channels" is wrong and cause omxplayer abort.

Recompile ffmpeg with "--enable-parser=aac" play fine.

MP3 with broken CRC doesn't exit after playback complete

Not really the same issue than the #36's one... Not the same cause, but the same consequence.
All is in the title: mp3s with bad crc don't exit.
It used to work with fcfb791 version, but not with the last ( c99bc80 ) nor ( 600235f ).
Didn't tried others.

A file that works
http://www.zyxo.org/does_stop.mp3

[mp3 @ 0x12e0bb0] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'does_stop.mp3':
Duration: 00:06:15.91, start: 0.000000, bitrate: 127 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s

Same music, but with bad frames:
http://www.zyxo.org/does_not_stop.mp3

[mp3 @ 0xdc5ba0] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'does_not_stop.mp3':
Duration: 00:06:17.18, start: 0.000000, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s

Thank you
Jean-Guillaume

DBus, inspection failed

Hello,

My omxplayer version is ok with keyboard :)

But, i have installed dbus-inspector (http://people.debian.org/~erich/dbus-inspector.tgz)

First for testing, i'm launching startx ;(
and i'm testing with ./dbus-inspector >
org.mpris.MediaPlayer2.omxplayer (:1.27)(inspection failed)

"ERROR:dbus.proxies:Introspect error on :1.27:/: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply : Message did not receive a reply (timeout by message bus)"

identical with command line.

Little question : why don't used the DBus VLC module with adaptation ??

OR can you explain me how play with actually DBus / omxplayer ? !!

THX

Output video to specific X Display

Is it possible to make omxplayer output to a different X display? I tried using export DISPLAY=:1 but it doesn't seem to have any affect.

gen_version.sh: echo need -e to support \n

Line 28: echo "#define VERSION_H\n"

should be: echo -e "#define VERSION_H\n"

in order for the \n to become newline instead of literal '\n'
line 35 has the same problem.

Prososal:
Add -e swich to all echo command in gen_version.sh

Garbled audio after seek

I'm getting garbled, out-of-sync audio for 10-15 seconds after seeking. The problem appears rather consistently, for instance with http://www.digital-digest.com/movies/White_House_Down_1080p_Theatrical_Trailer_2.html. If I press the right arrow as it starts, I observe the problem as the characters say "- Did you get the job? - I think I got this job."

I've tried my own build and omxplayer_0.2.7git20130620746e730b_armhf.deb from http://omxplayer.sconde.net. My firmware version is d380dde43fe729f043befb5cf775f99e54586cde (clean) (release).

RTSP TCP Support

I'm trying to play RTSP TCP stream but without success, it seems Omxplayer support only RTSP UDP?

To add: I have error message "Invalid framerate 90000, using forced 25fps and just trust timestamps"
Other players, vlc, android.. works properly with this stream. Omxplayer works properly with RTSP UDP.

Clock drift - falling behind UDP broadcast

Omxplayer doesn't handle clock drift or clock timing differences playing a UDP stream. I play a UDP multicast stream for a very long time (a day or more) and observe that while initially it starts playing about 10 seconds behind 'live' (which is annoying latency) but it also falls farther and farther behind - after a day or so of playing the stream it is typically a minute or more behind 'live'. The code that looks like it is supposed to adjust clock to use up the excessive buffer isn't working.

How to compile?

Sorry didn't find an E-mail address so figured I would try reaching out through an Issue.

I'd like to do some work on omxplayer but I have to do say I don't know where to begin in terms of compiling it.

  1. Is it possible to compile it on amd64/i386 for usage amd64/i386 (not cross compiling) for testing? Is it expected to work correctly on these platforms? How to compile this way?

  2. For cross compiling, it seems that the makefile is pretty much setup for this. Should the cross compiler be installed following this guide? http://airwiki.ws.dei.polimi.it/index.php/Cross-compiling_for_the_RaspberryPi

Thanks for the guidance,
David-

Pixel soup

Hi,
I get, sometimes, (but always at the same times in the videos) a scrappy image with M2TS videos.
It happens only with the last build (22bacf4 - 15/07).
The builds from 69cd658 (18/06) to 2b110d9 (09/07) don't play this format.
The builds before 69cd658 work well (but significantly more jerky).

My test video is downloadable here:
http://www.demo-world.eu/trailers/high-definition-trailers.php
("New Zealand" (5 parts) from Toshiba).
Or here (my server):
http://www.zyxo.org/DEMO-toshiba_new_zealand.mp4

A photo of my screen with a working build (15 / 06 - d87aa60)
http://www.zyxo.org/omxplayer_0.2.7_15_06-d87aa60a.jpg

and the last build:
http://www.zyxo.org/omxplayer_0.3.0_15_07-22bacf4.jpg

Thanks !
Jean-Guillaume

AVFMT_FLAG_NONBLOCK in OMXREADER seems wrong.

OMXReader.cpp is using the
AVFMT_FLAG_NONBLOCK
flag for the avformat_read_frame() call into FFMPEG

However, the loop that calls this => keyboard processing main loop in omxplayer does not have any blocking, sleep, or poll/select elements in it.

Why does this use NONBLOCK? It would waste CPU time spinning in that loop when there is nothing in the packet buffer.

Am I missing something? Maybe there is a blocking element?

VideoCore(?) crash with more than eight windowed intsances on Raspberry Pi

Using a 512MB Raspberry Pi Model B with a 256MB GPU allocation and an HDMI-connected screen, I can easily run eight omxplayer instances, each using the --win parameter, pulling in a 320x240, 5-FPS, h264 RTSP stream, but launching the ninth, or sometimes the tenth, instance will invariably cause some kind of VideoCore lockup -- either the previous streams freeze, or the display goes black. If the ninth instance failed, then the rest of the Pi seems works fine, but I need to reboot it to do anything with the VideoCore. If the tenth instance fails, the whole Pi is inaccessible.

I'm up-to-date with the latest Pi firmware/software and have tried using prebuilt binaries from omxplayer.sconde.net and even cross-compiling the latest GitHub version (3e8d718).

I am aware that this could be a hardware limitation, but would have hoped for a setup-failure rather than lock-up/crash if that were the case.

Here is what's logged from the process before it crashes.

DEBUG: DllOMX: Using omx system library
DEBUG: Previous line repeats 1 times.
DEBUG: DllAvFormat: Using libavformat system library
DEBUG: DllAvUtilBase: Using libavutil system library
DEBUG: DllAvCodec: Using libavcodec system library
DEBUG: DllAvFormat: Using libavformat system library
DEBUG: COMXPlayer::OpenFile - avformat_open_input rtsp://server/stream
DEBUG: COMXPlayer::OpenFile - avformat_open_input enabled SEEKING
DEBUG: COMXCoreComponent::Initialize : OMX.broadcom.clock handle 0x1498760 dllopen : 1
DEBUG: COMXCoreComponent::Initialize OMX.broadcom.clock input port 80 output port 81
DEBUG: DllAvUtilBase: Using libavutil system library
DEBUG: DllAvCodec: Using libavcodec system library
DEBUG: DllAvFormat: Using libavformat system library
DEBUG: DllOMX: Using omx system library
DEBUG: Previous line repeats 9 times.
DEBUG: COMXCoreComponent::Initialize : OMX.broadcom.video_decode handle 0x14672b0 dllopen : 1
DEBUG: COMXCoreComponent::Initialize OMX.broadcom.video_decode input port 130 output port 131
DEBUG: COMXCoreComponent::AllocInputBuffers component(OMX.broadcom.video_decode) - port(130), nBufferCountMin(1), nBufferCountActual(60), nBufferSize(81920), nBufferAlignmen(16)

stdv 16:9 output

Hi,

I am trying to get 16:9 video playback on composite.
It seems that no matter what the sdtv_aspect is set to, omxplayer always assumes 4:3. I see that both console and X are properly scaled for 16:9 output, but omxplayer is always playing videos assuming 4:3.

Is there a way for omxplayer to output 16:9 videos on sdtv?

Thanks

dbus-connection.c issue

Hello
I get an error in loop while launching any media file
process 2705: arguments to dbus_connection_read_write_dispatch() were incorrect, assertion "connection != NULL" failed in file ../../dbus/dbus-connection.c line 3727.
This is normally a bug in some application using the D-Bus library.
(idem with line 4363)

The file is correctly played anyway, but no hot-key action is enabled.
$ omxplayer -v
omxplayer - Commandline multimedia player for the Raspberry Pi
Build date: Sun, 01 Sep 2013 14:07:59 +0200
Version : 5c886fa [master]

Thank you.

omxplayer --win not work

The parameter --win "x1 y1 x2 y2" for Set position of video window not work ... since the version "omxplayer_0.2.6git20130427fcfb7911_armhf.deb" it work

Thanks for your attention

Lag between video tracks

I'm using this wrapper: https://github.com/headrotor/vidplay
to trigger videos via arduino input for an art instillation. However, when I'm switching between tracks there's a couple second delay where no video is shown- just the command line. I really need there to be seamless video transition, any ideas?

How use DBus ? ;)

Hello,

I'm testing the version '754d4c2 : Add sleep to keyboard thread to avoid hammering cpu'

I launch my video :

omxplayer GoProHERO3.mp4
but no keyboard, just CTRL+C to exit

Have you an idea to play with omxplayer/dbus ?
I'm use only command line without X11 Display

Florent

Multiple (external) subtitles

How do I open a file with multiple (external) subtitle streams?
Tried different builds, but this is always the result:

omxplayer --subtitles 1.srt 2.srt test.mkv

Subtitle count: 2, state:  on, index: 1, delay: 0
have a nice day ;)

If I load a single subtitle, everything works. Apparently it discovered my two subtitle files, and closes immediately after that?

My log file:

13:44:33 T:18446744072231426888   DEBUG: DllBcm: Using omx system library
13:44:33 T:18446744072231432295   DEBUG: DllOMX: Using omx system library
13:44:33 T:18446744072231437561   DEBUG: Previous line repeats 1 times.
13:44:33 T:18446744072231437561   DEBUG: DllAvFormat: Using libavformat system library
13:44:33 T:18446744072231439376   DEBUG: DllAvUtilBase: Using libavutil system library
13:44:33 T:18446744072231440661   DEBUG: DllAvCodec: Using libavcodec system library
13:44:33 T:18446744072231441571   DEBUG: DllAvFormat: Using libavformat system library
13:44:33 T:18446744072231559119   DEBUG: COMXCoreComponent::Initialize : OMX.broadcom.clock handle 0x1b2a7d0 dllopen : 1
13:44:33 T:18446744072231566801   DEBUG: COMXCoreComponent::Initialize OMX.broadcom.clock input port 80 output port 81
13:44:33 T:18446744072231643744   DEBUG: OMXThread::Create - Thread with id -1289739168 started
13:44:33 T:18446744072231654808   DEBUG: OMXClock::OMXSetSpeed(0.00) pause_resume:1
13:44:33 T:18446744072231660684   DEBUG: COMXPlayer::HandleMessages - player started RESET
13:44:33 T:18446744072231661730  NOTICE: OMXClock using video as reference
13:44:34 T:18446744072231663204   DEBUG: Normal M:0 (A:0 V:0) P:1 A:0.00 V:0.00/T:0.20 (0,0,1,1) A:0% V:0% (0.00,0.00)
13:44:34 T:18446744072231664617   DEBUG: Resume 0.00,0.00 (0,0,1,1) EOF:0 PKT:(nil)
13:44:34 T:18446744072231665640   DEBUG: OMXClock::OMXSetSpeed(1.00) pause_resume:1
13:44:34 T:18446744072231669547   DEBUG: Normal M:0 (A:0 V:0) P:0 A:0.00 V:0.00/T:0.20 (0,0,1,1) A:0% V:0% (0.00,0.00)
13:44:35 T:18446744072233106991   DEBUG: Previous line repeats 1451 times.
13:44:35 T:18446744072233106991   DEBUG: OMXClock::OMXStop
13:44:35 T:18446744072233128496   DEBUG: OMXThread::Run - Exited thread with  id -1289739168
13:44:35 T:18446744072233131620   DEBUG: OMXThread::StopThread - Thread stopped
13:44:35 T:18446744072233145281   DEBUG: COMXCoreComponent::Deinitialize : OMX.broadcom.clock handle 0x1b2a7d0 dllopen : 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.