Crate flv_codec[−][src]
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
AudioTag |
Audio tag. |
FileDecoder |
FLV file decoder. |
FileEncoder |
FLV file encoder. |
Header |
FLV header. |
ScriptDataTag |
Script data tag. |
StreamId |
Stream identifier. |
TagDecoder |
FLV tag decoder. |
TagEncoder |
FLV tag encoder. |
TimeOffset |
24-bits signed timestamp offset in milliseconds. |
Timestamp |
32-bits signed timestamp in milliseconds. |
VideoTag |
Video tag. |
Enums
AacPacketType |
AAC packet type. |
AvcPacketType |
AVC packet type. |
CodecId |
Video codec identifier. |
FrameType |
Video frame type. |
SoundFormat |
Audio format(codec) identifier. |
SoundRate |
Audio sampling rate. |
SoundSize |
Size of each audio sample. |
SoundType |
Mono or stereo sound. |
Tag |
FLV tag. |
TagKind |
Tag kind. |