add example

This commit is contained in:
nareix 2016-04-18 17:45:15 +08:00
parent cb12a946ff
commit 371d0f13e3

View File

@ -10,9 +10,7 @@ import (
func DemuxExample() { func DemuxExample() {
file, _ := os.Open("test.mp4") file, _ := os.Open("test.mp4")
demuxer := &mp4.Demuxer{ demuxer := &mp4.Demuxer{R: file}
R: file,
}
demuxer.ReadHeader() demuxer.ReadHeader()
fmt.Println("Total tracks: ", len(demuxer.Tracks)) fmt.Println("Total tracks: ", len(demuxer.Tracks))
@ -57,7 +55,35 @@ func DemuxExample() {
fmt.Print(hex.Dump(sample)) fmt.Print(hex.Dump(sample))
} }
func main() { func MuxExample() {
DemuxExample() infile, _ := os.Open("test.mp4")
outfile, _ := os.Create("test.out.mp4")
demuxer := &mp4.Demuxer{R: infile}
demuxer.ReadHeader()
muxer := &mp4.Muxer{W: outfile}
muxer.AddH264Track()
muxer.TrackH264.SetH264PPS(demuxer.TrackH264.GetH264PPS())
muxer.TrackH264.SetH264SPS(demuxer.TrackH264.GetH264SPS())
muxer.TrackH264.SetTimeScale(demuxer.TrackH264.TimeScale())
muxer.WriteHeader()
for {
pts, dts, isKeyFrame, data, err := demuxer.TrackH264.ReadSample()
if err != nil {
break
}
fmt.Println("sample #", dts, pts)
muxer.TrackH264.WriteSample(pts, dts, isKeyFrame, data)
}
muxer.WriteTrailer()
outfile.Close()
}
func main() {
//DemuxExample()
MuxExample()
} }