FLVMeta - FLV Metadata Editor
About
flvmeta is a command-line utility aimed at manipulating Adobe(tm) Flash Video files (FLV).
A complete Changelog can be found on Github.
Features
Metadata injection
It has the ability to compute and inject a variety of values in the onMetaData event tag, including keyframe indices used by most video players to allow random-access seeking, notably for HTTP pseudo-streamed files via a server-side module, by having the client send the file offset looked up for the nearest desired keyframe.
Tools such as flvmeta must be used in the case the initial encoding process is unable to inject those metadata.
It can also optionnally inject the onLastSecond event, used to signal the end of playback, for example to revert the player software to a 'stopped' state.
File information and metadata dumping
flvmeta also has the ability to dump metadata and full file information to standard output, in a variety of textual output formats, including XML, YAML, and JSON.
File validity checking
Finally, the program can analyze FLV files to detect potential problems and errors, and generate a textual report in a raw format, or in XML. It has the ability to detect more than a hundred problems, going from harmless to potentially unplayable, using real world encountered issues.
Performance
flvmeta can operate on arbitrarily large files, and can handle FLV files using extended (32-bit) timestamps. It can guess video frame dimensions for all known video codecs supported by the official FLV specification.
Its memory usage remains minimal, as it uses a two-pass reading algorithm which permits the computation of all necessary tags without loading anything more than the file's tags headers in memory.
Supported platforms
FLVMeta has been successfully compiled and tested on the following platforms:
- GNU/Linux (Ubuntu package, Debian package, Archlinux package)
- Windows
- FreeBSD (port available)
- NetBSD (package available)
- Mac OSX (Homebrew package available)
- Solaris
Generally, this program should compile cleanly and run on any 32-bit or 64-bit platform provided there is a working C compiler with a reasonably complete implementation of the C standard library.
Documentation
Please read the man page.
License
FLVMeta is distributed under the terms of the GNU General Public License v2.0.
Contributing
Development is done at Github. Please feel free to clone the flvmeta repository and hack the source code as you want. Submitted issues and pull requests are carefully reviewed.
The author can be contacted directly either by , or on IRC, at #flvmeta on Freenode.
The Google Code project is kept for historical reasons, but it should not be used anymore, except to download the releases (until Google Code stops supporting downloads completely in 2014).