All Projects → zergon321 → reisen

zergon321 / reisen

Licence: MIT license
A simple library to extract video and audio frames from media containers (based on libav).

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to reisen

Ffscreencast
ffscreencast - ffmpeg screencast/desktop-recording with video overlay and multi monitor support
Stars: ✭ 1,625 (+3863.41%)
Mutual labels:  ffmpeg, ffmpeg-wrapper
Androidwithkotlin
🚀 These are android sample projects which are written in Kotlin. It covers video streaming, mp3 player, sqlite, location services, custom camera, o-notifications, simple compass etc.
Stars: ✭ 447 (+990.24%)
Mutual labels:  sample, samples
Ffmpeg Video Player
An FFmpeg and SDL Tutorial.
Stars: ✭ 149 (+263.41%)
Mutual labels:  ffmpeg, decoding
Ffmpeg Libav Tutorial
FFmpeg libav tutorial - learn how media works from basic to transmuxing, transcoding and more
Stars: ✭ 7,074 (+17153.66%)
Mutual labels:  ffmpeg, libav
Golang Samples
Sample apps and code written for Google Cloud in the Go programming language.
Stars: ✭ 3,088 (+7431.71%)
Mutual labels:  sample, samples
Hls Trimming Frame Accuracy
JS Code that given a group of HLS chunks, a start timestamp, and end timestamp it creates one MP4 that contains the original V/A frame accuracy trimmed and perfectly aligned
Stars: ✭ 46 (+12.2%)
Mutual labels:  ffmpeg, frame
db2-samples
Db2 application code, configuration samples, and other examples
Stars: ✭ 56 (+36.59%)
Mutual labels:  sample, samples
Mpv
🎥 Command line video player
Stars: ✭ 17,018 (+41407.32%)
Mutual labels:  ffmpeg, libav
Nodejs Docs Samples
Node.js samples for Google Cloud Platform products.
Stars: ✭ 2,309 (+5531.71%)
Mutual labels:  sample, samples
Llvm 9.0 Learner Tutorial
A blog for LLVM(v9.0.0 or v11.0.0) beginner, step by step, with detailed documents and comments. Record the way I learn LLVM and accomplish a complete project for FPGA High-Level Synthesis with it.
Stars: ✭ 58 (+41.46%)
Mutual labels:  sample, samples
Ffmpeg Android Java
FFmpeg Android java is a java library that simplifies your task of using ffmpeg in Android project which I've compiled using FFmpeg-Android
Stars: ✭ 3,098 (+7456.1%)
Mutual labels:  ffmpeg, ffmpeg-wrapper
samplescope
Desktop app with the main goal to simplify audio samples search over the internet sources.
Stars: ✭ 23 (-43.9%)
Mutual labels:  sample, samples
eloquent-ffmpeg
High-level API for FFmpeg's Command Line Tools
Stars: ✭ 71 (+73.17%)
Mutual labels:  ffmpeg, ffmpeg-wrapper
Scrcpy
Display and control your Android device
Stars: ✭ 58,880 (+143509.76%)
Mutual labels:  ffmpeg, libav
ffmpeg-progressbar-cli
A colored progress bar for FFmpeg.
Stars: ✭ 140 (+241.46%)
Mutual labels:  ffmpeg, ffmpeg-wrapper
Rxjava2 Android Samples
RxJava 2 Android Examples - Migration From RxJava 1 to RxJava 2 - How to use RxJava 2 in Android
Stars: ✭ 4,950 (+11973.17%)
Mutual labels:  sample, samples
Examples wxWidgets
Shows how to use wxWidgets controls only by programming code (c++17).
Stars: ✭ 116 (+182.93%)
Mutual labels:  sample, samples
sendbird-javascript-samples
A guide of the installation and functions of Sendbird Chat, UIKit, and SyncManager for JavaScript samples.
Stars: ✭ 315 (+668.29%)
Mutual labels:  sample, samples
flamingo
FreeCAD - flamingo workbench
Stars: ✭ 30 (-26.83%)
Mutual labels:  frame
abap-odata-smoke-test
This ABAP Report performs simple smoke tests for activated ODATA services, providing basic automated testing for your ODATA endpoints.
Stars: ✭ 13 (-68.29%)
Mutual labels:  sample

Reisen GoDoc

A simple library to extract video and audio frames from media containers (based on libav, i.e. ffmpeg).

Dependencies

The library requires libav components to work:

  • libavformat
  • libavcodec
  • libavutil
  • libswresample
  • libswscale

For Arch-based Linux distributions:

sudo pacman -S ffmpeg

For Debian-based Linux distributions:

sudo apt install libswscale-dev libavcodec-dev libavformat-dev libswresample-dev libavutil-dev

For macOS:

brew install libav

For Windows see the detailed tutorial.

Installation

Just casually run this command:

go get github.com/zergon321/reisen

Usage

Any media file is composed of streams containing media data, e.g. audio, video and subtitles. The whole presentation data of the file is divided into packets. Each packet belongs to one of the streams and represents a single frame of its data. The process of decoding implies reading packets and decoding them into either video frames or audio frames.

The library provides read video frames as RGBA pictures. The audio samples are provided as raw byte slices in the format of AV_SAMPLE_FMT_DBL (i.e. 8 bytes per sample for one channel, the data type is float64). The channel layout is stereo (2 channels). The byte order is little-endian. The detailed scheme of the audio samples sequence is given below.

Audio sample structure

You are welcome to look at the examples to understand how to work with the library. Also please take a look at the detailed tutorial.

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