All Projects → alfg → ffmpegd

alfg / ffmpegd

Licence: MIT license
FFmpeg websocket server for ffmpeg-commander.

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to ffmpegd

Video Transcoding Api
Agnostic API to transcode media assets across different cloud services.
Stars: ✭ 530 (+1332.43%)
Mutual labels:  encoding, multimedia
Snickers
🍫 An open source alternative to the video cloud encoding services.
Stars: ✭ 498 (+1245.95%)
Mutual labels:  encoding, multimedia
ffmpeg-commander
🛠️ FFmpeg Command Generator Web UI
Stars: ✭ 136 (+267.57%)
Mutual labels:  encoding, multimedia
Ffmpeg Video Player
An FFmpeg and SDL Tutorial.
Stars: ✭ 149 (+302.7%)
Mutual labels:  encoding, multimedia
BeFoR64
BeFoR64, Base64 encoding/decoding library for FoRtran poor men
Stars: ✭ 17 (-54.05%)
Mutual labels:  encoding
awesome-puredata
A list of Pure Data libraries, abstractions, projects and presentations
Stars: ✭ 36 (-2.7%)
Mutual labels:  multimedia
Notes
My notes are about everything related to programming.
Stars: ✭ 104 (+181.08%)
Mutual labels:  encoding
gbk2utf8
A flutter package to convert gbk to utf-8
Stars: ✭ 40 (+8.11%)
Mutual labels:  encoding
HumanRecognition
Person Recognition System on PIPA dataset
Stars: ✭ 28 (-24.32%)
Mutual labels:  multimedia
d3coder
Chrome extension for encoding/decoding and hashing text on websites
Stars: ✭ 26 (-29.73%)
Mutual labels:  encoding
hashids.pm
Hashids, ported for Perl
Stars: ✭ 15 (-59.46%)
Mutual labels:  encoding
gilfoyle
Distributed video encoding, hosting and streaming (WIP)
Stars: ✭ 73 (+97.3%)
Mutual labels:  encoding
transloadify
🤖☁️📽📦 Transloadit's cloud encoding in a box
Stars: ✭ 26 (-29.73%)
Mutual labels:  encoding
koa-xml-body
koa middleware to parse xml request body
Stars: ✭ 36 (-2.7%)
Mutual labels:  encoding
ImHex-Patterns
Hex patterns, include patterns and magic files for the use with the ImHex Hex Editor
Stars: ✭ 192 (+418.92%)
Mutual labels:  encoding
vorbis aotuv
"aoTuV" is library for encoding and decoding of OggVorbis
Stars: ✭ 35 (-5.41%)
Mutual labels:  encoding
per-title-analysis
Analysis provider for adapting your OTT bitrate ladder
Stars: ✭ 52 (+40.54%)
Mutual labels:  encoding
go-webp
Simple and fast webp library for golang
Stars: ✭ 91 (+145.95%)
Mutual labels:  encoding
smk
SMK - Simple multimedia kit - C++ WebAssembly
Stars: ✭ 89 (+140.54%)
Mutual labels:  multimedia
emacs-application-framework
EAF, an extensible framework that revolutionizes the graphical capabilities of Emacs
Stars: ✭ 2,454 (+6532.43%)
Mutual labels:  multimedia

ffmpegd

FFmpeg websocket server and API for FFmpeg Commander.

*Currently a work-in-progress! Bugs and breaking changes are expected.

GoDoc Go Report Card

Docker Pulls Docker Automated build

Go Docker Image Push goreleaser

How It Works

ffmpegd connects FFmpeg Commander to ffmpeg by providing a websocket server to send encode tasks and receive realtime progress updates back to the browser. This allows using ffmpeg-commander as a GUI for ffmpeg.

The goal is to provide a simple interface for sending FFmpeg tasks from the browser (and other supported clients in the future) to your local machine.

See Usage for more details.

          process              websocket
[ffmpeg] <-------> [ffmpegd] <-----------> [ffmpeg-commander]

Install

Go

$ go install github.com/alfg/ffmpegd@latest

Download

Release binaries for your platform at: https://github.com/alfg/ffmpegd/releases

Docker

A Docker image is available with alfg/ffmpeg build installed:

$ docker run -it -p 8080:8080 -v /tmp/:/home alfg/ffmpegd

Or via GitHub Container Registry:

$ docker run -it -p 8080:8080 -v /tmp/:/home ghcr.io/alfg/ffmpegd

Or using the docker-compose example:

$ docker-compose up ffmpegd

Homebrew

TBD

Usage

  • ffmpeg must be installed and available on your $PATH.
  • Run ffmpegd:
$ ffmpegd

This wil start the websocket server in your current working directory and wait for a connection.

Example

ffmpegd with a job in progress from ffmpeg-commander

$ ffmpegd

███████╗███████╗███╗   ███╗██████╗ ███████╗ ██████╗ ██████╗
██╔════╝██╔════╝████╗ ████║██╔══██╗██╔════╝██╔════╝ ██╔══██╗
█████╗  █████╗  ██╔████╔██║██████╔╝█████╗  ██║  ███╗██║  ██║
██╔══╝  ██╔══╝  ██║╚██╔╝██║██╔═══╝ ██╔══╝  ██║   ██║██║  ██║
██║     ██║     ██║ ╚═╝ ██║██║     ███████╗╚██████╔╝██████╔╝
╚═╝     ╚═╝     ╚═╝     ╚═╝╚═╝     ╚══════╝ ╚═════╝ ╚═════╝
                                                      v0.0.8

[ffmpegd] - websocket server for ffmpeg-commander.

  Checking FFmpeg version....4.3.1
  Checking FFprobe version...4.3.1

  Server started on port :8080.
  - Go to https://alfg.github.io/ffmpeg-commander to connect!
  - ffmpegd must be enabled in ffmpeg-commander options!

Encoding... 6111 / 17620 (34.68%) 3.37x @ 80.77

ffmpeg-commander

WebSocket Demo

See demo for a websocket client example.

Develop

go build -v
./ffmpegd

Tests

go test ./...

TODO

  • Logging levels and output

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].