Expand description
Decoders and encoders for FLV file format.
§Examples
use bytecodec::io::IoDecodeExt;
use flv_codec::{FileDecoder, Header, Tag};
// Reads FLV file content
let mut flv = &include_bytes!("../black_silent.flv")[..];
let mut decoder = FileDecoder::new();
// Decodes the first FLV tag
let tag = decoder.decode_exact(&mut flv).unwrap();
let header = decoder.header().cloned().unwrap();
assert_eq!(header, Header { has_audio: true, has_video: true });
assert_eq!(tag.timestamp().value(), 0);
assert_eq!(tag.stream_id().value(), 0);
match tag {
Tag::Audio(_) => println!("audio tag"),
Tag::Video(_) => println!("video tag"),
Tag::ScriptData(_) => println!("script data tag"),
}
// Decodes the second FLV tag
let tag = decoder.decode_exact(&mut flv).unwrap();
See examples/ directory for more examples.
§Reference
Structs§
- Audio
Tag - Audio tag.
- File
Decoder - FLV file decoder.
- File
Encoder - FLV file encoder.
- Header
- FLV header.
- Script
Data Tag - Script data tag.
- Stream
Id - Stream identifier.
- TagDecoder
- FLV tag decoder.
- TagEncoder
- FLV tag encoder.
- Time
Offset - 24-bits signed timestamp offset in milliseconds.
- Timestamp
- 32-bits signed timestamp in milliseconds.
- Video
Tag - Video tag.
Enums§
- AacPacket
Type - AAC packet type.
- AvcPacket
Type - AVC packet type.
- CodecId
- Video codec identifier.
- Frame
Type - Video frame type.
- Sound
Format - Audio format(codec) identifier.
- Sound
Rate - Audio sampling rate.
- Sound
Size - Size of each audio sample.
- Sound
Type - Mono or stereo sound.
- Tag
- FLV tag.
- TagKind
- Tag kind.