flaw-ffmpeg-0.1.0.0

LicenseMIT
Safe HaskellNone
LanguageHaskell2010

Flaw.Media.FFmpeg

Description

 
Synopsis

Documentation

ffmpegOpenInput :: Text -> IO (FFmpegAVFormatContext, IO ()) Source #

Open input AV format context.

ffmpegOpenOutput :: Text -> Text -> IO (FFmpegAVFormatContext, IO ()) Source #

Open output AV format context.

ffmpegSetContextOption :: FFmpegAVFormatContext -> Text -> Text -> IO () Source #

Set AV format context option.

ffmpegSetStreamOption :: FFmpegAVStream -> Text -> Text -> IO () Source #

Set AV stream option.

ffmpegSetVideoStreamOptions :: FFmpegAVStream -> FFmpegPixFmt -> Int -> Int -> IO () Source #

Set AV stream video codec options.

ffmpegNewPacket :: IO FFmpegAVPacket Source #

Create new empty packet.

ffmpegRefPacket :: FFmpegAVPacket -> IO FFmpegAVPacket Source #

Copy packet (but not data in it).

ffmpegGetPacketStreamIndex :: FFmpegAVPacket -> IO Int Source #

Get stream index of a packet.

ffmpegSetPacketStreamIndex :: FFmpegAVPacket -> Int -> IO () Source #

Set stream index of a packet.

ffmpegDemux :: FFmpegAVFormatContext -> Producer FFmpegAVPacket IO () Source #

Demux packets from input context.

ffmpegMux :: FFmpegAVFormatContext -> Producer FFmpegAVPacket IO () -> IO () Source #

Mux packets into output context.

ffmpegRescalePacketTime :: FFmpegAVStream -> FFmpegAVStream -> FFmpegAVPacket -> IO () Source #

Rescale timestamps of packet coming from one stream, to mux into another.

ffmpegNewFrame :: IO FFmpegAVFrame Source #

Create new empty frame.

ffmpegRefFrame :: FFmpegAVFrame -> IO FFmpegAVFrame Source #

Copy frame (but not data in it).

ffmpegSetFrameTime :: FFmpegAVFrame -> Int64 -> IO () Source #

Set frame presentation timestamp.

ffmpegDecode :: FFmpegAVStream -> Producer FFmpegAVPacket IO () -> Producer FFmpegAVFrame IO () Source #

Decode packet from single stream into frames.

ffmpegNewScaler :: Maybe FFmpegPixFmt -> Maybe Int -> Maybe Int -> IO (FFmpegAVFrame -> IO FFmpegAVFrame) Source #

Create video scaler/converter. Format, width and height arguments are all optional, missing argument means use value from source (don't change format or size).