View Source ExMP4.Writer (MP4 Reader and Writer v0.1.0)

This module contains functions to write MP4.

Summary

Functions

Add a new track.

Create a new mp4 writer that writes to filesystem.

The same as new/1, but raises if it fails.

Write the mp4 header.

Write the trailer and close the stream.

Types

@type t() :: %ExMP4.Writer{
  ftyp_size: integer(),
  mdat_size: integer(),
  next_track_id: integer(),
  tracks: %{required(non_neg_integer()) => ExMP4.Track.t()},
  writer_mod: module(),
  writer_state: any()
}

Functions

Link to this function

add_track(writer, track)

View Source
@spec add_track(t(), ExMP4.Track.t()) :: {ExMP4.Track.id(), t()}

Add a new track.

A track is created by instantiating the public fields of ExMP4.Track except for id. The id is assigned by the writer.

@spec new(Path.t()) :: {:ok, t()} | {:error, reason :: any()}

Create a new mp4 writer that writes to filesystem.

@spec new!(Path.t()) :: t()

The same as new/1, but raises if it fails.

Link to this function

write_header(writer, opts \\ [])

View Source
@spec write_header(t(), Keyword.t()) :: t()

Write the mp4 header.

This function should be called first before adding tracks.

Link to this function

write_sample(writer, track_id, sample)

View Source
@spec write_sample(t(), ExMP4.Track.id(), ExMP4.Sample.t()) :: t()

Write a sample.

@spec write_trailer(t()) :: :ok

Write the trailer and close the stream.