Coder Social home page Coder Social logo

insin / remote_control_for_vlc Goto Github PK

View Code? Open in Web Editor NEW
77.0 6.0 20.0 6.26 MB

A VLC remote control written with Flutter

Home Page: https://play.google.com/store/apps/details?id=jbscript.vlcremote

Dart 99.90% Kotlin 0.10%
flutter-apps vlc remote-control

remote_control_for_vlc's Introduction

Remote Control for VLC

A VLC remote control written with Flutter.

Initial Setup Guides

The first time you start Remote Control for VLC, it will provide a guide to setting up VLC's web interface for remote control and will give you the option to try to discover the IP of the host VLC is running on automatically.

The app's guides for initial VLC configuration and finding your host IP if it can't be found automatically are also available here if you need to reference them on a computer:

Demo

Demo of Remote Control for VLC being used

Screenshots

Initial setup screens

Setup screen Choose OS for setup guide Setup guide Connected

Browsing for and playing media

Open media File browser Playlist Playlist Menu

Settings

Settings screen Host IP guide Equalizer Playback Speed

remote_control_for_vlc's People

Contributors

bishopt avatar insin avatar thisisbis 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

remote_control_for_vlc's Issues

Add a controls-only screen

Add a screen where the controls are the main content and make it adjust its layout appropriately when used in landscape - you should be able to flip between this and the playlist view.

Setup wizard(s)

  • Setup for VLC
    • Choose your OS
    • OS-specific instructions and screenshots
  • Connection setup
    • Scan network for port 8080 once VLC is configured #2

Equalizer

Status response item with equalizer disabled:

<equalizer/>

status.xml?command=enableeq?val=1 enables the equalizer, or 0 to disable it

Response with equalizer enabled:

<equalizer>
  <presets>
    <preset id="0">Flat</preset>
    <preset id="1">Classical</preset>
    <preset id="10">Party</preset>
    <preset id="11">Pop</preset>
    <preset id="12">Reggae</preset>
    <preset id="13">Rock</preset>
    <preset id="14">Ska</preset>
    <preset id="15">Soft</preset>
    <preset id="16">Soft rock</preset>
    <preset id="17">Techno</preset>
    <preset id="2">Club</preset>
    <preset id="3">Dance</preset>
    <preset id="4">Full bass</preset>
    <preset id="5">Full bass and treble</preset>
    <preset id="6">Full treble</preset>
    <preset id="7">Headphones</preset>
    <preset id="8">Large Hall</preset>
    <preset id="9">Live</preset>
  </presets>
  <bands>
    <band id="0">0</band>
    <band id="5">0</band>
    <band id="6">0</band>
    <band id="9">0</band>
    <band id="1">0</band>
    <band id="3">0</band>
    <band id="8">0</band>
    <band id="2">0</band>
    <band id="7">0</band>
    <band id="4">0</band>
  </bands>
  <preamp>12</preamp>
</equalizer>
  • status.xml?command=setpreset&val=${id} sets a preset
  • status.xml?command=preamp&val=${val} sets the preamp value (-20 dB to 20 dB in steps of 0.1)
  • status.xml?command=equalizer&band=${id}&val=${val} sets an eq band value (-20 dB to 20 dB in steps of 0.1)

Band ids (starting from 0) correspond to the following frequencies:

  • 60 Hz
  • 170 Hz
  • 310 Hz
  • 600 Hz
  • 1 KHz
  • 3 KHz
  • 6 KHz
  • 12 KHz
  • 14 KHz
  • 16 KHz

control speed playback

should give same fine control (increments of 0.1) just as pressing { and } on player,
most other apps don't allow for fine control, just x1.5
This would be great, thanks

control volume with phone volume keys

while watching something it's much more convenient and easy to control volume (for loud explosion scenes) using your phone keys than requiring to look at screen and carefully touch controls.

Subtitle support

  • Selecting a subtitle file for the currently playing media

Start browsing in same directory as current playing file.

?command=addsubtitle&val=<uri>
  • Selection of an available subtitle track.

Should be returned as part of the status listing - store in BrowseItem for later use.

?command=subtitle_track&val=<val>

Feature Request: dark mode

Please add the Dark Mode.

When watching a movie and controlling it with this app, normally the lights are off and the White mode here is much too bright.

Thank s
Frank

Add VLC volume control

set volume level to (can be absolute integer, percent or +/- relative value):

 ?command=volume&val=<val>
 Allowed values are of the form:
   +<int>, -<int>, <int> or <int>%

Grey screen after successful login

After updating to 1.10, the phone graphic comes up with the 'connecting' animation, and then immediately jumps to a blank grey screen. If I can hit the settings gear icon, it verifies connection, but when exiting back to the main screen, it is just blank grey. It appears that there is a problem with the 'display menu only on successful connection' conditional.

Add option to open network stream on VLC

Would be useful to start VLC playback for NAS files, youtube videos, etc...
This capability can potentially be expanded to play content from URLs shared via other applications.

Error when connecting VLC

Hello,
I just installed VLC Remote (1.4.2) on my Smartphone (Samsung A41 Android V11).
I have configured VLC (3.0.9.2) on my Linux PC (Mint 20.3) as indicated in the App.
I get this error when I try to connect to VLC (tested with ports 4212 and 8080):

Unhandled Error
Bad state: No element
#0 Iterable.first (dart:core/iterable.dart:520)
#1 VlcStatusResponse.state (package:vlc_remote/models.dart:273)
#2 _RemoteControlState._statusRequest. (package:vlc_remote/remote_control.dart:313)
#3 State.setState (package:flutter/src/widgets/framework.dart:1233)
#4 _RemoteControlState._statusRequest (package:vlc_remote/remote_control.dart:311)

Translated with www.DeepL.com/Translator (free version)

Volume control has no effect

App version 1.1.1 installed from Google Play.

The volume slider has no effect on VLC volume. The issue seems to come from a wrong command sent to VLC. Requested URI is: /requests/status.xml?command=volume&val=<float> when VLC wiki states:

 Allowed values are of the form:
   +<int>, -<int>, <int> or <int>% 

See the screenshot of wireshark capture:
vlc-remote-volume-control-float

Feature Request: Local URL Playlists

It would be a huge convenience to be able to save local playlists populated with urls for web content.

Some for loop with --enqueue for each item in the playlist, as vlc does not have functionality to do this remotely.

Also grab metadata and display for urls in playlist.

Bad state: No element error in VlcStatusResponse.state when a password hasn't been set for VLC's HTTP interface

When a password isn't set, VLC returns this for /requests/status.xml:

Password for Web interface has not been set.

Please use --http-password, or set a password in

Preferences > All > Main interfaces > Lua > Lua HTTP > Password.

This message is localised, so if the response isn't valid XML and contains --http-password we can prompt the user to enter a password and restart VLC, with a link to the guide docs if they need it.

JSON vs XML

I didn't realise the VLC HTTP API also supports JSON responses (just switch the extension from .xml to .json in request URLs) ๐Ÿคฆโ€โ™‚๏ธ - is there any performance benefit to switching from XML to JSON?

Being able to drop the xml dependency should also slightly reduce the size of the app.

iPhone version

There's no iPhone version as I don't have an Apple Developer account (I can't justify $99 USD per year to build hobbyist apps for a device I don't even own) - I'll happily have a go at building and publishing an iPhone version if somebody wants to sponsor the account cost.

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.