[![Go Report Card](https://goreportcard.com/badge/github.com/alexballas/Go2TV)](https://goreportcard.com/report/github.com/alexballas/Go2TV) [![Release Version](https://img.shields.io/github/v/release/alexballas/Go2TV?label=Release)](https://github.com/alexballas/Go2TV/releases/latest) [![Tests](https://github.com/alexballas/go2tv/actions/workflows/go.yml/badge.svg?branch=devel)](https://github.com/alexballas/go2tv/actions/workflows/go.yml) [![Build for ARMv6 (32-bit)](https://github.com/alexballas/go2tv/actions/workflows/build-arm.yml/badge.svg?branch=devel)](https://github.com/alexballas/go2tv/actions/workflows/build-arm.yml) [![Build for ARMv8 (64-bit)](https://github.com/alexballas/go2tv/actions/workflows/build-arm64.yml/badge.svg?branch=devel)](https://github.com/alexballas/go2tv/actions/workflows/build-arm64.yml) [![Build for Android](https://github.com/alexballas/go2tv/actions/workflows/build-android.yml/badge.svg?branch=devel)](https://github.com/alexballas/go2tv/actions/workflows/build-android.yml) [![Build for Linux](https://github.com/alexballas/go2tv/actions/workflows/build-linux.yml/badge.svg?branch=devel)](https://github.com/alexballas/go2tv/actions/workflows/build-linux.yml) [![Build for MacOS Intel](https://github.com/alexballas/go2tv/actions/workflows/build-mac-intel.yml/badge.svg?branch=devel)](https://github.com/alexballas/go2tv/actions/workflows/build-mac-intel.yml) [![Build for MacOS Apple Silicon](https://github.com/alexballas/go2tv/actions/workflows/build-mac.yml/badge.svg?branch=devel)](https://github.com/alexballas/go2tv/actions/workflows/build-mac.yml) [![Build for Windows](https://github.com/alexballas/go2tv/actions/workflows/build-windows.yml/badge.svg?branch=devel)](https://github.com/alexballas/go2tv/actions/workflows/build-windows.yml)
Cast your media files to UPnP/DLNA Media Renderers and Smart TVs.
$ go2tv -h
Usage of go2tv:
-l List all available UPnP/DLNA Media Renderer models and URLs.
-s string
Local path to the subtitles file.
-t string
Cast to a specific UPnP/DLNA Media Renderer URL.
-tc
Use ffmpeg to transcode input video file.
-u string
HTTP URL to the media file. URL streaming does not support seek operations. (Triggers the CLI mode)
-v string
Local path to the video/audio file. (Triggers the CLI mode)
-version
Print version.
This is a GUI only limitation.
Build using Docker
Since the repo provides a Dockerfile, you can build a Go2TV Docker image and run it with just Docker installed (no build requirements and deps above needed). Also, no Git repo cloning is needed (Docker will do it behind the scenes). Just issue:
$ docker build --force-rm [--pull] -t go2tv github.com/alexballas/go2tv#main
Notice the branch name after the #
, as the above will build main
. You can also build devel
if you want to build the latest code. Usage under Docker is outside this document's scope, check Docker docs for more information, specially volume mounts and networking. x11docker might come handy to run GUI mode, although it's not tested, since main Docker usage is CLI.
Download the app here https://github.com/alexballas/Go2TV/releases/latest. A single executable. No installation or external dependencies.
Transcoding (ffmpeg required)
Go2TV supports live video transcoding, if ffmpeg is installed. When transcoding, SEEK operations are not available. Transcoding offers the maximum compatibility with the various file formats and devices. Only works with video files.
MKV/MP4 Subtitle Selection Support (ffmpeg required)
Go2TV also supports selecting subtitles for video files that have embedded subtitle tracks. This functionality requires ffmpeg to be installed. You can choose the desired subtitle track when casting your media files, enhancing your viewing experience on UPnP/DLNA Media Renderers and Smart TVs.
MacOS potential issues
If you get the "cannot be opened because the developer cannot be verified" error, you can apply the following workaround.
If you get the "go2tv is damaged and can't be opened. You should move it to the Bin." error you can apply the following workaround.
xattr -cr /path/to/go2tv.app
.Alexandros Ballas alex@ballas.org