zillevdr / vdr-plugin-softhddevice-drm

drm fork
7 stars 6 forks source link

Copyright (c) 2011 - 2013 by Johns. All Rights Reserved. Copyright (c) 2018 - 2021 by zillevdr. All Rights Reserved.

License: AGPLv3

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

Install:

git clone https://github.com/zillevdr/vdr-plugin-softhddevice-drm.git
cd vdr-plugin-softhddevice-drm
For mmal (Raspberry Pi 2) set MMAL to 1 in Makefile.
make
make install

Requirement:

    No running X!

media-video/vdr (version >=2.2.x)
    Video Disk Recorder - turns a pc into a powerful set top box
    for DVB.
    http://www.tvdr.de/

media-video/ffmpeg
    MMAL (RaspberryPi)  version >=3.2
    v4l2-request (Rockchip, Allwinner)  WIP LE version

media-libs/alsa-lib
    Advanced Linux Sound Architecture Library
    http://www.alsa-project.org

TODO:

cleaning
testing
other devices
deinterlacing
passthrough

Setup: environment

ALSA_DEVICE=default
    alsa PCM device name
ALSA_PASSTHROUGH_DEVICE=
    alsa pass-though (AC-3,E-AC-3,DTS,...) device name
ALSA_MIXER=default
    alsa control device name
ALSA_MIXER_CHANNEL=PCM
    alsa control channel name

Setup: /etc/vdr/setup.conf

softhddevice.MakePrimary = 0
0 = no change, 1 make softhddevice primary at start

softhddevice.HideMainMenuEntry = 0
0 = show softhddevice main menu entry, 1 = hide entry

softhddevice.AudioDelay = 0
+n or -n ms
delay audio or delay video

softhddevice.AudioPassthrough = 0
0 = none, 1 = PCM, 2 = MPA, 4 = AC-3, 8 = EAC-3, -X disable

for PCM/AC-3/EAC-3 the pass-through device is used and the audio
stream is passed undecoded to the output device.
z.b. 12 = AC-3+EAC-3, 13 = PCM+AC-3+EAC-3
note: MPA/DTS/TrueHD/... aren't supported yet
negative values disable passthrough

softhddevice.AudioDownmix = 0
0 = none, 1 = downmix
Use ffmpeg downmix of AC-3/EAC-3 audio to stereo.

softhddevice.AudioSoftvol = 0
0 = off, use hardware volume control
1 = on, use software volume control

softhddevice.AudioNormalize = 0
0 = off, 1 = enable audio normalize

softhddevice.AudioMaxNormalize = 0
maximal volume factor/1000 of the normalize filter

softhddevice.AudioCompression = 0
0 = off, 1 = enable audio compression

softhddevice.AudioMaxCompression = 0
maximal volume factor/1000 of the compression filter

softhddevice.AudioStereoDescent = 0
reduce volume level (/1000) for stereo sources

softhddevice.AudioBufferTime = 0
0 = default (600 ms)
1 - 1000 = size of the buffer in ms

Commandline:

Use vdr -h to see the command line arguments supported by the plugin.

-a audio_device
-p device for pass-through
-c audio mixer channel name

SVDRP:

PLAY Url    Play the media from the given url.
Tested extension: *.mp3, *.mp4, *.m3u, *.m3u8

Play a local file:
svdrpsend plug softhddevice-drm PLAY /path_to_file/media_file.mp4

Play a playlist inside ConfigDirectory:
svdrpsend plug softhddevice-drm PLAY playlist_name.m3u

Play a media file from web:
svdrpsend plug softhddevice-drm PLAY http://www.media-server/path_to_file/media_file.mp4

Known Bugs:

PASSTHROUGH is broken

Optional: