A VLC remote control written with Flutter

Overview

VLC Remote

A VLC remote control written with Flutter.

Initial Setup Guides

The first time you start VLC Remote, 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:

VLC Remote Configuration Guides

Demo

Demo of VLC Remote 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
Comments
  • Grey screen after successful login

    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.

    bug 
    opened by schwartzenheimer 7
  • Add VLC volume control

    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>%
    
    enhancement 
    opened by insin 4
  • Volume control has no effect

    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

    bug 
    opened by BishopT 3
  • control speed playback

    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

    enhancement 
    opened by frnandu 2
  • Show password (eye icon). Nonintuitive functionality.

    Show password (eye icon). Nonintuitive functionality.

    It shows the password when you hold the touch on the icon. It would be more convenient that the icon switches the password visibility. So it would be easier to enter a password.

    enhancement help wanted good first issue 
    opened by JohnGurin 2
  • Implement commands for use when watching VLC on your computer

    Implement commands for use when watching VLC on your computer

    As requested in this review: https://play.google.com/store/apps/details?id=jbscript.vlcremote&reviewId=gp%3AAOqpTOH-PaOHgwWZD7xKvOmYhQ-raQcJ9H-wSZj___3DSDDesPi6GZlq8PQZnEoTCrvwSxWCLpINCUcTTmoGBA

    Fullscreen is definitely possible: https://wiki.videolan.org/VLC_HTTP_requests#Full_command_list

    enhancement 
    opened by insin 1
  • Subtitle support

    Subtitle support

    • [ ] Selecting a subtitle file for the currently playing media

    Start browsing in same directory as current playing file.

    ?command=addsubtitle&val=<uri>
    
    • [x] 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>
    
    enhancement 
    opened by insin 1
  • Can't set different connection at

    Can't set different connection at "Trying to connect to VLC.." in v1.4.1

    In the new version it's now impossible to change the connection to a different IP address (no button), when the app is unsuccessfuly trying to connect to a previously set connection:

    vlcremote 1.4.1
    opened by warmshadow 0
  • Equalizer

    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
    enhancement 
    opened by insin 0
  • Add option to open network stream on VLC

    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.

    enhancement 
    opened by ThisIsBis 0
  • Scan the network for available computers

    Scan the network for available computers

    Allow computers on the same network to be selected instead of manually entering an IP address

    Hooking up native code: https://flutter.io/docs/development/platform-integration/platform-channels

    Native code for getting a list of peers: https://www.developerlibs.com/2017/03/at-top-speed-share-files-with-wi-fi.html

    enhancement 
    opened by insin 0
  • Error when connecting VLC

    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)

    opened by Zardozof 0
  • Feature Request: dark mode

    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

    opened by francwalter 0
  • Add a controls-only screen

    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.

    enhancement 
    opened by insin 0
  • Bad state: No element error in VlcStatusResponse.state when a password hasn't been set for VLC's HTTP interface

    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.

    bug 
    opened by insin 0
