Установка omxplayer raspberry pi

Просмотр видео на Raspberry Pi

Установка

Для Raspberry Pi существует отличный консольный видео-проигрыватель — OMXPlayer. Устанавливается он следующей командой:

sudo apt-get install omxplayer -y

К сожалению, самим разработчиком он уже не поддерживается и более новая и продвинутая версия находится в fork-репозитории. Установка этой версии отличается, равно как и некоторые ключи. В любом случае сначала лучше изучить описание.

Использование с терминала

Использование предельно простое:

Также проигрыватель имеет много настроек, доступных через специальные ключи. С их полным списком можно ознакомиться здесь. Там же есть список клавиш для управления проигрывателем. К сожалению, документация актуальна для давно не обновляемой официальной версии. Например, меня интересовала возможность воспроизведения с повтором (repeat) и, как оказалось, она есть. Правда, перед началом каждого цикла на мгновение появляется терминал, а сразу после загрузки — титр с длительностью ролика. Последнее можно убрать, выставив размер шрифта для титров равным единице (ноль не катит). В итоге, полностью команда запуска выглядит так:

/video/video.mp4 —loop —font-size 1

Так же есть возможность «бесшовного» зацикливания проигрывателя через скрипты. Подробнее об этом можно почитать здесь и здесь.

Использование в LXDE

Если вам нравится графическая оболочка X Window, то это не повод отказываться от OMXPlayer! Для него есть несколько GUI, я остановился на tboplayer. Это python-скрипт, которому для работы ещё нужна библиотека Pexpect. С её установки и начнём:

wget http://pexpect.sourceforge.net/pexpect-2.3.tar.gz
tar xzf pexpect-2.3.tar.gz
cd pexpect-2.3
sudo python ./setup.py install

Теперь нужно вернуться в корневую папку и скачать сам tboplayer:

cd /
wget https://github.com/KenT2/tboplayer/tarball/master -O — | tar xz

После распаковки у появится папка KenT2-tboplayer-xxxx. Её необходимо переименовать в tboplayer. Теперь всё готово. Запускается tboplayer через LXTerminal следующей командой:

sudo python /tboplayer/tboplayer.py

Набирать её каждый раз — не самый удобный способ, поэтому разумнее будет сделать ярлык на рабочем столе. Для этого нужно создать на рабочем столе новый файл и вписать туда код для запуска (тот, что выше). Затем сохранить, нажать на нем правой кнопкой мышки, выбрать Properties и во вкладке Permissions поставить галочку у пункта Make the file executanle. Всё, теперь с OMXPlayer можно работать из LXDE, где гораздо удобнее создавать плейлисты или менять настройки.

Просмотр видео с Youtube

Это один из наиболее интересных способов использования OMXPlayer. Правда, для пущего удобства понадобится установить пару дополнительных приложений. Одно из них будет скачивать на Raspberry Pi видео с Youtube, а второе предоставит нам удобную оболочку для поиска и выбора роликов. Начнём с «качалки» youtube-dl. Тут есть один нюанс: установка через Advanced Packaging Tool возможна, но она происходит некорректно и при попытке обновления выводится ошибка /usr/bin/youtube-dl: line 1: Not: command not found. Оказывается проблема не единичная. Поэтому лучше сразу ставить «как надо» и так, как рекомендуют сами создатели:

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl

После этого сразу же нужно обновить программу (надо запустить дважды) и перезагрузить устройство:

sudo youtube-dl -U
sudo youtube-dl -U
sudo reboot

Следует понимать, что программа обновляется каждый раз, когда Youtube делает какие-то изменения в своём сервисе, так что, корректной работы, более-менее регулярно проверяйте обновления youtube-dl.

Далее потребуется установить python-setuptools:

sudo apt-get install python-setuptools -y

Теперь всё готово к установке yt — консольной оболочки, через которую мы и будем искать и запускать видео с Youtube. Правда, есть ещё один нюанс: автор достаточно давно не обновлял приложение, поэтому лучше установить его из fork-репозитория, где добавлена такая полезная возможность, как смена аудио-выхода.

git clone https://github.com/kamnxt/yt.git
cd yt
sudo python setup.py install

Собственно, всё. Запускаем и наслаждаемся:

Управление программой производится с клавиатуры. Раскладка кнопок такая:

  • s — поиск по названию ролика
  • квадратные скобки — переход по страницам
  • o — смена режима сортировки
  • 1-9 — быстрый выбор ролика по номеру от 1 до 9
  • v — выбор ролика по номеру. Необходим, если номер ролика больше 9
  • d — скачать видео
  • u — поиск пользователя на Youtube
  • a — изменить разъём, на который пойдёт звук (выбранный вариант отображается сверху на зелёном баре)
  • n — включить/выключить показ видео (выбранный вариант также отображается сверху)

Следует отметить, что yt отлично работает через SSH, хотя в интернете встречаются и обратные утверждения.

Кому-то может не понравится, что yt не показывает картинок, что, конечно, усложняет поиск нужного видео. Есть альтернативная и гораздо более удобная оболочка с превью и поддержкой джойстиков и геймпадов — raspytube. К сожалению, на одном из двух устройств, куда я её ставил, она работала крайне нестабильно. Вероятнее всего, был конфликт, так что лучше ставить это приложение на чистую систему.

