Update README.md

This commit is contained in:
nareix 2016-03-19 15:46:35 +08:00
parent 9905657368
commit 6da165e185

View File

@ -1,7 +1,42 @@
# Golang mp4 muxer/demuxer # A pure golang mp4 library
Includes h264/aac track muxer, mp4 atoms reader/writer/dumper Provides mp4 reader/writer and mp4 atom manipulations functions.
# Examples Open a mp4 file and read the first sample:
```
file, _ := os.Open("test.mp4")
demuxer := &mp4.Demuxer{R: file}
demuxer.ReadHeader()
pts, dts, isKeyFrame, data, err := demuxer.TrackH264.ReadSample()
```
do some seeking:
```
demuxer.TrackH264.SeekToTime(2.0)
```
demuxer demo code [here](https://github.com/nareix/mp4/blob/master/example/example.go#L11)
the library also provide atom struct decoding/encoding functions(
learn more about mp4 atoms [here](https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/QTFFChap2/qtff2.html)
)
you can access atom structs via `Demuxer.TrackH264.TrackAtom`. for example:
```
// Get the raw TimeScale field inside `mvhd` atom
fmt.Println(demuxer.TrackH264.TrackAtom.Media.Header.TimeScale)
```
for more see Atom API Docs
# Documentation
[API Docs](https://godoc.org/github.com/nareix/mp4)
[Atom API Docs](https://godoc.org/github.com/nareix/mp4/atom)
## Atoms manipulation
[Demuxer example](https://github.com/nareix/mp4/blob/master/example/example.go#L11)