Releases(v1.4.2)
  • v1.4.2(Jul 23, 2020)

  • v1.4.1(Jul 22, 2020)

    Fixed:

    • Fix being able to put the playback rate below 0.25 and above 4.0 using the button controls
    • Fix selection of subtitle and audio tracks when VLC is using a non-English language
    • Subtitle and audio tracks are now be available for selection regardless of which metadata is available to describe them
    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Jul 19, 2020)

    Added:

    • Equalizer
    • Playback Speed control
    • Take Snapshot menu item
    • Scrollbar in playlist and file browser

    Changed:

    • Moved Settings to the menu
    • Moved Repeat and Loop from the menu to the main playback controls
    • Open Media is now a playlist floating action button
    • Stop is now a long press on the play button
    • Toggling mute now counts as interacting with volume controls

    Fixed:

    • Background image-related crash if VLC is already playing audio on start
    Source code(tar.gz)
    Source code(zip)
  • v1.3.2(May 12, 2020)

    Added:

    • Added a guide to finding your Host IP on the settings screen

    Changed:

    • Moved Port to the bottom of the VLC connection settings and added help text to indicate it's for advanced use (it can only be set by starting VLC via the command-line) and most users shouldn't need to change it
    Source code(tar.gz)
    Source code(zip)
  • v1.3.1(May 12, 2020)

  • v1.3.0(May 11, 2020)

    Added:

    • Add VLC setup guide
    • Add automatic scanning of network for VLC host
    • Add playing/enqueueing URLs
    • Add background cover art from audio files (and a setting for it)

    Changed:

    • Animate Play/Pause button
    • Increase seek time of fast forward/back to 10 seconds
    • Display artist for current item when available
    • Ignore duplicate playlist responses

    Fixed:

    • Fix render error if the 1st playlist request completes before the 1st status request
    • Fix handling of negative lengths from VLC
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(May 7, 2020)

    Summary:

    • Upgraded to Flutter 1.17, should be smaller, faster use less memory
    • Fixed crash caused by VLC sending out-of-range volumes
    • Fixed display of non-ASCII characters
    • Durations are now displayed in the playlist
    • Volume controls are hidden by default
    • Muting volume is now a long-press on the new volume icon
    • Long-pressing in the file browser allows you to enqueue items
    • Directories can now be played and enqueued by long-pressing
    • Added a (None) subtitle option to disable subtitles

    Full release notes:

    https://jbscript.dev/vlc-remote-v120-release-notes/

    Source code(tar.gz)
    Source code(zip)
  • v1.1.3(May 4, 2020)

    • Fixed crash caused by volume somehow being set to null
    • Fixed crash using the rewind/fast forward buttons - VLC lets you make playback time go negative/over length
    • Fixed flashes of play/paused/stop states when starting and stopping playback
    • Limit the number of volume change calls made to VLC while moving the volume slider
    $ flutter build appbundle --no-shrink
    
    Source code(tar.gz)
    Source code(zip)
  • v1.1.2(May 2, 2020)

    • Added top-level error handling to try to diagnose grey screen errors some users are getting

    If you get an "Unhandled Error" dialog please tap "COPY ERROR DETAILS" and post error messages to https://github.com/insin/vlc_remote/issues/new

    • Fixed resuming playback by tapping the current paused playlist item
    • Changed buttons from No/Yes to CANCEL/REMOVE when removing a playlist item, per Material guidelines
    • Changed volume updates to round to the nearest integer
    Source code(tar.gz)
    Source code(zip)
  • v1.1.1(Mar 23, 2020)

  • v1.1.0(Mar 9, 2020)

    Thanks to Biswajit Bhuyan for implementing the majority of this release in https://github.com/insin/vlc_remote/pull/10 ❤️

    Added

    • Added volume controller
    • Added playlist remote control capabilities
    • Added looping control
    • Added VLC server version to header
    • Added more granular file seeking
    • Added a launch icon

    Fixed

    • Fixed broken popup menus when tracks are missing languages
    • Fixed lowercase files appearing at the end when browsing files

    Changed

    • Viewing the VLC password is now a tap instead of a long press
    • Make controls visible only on successful connection
    • Audio/subtitle options now include the description when available
    Source code(tar.gz)
    Source code(zip)
Owner
Jonny Buchanan
Programmer/web developer from Northern Ireland living in Australia, making things with JavaScript and Flutter
Jonny Buchanan
MPV Remote: Remote control for MPV over SSH

MPV Remote Remote control for MPV over SSH. Big work-in-progress. Screenshots

Sam Lakerveld 1 Jun 2, 2022
App to control your health activities like calorie, water, medicine consumption, sleeping and weight control.

Handy Configuration for yourself This project contains google-services.json file of my own. You can connect your own firebase project using the follow

KanZa Studio 104 Jan 3, 2023
Flutter remote controller for Samsung TV

