/docker-vlc-win

VLC in a Windows container

Primary LanguageC#

VLC in a Windows container

Run the VLC on a Windows container host.

Build Status crawler

Configuration

Network

none

Volumes

none

Run the container

Command line

docker run -d dr1rrb/vlc-win

Docker compose

Suggested docker compose file (for a network camera recording)

About path escapping: the provided path are escapped once for YAML, a second time for the "CMD" generated by Docker, and third for VLC. So you have to put 4 \ to get single \ in the final path, and 16 \ to get a double for a network share / domain DFS (i.e. \\\\ => \ and \\\\\\\\\\\\\\\\ => \\).

version: '3.4'
services:
  locker:
    container_name: locker
    image: dr1rrb/vlc-win:2.2.8 # Use the specific version 2.2.8 as the ":run-time 300" is ignored on latest 3.0.7.1 and 3.0.6
    restart: unless-stopped
    ports:
      - 9001:8000
    security_opt: 
      - "credentialspec=file://torick_monitoring.json" # Network identity, cf. TIPS below
    hostname: monitoring_locker
    command: "rtsp://[username]:[password]@[camera01_hostname]:554/play1.sdp :sout=#file{dst=\\\\\\\\\\\\\\\\[network_share]\\\\Monitoring\\\\Camera01\\\\%Y-%m-%d-%H-%M.mp4,no-overwrite} :sout-all :no-sout-keep :run-time=300 --loop --sout-file-format --intf=http --http-password=**** --http-host=0.0.0.0 --http-port=8000"
  
  living:
    container_name: living
    image: dr1rrb/vlc-win:2.2.8
    restart: unless-stopped
    ports:
      - 9002:8000
    security_opt: 
      - "credentialspec=file://torick_monitoring.json"
    hostname: monitoring_living
    command: "rtsp://[username]:[password]@[camera02_hostname]:554/play1.sdp :sout=#file{dst=\\\\\\\\\\\\\\\\[network_share]\\\\Monitoring\\\\Camera02\\\\%Y-%m-%d-%H-%M.mp4,no-overwrite} :sout-all :no-sout-keep :run-time=300 --loop --sout-file-format --intf=http --http-password=**** --http-host=0.0.0.0 --http-port=8000"

TIPS: Running a Windows container on a AD joined host

Usually when running a Windows container, we need it to integrates with other servers and network infrastructure. If you have an active directory (AD), it's pretty easy to give a valid network identity to your container. You can find more info here and here.

Crawler

A crawler is running every day to check if a new release of VLC is avaible on here and automatically build a new docker image for it.

Here are the status of this crawler: crawler