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. |
| Header |
FLV header. |
| ScriptDataTag |
Script data tag. |
| StreamId |
Stream identifier. |
| TagDecoder |
FLV tag decoder. |
| 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. |