Flutter remote controller for Smart TVs models (2016 and up) A dart implementation for samsungtv by Christian Bromann Inspired from Universal Remote Y

Amr Elshamy 62 Dec 11, 2022
Rv-app - Flutter Remote Viewing Assistant App

Flutter Remote Viewing Assistant App screenshots web version https://rv-assistan

Amir 1 Dec 1, 2022
Remote Flutter/Dart Compiler for CloudRun and Docker

flutter_remote_compiler Running the Application Locally Run aqueduct serve from this directory to run the application. For running within an IDE, run

Rody Davis 32 Dec 12, 2022
Listen to remote Flutter GTK application instances' command-line arguments and file open requests.

gtk_application This package allows the primary Flutter GTK application instance to listen to remote application instances' command-line arguments and

null 12 Dec 15, 2022
Dart package to retrieve Transmission data from remote instance

transmission Dart package to talk to a Transmission torrent instance, for a flutter package including UI widget please check transmission Getting Star

L.I.S.A. 6 Nov 6, 2022
Presentation-Remote-PC - Manage your presentation from your smart phone - Phone Client

Presentation-Remote-PC Manage your presentation from your smart phone - Phone Cl

Hasan Ragab Eltantawy 1 Jan 25, 2022
SSH no ports provides ssh to a remote Linux device with out that device having any ports open

Ssh! No ports ssh no ports provides a way to ssh to a remote linux host/device without that device having any open ports (not even 22) on external int

The Atsign Foundation 224 Dec 21, 2022
A Flutter Plugin for Volume Control and Monitoring, support iOS and Android

flutter_volume A flutter plugin for volume control and monitoring, support iOS and Android 手把手带你写 Flutter 系统音量插件 https://www.yuque.com/befovy/share/fl

befovy 35 Dec 9, 2022
A new Flutter widget that add support for AndroidTV app. Using keyboard to control focus node.

flutter_tv_autofocus A new Flutter widget that add support for AndroidTV app. Using keyboard to control focus node. Getting Started Wrap your flutter

SUPERMONKEY 28 Aug 18, 2022
Flutter Control is complex library to maintain App and State management. Library merges multiple functionality under one hood. This approach helps to tidily bound separated logic into complex solution.

Flutter Control is complex library to maintain App and State management. Library merges multiple functionality under one hood. This approach helps to

Roman Hornak 23 Feb 23, 2022
Flutter control system widgets, like on-off controller.

control_system Flutter control system widgets, like on-off controller. Introduction A control system manages, commands, directs, or regulates the beha

Amirreza Madani 0 Jan 9, 2022
A new Flutter project for PC to control mobiles by adb tool.

mobile_controller A new Flutter project for PC to control mobiles by adb tool. Develop in progress, not release yet... Features Provide computer contr

Hulk Su 5 Nov 15, 2022
A PC client to control mobiles by adb tools in Flutter.

mobile_controller A new Flutter project for PC to control mobiles by adb tool. Develop in progress, not release yet... Features Provide computer contr

Flukit 5 Nov 15, 2022
Control your flutter application on zeplin

Zeplin_Flutter Control your flutter application on zeplin. ?? Usage var zeplinData = ZeplinFlutter.fetchFromZeplin(token: @token,projectId: @projectId

Abdussamet Inanç 2 May 10, 2022
A control pad with a virtual joystick and buttons.

control_pad A virtual pad with joystick controller and configurable buttons. Features Joystick controller Pad's buttons Configurable events interval C

Artur Rymarz 39 Dec 7, 2022
Control your week, days, hours, and even minutes. ⏳

Info An advanced, minimalist, and powerful time management application. Where you can create the task, give it a duration, and select which weekdays y

Ismael Shakverdiev 86 Dec 18, 2022
Agendaulas-autoescola - A simple control app for theoretical driving lessons in Brazil

AgendAulas - Agenda de Aulas da AutoEscola Um aplicativo simples de controle par

Nathanael Ferreira 0 Dec 29, 2021