Skip to content

ccapitalK/simple-video

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple-Video

Opinionated D wrapper library for ffmpeg, that allows reading and writing image buffers to/from video files. Does not support seeking. Depends on https://code.dlang.org/packages/simple-image. Example Usage:

module simple_video.app;

import std.algorithm;
import std.exception;
import std.stdio;

import simple_image;
import simple_video;

// TODO: Rename this? Fix config
void main(string[] args) {
    enforce(args.length == 3);
    VideoReader reader;
    openVideoFile(&reader, args[1]);
    auto writer = initVideoWriter(new VideoWriterOpts(
        fps: reader.fps,
        bitrate: 700_000, // chosen for test file
        width: reader.width,
        height: reader.height,
        cpu_used: 0,
    ));
    openVideoFile(&writer, args[2]);
    writeln("Opened!");
    auto width = reader.width;
    auto height = reader.height;
    auto image = Image(width, height);
    while (image.readVideoFrame(&reader)) {
        image.writeVideoFrame(&writer);
        writeln("Wrote frame");
    }
    close(&reader);
    // Remember to close writer to finish writing, otherwise trailer may not be written
    close(&writer);
    writeln("Finished!");
}

About

Opinionated D ffmpeg wrapper library, with simplified API

Resources

License

Stars

Watchers

Forks

Packages

No packages published