Ставим приложение самым простым способом из описанных автором:

wget —no-check-certificate https://github.com/bbond007/raspytube/raw/master/install.sh -O — | sh

К сожалению, и в этом случае необходимый youtube-dl не установится правильно, так что надо установить его вручную, как описано выше. После этого raspytube готов к использованию. В качестве последнего штриха можно сделать короткую ссылку для запуска программы:

sudo ln -s /usr/local/bin/raspytube.bin /usr/local/bin/raspitube

Теперь приложение запускается командой

Управление осуществляется как мышкой, так и клавиатурой:

  • q — запустить в окне размером с четверть рабочего стола (в LXDE)
  • m — главное меню
  • s — поиск или редактирование результатов поиска
  • n — новый поиск
  • J (заглавная) — тестирование джойстика/геймпада
  • j (строчная) — выбрать устройство ввода
  • стрелки «вверх»/»вниз» — перемещение по списку видео
  • стрелки «влево»/»вправо» — переход на следующую/предыдущую страницу видео
  • ESC — закрыть проигрываемое видео или выйти из программы

К сожалению, и yt и raspytube с кириллицей не работают.

Использование с Android-устройств

Честно скажу, данный способ показался мне наиболее удобным. Помимо самого OMXPlayer`а, надо установить на телефон (или планшет) приложение Raspicast. При запуске оно связывается с «малинкой» по SSH. Далее в удобном файловом менеджере можно выбрать файл и начать его проигрывать. Так же работает перемотка и регулировка громкости аппаратными клавишами телефона. В меню можно выбрать аудиовыход. Кроме того, есть возможность просмотра видео с Youtube, хотя и замысловатая. Необходимо открыть на телефоне приложение Youtube, найти там нужный ролик, нажать кнопку Share и выбрать в списке Cast (Raspicast), после этого ролик автоматически запуститься на Raspberry Pi, а на телефоне откроется Raspicast. Специально пробовали одновременно использовать Raspicast на нескольких телефонах и одном Raspberry Pi. Всё прекрасно работает, только громкость периодически скачет (вероятно, из-за того, что на разных телефонах она была выставлена по-разному).

Кстати, Raspicast — единственный найденный мною способ просмотра роликов с Youtube с кириллицей в названиях.

Источник

Установка omxplayer raspberry pi

Copy raw contents

Copy raw contents

Note: omxplayer is being deprecated and resources are directed at improving vlc.

This is due to: omxplayer uses openvg for OSD and subtitles which isn’t supported on Pi4. omxplayer uses openmax which has been deprecated for a long time and isn’t supported with 64-bit kernels. omxplayer does not support software decode omxplayer does not support advanced subtitles omxplayer does not support playback from ISO files. omxplayer 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.

omxplayer(1) — Raspberry Pi command line OMX player

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.

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!

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

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.

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

Usage: omxplayer [OPTIONS] [FILE]

Key bindings to control omxplayer while playing:

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:

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

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.

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

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

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

Params Type
Return null
Params Type
Return null

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.

Whether or not the player can quit.

Params Type
Return boolean

Whether or not the player can is fullscreen.

Params Type
Return boolean

Whether or not the player can set fullscreen.

Params Type
Return boolean

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

Params Type
Return boolean

Whether or not the player has a track list.

Params Type
Return boolean

Name of the player.

Params Type
Return string

Playable URI formats.

Params Type
Return string[]

Supported mime types. Note: currently not implemented.

Params Type
Return string[]

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

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

Skip to the next chapter.

Params Type
Return null

Skip to the previous chapter.

Params Type
Return null

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 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

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

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

Params Type
Return null

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

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

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

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

Seeks the video playback layer.

Params Type Description
1 int64 Layer to switch to

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

Params Type
Return null

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

Params Type
Return null

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:

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[]

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:

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

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:

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

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

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

Turns on subtitles.

Params Type
Return null

Turns off subtitles.

Params Type
Return null

The current file or stream that is being played.

Params Type
Return string

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

Params Type Description
1 int32 Command to execute
Return null

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.

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

Params Type
Return boolean

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

Params Type
Return boolean

Whether or not the player can seek.

Params Type
Return boolean

Whether or not the player can be controlled.

Params Type
Return boolean

Whether or not the player can play.

Return type: boolean .

Whether or not the player can pause.

Params Type
Return boolean

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

Params Type
Return string

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:

Params Type Description
1 (optional) double Volume to set
Return double Current volume

Restart and open another URI for playing.

Params Type Description
1 string URI to play

Returns the current position of the playing media.

Params Type Description
Return int64 Current position in microseconds

Returns the minimum playback rate of the video.

Params Type
Return double

Returns the maximum playback rate of the video.

Params Type
Return double

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

Returns track information: URI and length.

Params Type Description
Return dict Dictionnary entries with key:value pairs

Returns the aspect ratio.

Params Type Description
Return double Aspect ratio

Returns the number of video streams.

Params Type Description
Return int64 Number of video streams

Returns video width

Params Type Description
Return int64 Video width in px

Returns video width

Params Type Description
Return int64 Video height in px

Returns the total length of the playing media.

Источник

Adblock
detector