All Projects → video-dev → Video Transcoding Api

video-dev / Video Transcoding Api

Licence: apache-2.0
Agnostic API to transcode media assets across different cloud services.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Video Transcoding Api

Snickers
🍫 An open source alternative to the video cloud encoding services.
Stars: ✭ 498 (-6.04%)
Mutual labels:  api, encoding, multimedia
Ffmpeg Video Player
An FFmpeg and SDL Tutorial.
Stars: ✭ 149 (-71.89%)
Mutual labels:  encoding, multimedia
ffmpegd
FFmpeg websocket server for ffmpeg-commander.
Stars: ✭ 37 (-93.02%)
Mutual labels:  encoding, multimedia
ffmpeg-commander
🛠️ FFmpeg Command Generator Web UI
Stars: ✭ 136 (-74.34%)
Mutual labels:  encoding, multimedia
Oas Kit
Convert Swagger 2.0 definitions to OpenAPI 3.0 and resolve/validate/lint
Stars: ✭ 516 (-2.64%)
Mutual labels:  api
Koop
🔮 Transform, query, and download geospatial data on the web.
Stars: ✭ 505 (-4.72%)
Mutual labels:  api
Redux Api
Flux REST API for redux infrastructure
Stars: ✭ 502 (-5.28%)
Mutual labels:  api
Zally
A minimalistic, simple-to-use API linter
Stars: ✭ 499 (-5.85%)
Mutual labels:  api
Miniprogram Demo
微信小程序组件 / API / 云开发示例
Stars: ✭ 5,207 (+882.45%)
Mutual labels:  api
Fuzzapi
Fuzzapi is a tool used for REST API pentesting and uses API_Fuzzer gem
Stars: ✭ 521 (-1.7%)
Mutual labels:  api
Beautifulrestapi
Beautiful REST API design with ASP.NET Core and Ion
Stars: ✭ 512 (-3.4%)
Mutual labels:  api
Acts as api
makes creating API responses in Rails easy and fun
Stars: ✭ 506 (-4.53%)
Mutual labels:  api
Yandex Php Library
PHP библиотека к API Яндекса
Stars: ✭ 517 (-2.45%)
Mutual labels:  api
Apisix
The Cloud-Native API Gateway
Stars: ✭ 7,920 (+1394.34%)
Mutual labels:  api
Turbopfor Integer Compression
Fastest Integer Compression
Stars: ✭ 520 (-1.89%)
Mutual labels:  encoding
Apiv2 Graphql Docs
AniList API V2 GraphQL Documentation
Stars: ✭ 501 (-5.47%)
Mutual labels:  api
Graphql Dotnet
GraphQL for .NET
Stars: ✭ 5,031 (+849.25%)
Mutual labels:  api
Twitchlib
C# Twitch Chat, Whisper, API and PubSub Library. Allows for chatting, whispering, stream event subscription and channel/account modification. Supports .NET Core 2.0
Stars: ✭ 519 (-2.08%)
Mutual labels:  api
Qor
QOR is a set of libraries written in Go that abstracts common features needed for business applications, CMSs, and E-commerce systems.
Stars: ✭ 4,905 (+825.47%)
Mutual labels:  api
Mediumship
📚 Read all Medium stories for free!
Stars: ✭ 513 (-3.21%)
Mutual labels:  api

video-transcoding-api logo

Video Transcoding API

Build Status Go Report Card Docker Pulls

The Video Transcoding API provides an agnostic API to transcode media assets across different cloud services. Currently, it supports the following providers:

Setting Up

With latest Go installed, make sure to export the follow environment variables:

Providers configuration

For Bitmovin

export BITMOVIN_API_KEY=your.api.key
export BITMOVIN_AWS_ACCESS_KEY_ID=your.access.key.id
export BITMOVIN_AWS_SECRET_ACCESS_KEY=your.secret.access.key
export BITMOVIN_AWS_STORAGE_REGION=your.s3.region.such.as.US_EAST_1.or.EU_WEST_1
export BITMOVIN_DESTINATION=s3://your-s3-bucket
export BITMOVIN_ENCODING_REGION=your.provider.region.such.as.AWS_US_EAST_1.or.GOOGLE_EUROPE_WEST_1
export BITMOVIN_ENCODING_VERSION=STABLE.or.BETA

For Elemental Conductor

export ELEMENTALCONDUCTOR_HOST=https://conductor-address.cloud.elementaltechnologies.com/
export ELEMENTALCONDUCTOR_USER_LOGIN=your.login
export ELEMENTALCONDUCTOR_API_KEY=your.api.key
export ELEMENTALCONDUCTOR_AUTH_EXPIRES=30
export ELEMENTALCONDUCTOR_AWS_ACCESS_KEY_ID=your.access.key.id
export ELEMENTALCONDUCTOR_AWS_SECRET_ACCESS_KEY=your.secret.access.key
export ELEMENTALCONDUCTOR_DESTINATION=s3://your-s3-bucket/

For Encoding.com

export ENCODINGCOM_USER_ID=your.user.id
export ENCODINGCOM_USER_KEY=your.user.key
export ENCODINGCOM_DESTINATION=http://access.key.id:[email protected]/
export ENCODINGCOM_REGION="us-east-1"

For Hybrik

export HYBRIK_URL=your.hybrik.api.endpoint.such.as.https://api_demo.hybrik.com/v1
export HYBRIK_COMPLIANCE_DATE=20170601
export HYBRIK_OAPI_KEY=your.hybrik.oapi.key
export HYBRIK_OAPI_SECRET=your.hybrik.oapi.secret
export HYBRIK_AUTH_KEY=your.hybrik.auth.key
export HYBRIK_AUTH_SECRET=your.hybrik.auth.secret
export HYBRIK_DESTINATION=s3://your-s3-bucket
export HYBRIK_PRESET_PATH=video-transcoding-api-presets

HYBRIK_PRESET_PATH is optional and defines the folder presets will be stored in. If not specified, it will default to 'video-transcoding-api-presets'.

For Zencoder

export ZENCODER_API_KEY=your.api.key
export ZENCODER_DESTINATION=http://access.key.id:[email protected]/

For MediaConvert

export MEDIACONVERT_AWS_ACCESS_KEY_ID=your.access.key.id
export MEDIACONVERT_AWS_SECRET_ACCESS_KEY=your.secret.access.key
export MEDIACONVERT_AWS_REGION="us-east-1"
export MEDIACONVERT_ENDPOINT=your.mediaconvert.endpoint
export MEDIACONVERT_QUEUE_ARN=your.queue.arn
export MEDIACONVERT_ROLE_ARN=your.iam.role.arn
export MEDIACONVERT_DESTINATION=s3://your-s3-bucket

Database configuration

In order to store preset maps and job statuses we need a Redis instance running. Learn how to setup and run a Redis here. With the Redis instance running, set its configuration variables:

export REDIS_ADDR=192.0.2.31
export REDIS_PASSWORD=p4ssw0rd.here

If you are running Redis in the same host of the API and on the default port (6379) the API will automatically find the instance and connect to it.

With all environment variables set and redis up and running, clone this repository and run:

$ git clone https://github.com/video-dev/video-transcoding-api.git
$ make run

Running tests

$ make test

Using the API

Check out on our Wiki how to use this API.

Contributing

  1. Fork it
  2. Create your feature branch: git checkout -b my-awesome-new-feature
  3. Commit your changes: git commit -m 'Add some awesome feature'
  4. Push to the branch: git push origin my-awesome-new-feature
  5. Submit a pull request

License

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].