Fix import paths

This commit is contained in:
Ingo Oppermann 2020-04-09 18:14:35 +02:00
parent 101a483372
commit 87468848a4
37 changed files with 121 additions and 122 deletions

View File

@ -8,10 +8,9 @@ JOY4 is powerful library written in golang, well-designed interface makes a few
Well-designed and easy-to-use interfaces:
- Muxer / Demuxer ([doc](https://godoc.org/github.com/nareix/joy4/av#Demuxer) [example](https://github.com/nareix/joy4/blob/master/examples/open_probe_file/main.go))
- Audio Decoder ([doc](https://godoc.org/github.com/nareix/joy4/av#AudioDecoder) [example](https://github.com/nareix/joy4/blob/master/examples/audio_decode/main.go))
- Transcoding ([doc](https://godoc.org/github.com/nareix/joy4/av/transcode) [example](https://github.com/nareix/joy4/blob/master/examples/transcode/main.go))
- Streaming server ([example](https://github.com/nareix/joy4/blob/master/examples/http_flv_and_rtmp_server/main.go))
- Muxer / Demuxer ([doc](https://godoc.org/github.com/datarhei/joy4/av#Demuxer) [example](https://github.com/datarhei/joy4/blob/master/examples/open_probe_file/main.go))
- Transcoding ([doc](https://godoc.org/github.com/datarhei/joy4/av/transcode) [example](https://github.com/datarhei/joy4/blob/master/examples/transcode/main.go))
- Streaming server ([example](https://github.com/datarhei/joy4/blob/master/examples/http_flv_and_rtmp_server/main.go))
Support container formats:
@ -34,26 +33,26 @@ RTMP / HTTP-FLV Server
- High performance
Publisher-subscriber packet buffer queue ([doc](https://godoc.org/github.com/nareix/joy4/av/pubsub))
Publisher-subscriber packet buffer queue ([doc](https://godoc.org/github.com/datarhei/joy4/av/pubsub))
- Customize publisher buffer time and subscriber read position
- Multiple channels live streaming ([example](https://github.com/nareix/joy4/blob/master/examples/rtmp_server_channels/main.go))
- Multiple channels live streaming ([example](https://github.com/datarhei/joy4/blob/master/examples/rtmp_server_channels/main.go))
Packet filters ([doc](https://godoc.org/github.com/nareix/joy4/av/pktque))
Packet filters ([doc](https://godoc.org/github.com/datarhei/joy4/av/pktque))
- Wait first keyframe
- Fix timestamp
- Make A/V sync
- Customize ([example](https://github.com/nareix/joy4/blob/master/examples/rtmp_server_channels/main.go#L19))
- Customize ([example](https://github.com/datarhei/joy4/blob/master/examples/rtmp_server_channels/main.go#L19))
Support codec and container parsers:
- H264 SPS/PPS/AVCDecoderConfigure parser ([doc](https://godoc.org/github.com/nareix/joy4/codec/h264parser))
- AAC ADTSHeader/MPEG4AudioConfig parser ([doc](https://godoc.org/github.com/nareix/joy4/codec/aacparser))
- MP4 Atoms parser ([doc](https://godoc.org/github.com/nareix/joy4/format/mp4/mp4io))
- FLV AMF0 object parser ([doc](https://godoc.org/github.com/nareix/joy4/format/flv/flvio))
- H264 SPS/PPS/AVCDecoderConfigure parser ([doc](https://godoc.org/github.com/datarhei/joy4/codec/h264parser))
- AAC ADTSHeader/MPEG4AudioConfig parser ([doc](https://godoc.org/github.com/datarhei/joy4/codec/aacparser))
- MP4 Atoms parser ([doc](https://godoc.org/github.com/datarhei/joy4/format/mp4/mp4io))
- FLV AMF0 object parser ([doc](https://godoc.org/github.com/datarhei/joy4/format/flv/flvio))
# Requirements

View File

@ -4,10 +4,10 @@ import (
"fmt"
"io"
"time"
"github.com/nareix/joy4/av/avutil"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/av/pktque"
"github.com/nareix/joy4/av/transcode"
"github.com/datarhei/joy4/av/avutil"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/av/pktque"
"github.com/datarhei/joy4/av/transcode"
)
var Debug bool

View File

@ -5,7 +5,7 @@ import (
"strings"
"fmt"
"bytes"
"github.com/nareix/joy4/av"
"github.com/datarhei/joy4/av"
"net/url"
"os"
"path"

View File

@ -1,7 +1,7 @@
package pktque
import (
"github.com/nareix/joy4/av"
"github.com/datarhei/joy4/av"
)
type Buf struct {

View File

@ -4,7 +4,7 @@ package pktque
import (
"time"
"github.com/nareix/joy4/av"
"github.com/datarhei/joy4/av"
)
type Filter interface {

View File

@ -2,8 +2,8 @@
package pubsub
import (
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/av/pktque"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/av/pktque"
"io"
"sync"
"time"

View File

@ -5,8 +5,8 @@ package transcode
import (
"fmt"
"time"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/av/pktque"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/av/pktque"
)
var Debug bool
@ -108,7 +108,7 @@ func (self *tStream) audioDecodeAndEncode(inpkt av.Packet) (outpkts []av.Packet,
}
// Do the transcode.
//
//
// In audio transcoding one Packet may transcode into many Packets
// packet time will be adjusted automatically.
func (self *Transcoder) Do(pkt av.Packet) (out []av.Packet, err error) {

View File

@ -1,8 +1,8 @@
package aacparser
import (
"github.com/nareix/joy4/utils/bits"
"github.com/nareix/joy4/av"
"github.com/datarhei/joy4/utils/bits"
"github.com/datarhei/joy4/av"
"time"
"fmt"
"bytes"

View File

@ -1,8 +1,8 @@
package codec
import (
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/codec/fake"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/codec/fake"
"time"
)

View File

@ -1,7 +1,7 @@
package fake
import (
"github.com/nareix/joy4/av"
"github.com/datarhei/joy4/av"
)
type CodecData struct {

View File

@ -2,9 +2,9 @@
package h264parser
import (
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/utils/bits"
"github.com/nareix/joy4/utils/bits/pio"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/utils/bits"
"github.com/datarhei/joy4/utils/bits/pio"
"fmt"
"bytes"
)
@ -131,7 +131,7 @@ Annex B is commonly used in live and streaming formats such as transport streams
2. AVCC
The other common method of storing an H.264 stream is the AVCC format. In this format, each NALU is preceded with its length (in big endian format). This method is easier to parse, but you lose the byte alignment features of Annex B. Just to complicate things, the length may be encoded using 1, 2 or 4 bytes. This value is stored in a header object. This header is often called extradata or sequence header. Its basic format is as follows:
bits
bits
8 version ( always 0x01 )
8 avc profile ( sps[0][1] )
8 avc compatibility ( sps[0][2] )

View File

@ -4,11 +4,11 @@ import (
"sync"
"io"
"net/http"
"github.com/nareix/joy4/format"
"github.com/nareix/joy4/av/avutil"
"github.com/nareix/joy4/av/pubsub"
"github.com/nareix/joy4/format/rtmp"
"github.com/nareix/joy4/format/flv"
"github.com/datarhei/joy4/format"
"github.com/datarhei/joy4/av/avutil"
"github.com/datarhei/joy4/av/pubsub"
"github.com/datarhei/joy4/format/rtmp"
"github.com/datarhei/joy4/format/flv"
)
func init() {
@ -78,7 +78,7 @@ func main() {
if ch != nil {
w.Header().Set("Content-Type", "video/x-flv")
w.Header().Set("Transfer-Encoding", "chunked")
w.Header().Set("Transfer-Encoding", "chunked")
w.Header().Set("Access-Control-Allow-Origin", "*")
w.WriteHeader(200)
flusher := w.(http.Flusher)

View File

@ -2,9 +2,9 @@ package main
import (
"fmt"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/av/avutil"
"github.com/nareix/joy4/format"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/av/avutil"
"github.com/datarhei/joy4/format"
)
func init() {

View File

@ -1,10 +1,10 @@
package main
import (
"github.com/nareix/joy4/av/pktque"
"github.com/nareix/joy4/format"
"github.com/nareix/joy4/av/avutil"
"github.com/nareix/joy4/format/rtmp"
"github.com/datarhei/joy4/av/pktque"
"github.com/datarhei/joy4/format"
"github.com/datarhei/joy4/av/avutil"
"github.com/datarhei/joy4/format/rtmp"
)
func init() {

View File

@ -2,12 +2,12 @@ package main
import (
"fmt"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/av/avutil"
"github.com/nareix/joy4/av/pktque"
"github.com/nareix/joy4/av/pubsub"
"github.com/nareix/joy4/format"
"github.com/nareix/joy4/format/rtmp"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/av/avutil"
"github.com/datarhei/joy4/av/pktque"
"github.com/datarhei/joy4/av/pubsub"
"github.com/datarhei/joy4/format"
"github.com/datarhei/joy4/format/rtmp"
"sync"
"time"
)

View File

@ -3,9 +3,9 @@ package main
import (
"fmt"
"strings"
"github.com/nareix/joy4/format"
"github.com/nareix/joy4/av/avutil"
"github.com/nareix/joy4/format/rtmp"
"github.com/datarhei/joy4/format"
"github.com/datarhei/joy4/av/avutil"
"github.com/datarhei/joy4/format/rtmp"
)
func init() {

View File

@ -2,9 +2,9 @@
package aac
import (
"github.com/nareix/joy4/av/avutil"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/codec/aacparser"
"github.com/datarhei/joy4/av/avutil"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/codec/aacparser"
"time"
"fmt"
"io"

View File

@ -3,14 +3,14 @@ package flv
import (
"bufio"
"fmt"
"github.com/nareix/joy4/utils/bits/pio"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/av/avutil"
"github.com/nareix/joy4/codec"
"github.com/nareix/joy4/codec/aacparser"
"github.com/nareix/joy4/codec/fake"
"github.com/nareix/joy4/codec/h264parser"
"github.com/nareix/joy4/format/flv/flvio"
"github.com/datarhei/joy4/utils/bits/pio"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/av/avutil"
"github.com/datarhei/joy4/codec"
"github.com/datarhei/joy4/codec/aacparser"
"github.com/datarhei/joy4/codec/fake"
"github.com/datarhei/joy4/codec/h264parser"
"github.com/datarhei/joy4/format/flv/flvio"
"io"
)

View File

@ -5,7 +5,7 @@ import (
"math"
"fmt"
"time"
"github.com/nareix/joy4/utils/bits/pio"
"github.com/datarhei/joy4/utils/bits/pio"
)
type AMF0ParseError struct {

View File

@ -2,8 +2,8 @@ package flvio
import (
"fmt"
"github.com/nareix/joy4/utils/bits/pio"
"github.com/nareix/joy4/av"
"github.com/datarhei/joy4/utils/bits/pio"
"github.com/datarhei/joy4/av"
"io"
"time"
)

View File

@ -1,13 +1,13 @@
package format
import (
"github.com/nareix/joy4/format/mp4"
"github.com/nareix/joy4/format/ts"
"github.com/nareix/joy4/format/rtmp"
"github.com/nareix/joy4/format/rtsp"
"github.com/nareix/joy4/format/flv"
"github.com/nareix/joy4/format/aac"
"github.com/nareix/joy4/av/avutil"
"github.com/datarhei/joy4/format/mp4"
"github.com/datarhei/joy4/format/ts"
"github.com/datarhei/joy4/format/rtmp"
"github.com/datarhei/joy4/format/rtsp"
"github.com/datarhei/joy4/format/flv"
"github.com/datarhei/joy4/format/aac"
"github.com/datarhei/joy4/av/avutil"
)
func RegisterAll() {

View File

@ -6,10 +6,10 @@ import (
"io"
"time"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/codec/aacparser"
"github.com/nareix/joy4/codec/h264parser"
"github.com/nareix/joy4/format/mp4/mp4io"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/codec/aacparser"
"github.com/datarhei/joy4/codec/h264parser"
"github.com/datarhei/joy4/format/mp4/mp4io"
)
type Demuxer struct {

View File

@ -2,8 +2,8 @@ package mp4
import (
"io"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/av/avutil"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/av/avutil"
)
var CodecTypes = []av.CodecType{av.H264, av.AAC}

View File

@ -1,6 +1,6 @@
package mp4io
import "github.com/nareix/joy4/utils/bits/pio"
import "github.com/datarhei/joy4/utils/bits/pio"
import "time"
const MOOF = Tag(0x6d6f6f66)

View File

@ -967,7 +967,7 @@ func genatoms(filename, outfilename string) {
&ast.GenDecl{
Tok: token.IMPORT,
Specs: []ast.Spec{
&ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"github.com/nareix/joy4/utils/bits/pio"`}},
&ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"github.com/datarhei/joy4/utils/bits/pio"`}},
},
},
&ast.GenDecl{

View File

@ -2,7 +2,7 @@
package mp4io
import (
"github.com/nareix/joy4/utils/bits/pio"
"github.com/datarhei/joy4/utils/bits/pio"
"os"
"io"
"fmt"

View File

@ -3,11 +3,11 @@ package mp4
import (
"fmt"
"time"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/codec/aacparser"
"github.com/nareix/joy4/codec/h264parser"
"github.com/nareix/joy4/format/mp4/mp4io"
"github.com/nareix/joy4/utils/bits/pio"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/codec/aacparser"
"github.com/datarhei/joy4/codec/h264parser"
"github.com/datarhei/joy4/format/mp4/mp4io"
"github.com/datarhei/joy4/utils/bits/pio"
"io"
"bufio"
)

View File

@ -1,8 +1,8 @@
package mp4
import (
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/format/mp4/mp4io"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/format/mp4/mp4io"
"time"
)

View File

@ -8,11 +8,11 @@ import (
"crypto/sha256"
"encoding/hex"
"fmt"
"github.com/nareix/joy4/utils/bits/pio"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/av/avutil"
"github.com/nareix/joy4/format/flv"
"github.com/nareix/joy4/format/flv/flvio"
"github.com/datarhei/joy4/utils/bits/pio"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/av/avutil"
"github.com/datarhei/joy4/format/flv"
"github.com/datarhei/joy4/format/flv/flvio"
"io"
"net"
"net/url"

View File

@ -8,13 +8,13 @@ import (
"encoding/binary"
"encoding/hex"
"fmt"
"github.com/nareix/joy4/utils/bits/pio"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/av/avutil"
"github.com/nareix/joy4/codec"
"github.com/nareix/joy4/codec/aacparser"
"github.com/nareix/joy4/codec/h264parser"
"github.com/nareix/joy4/format/rtsp/sdp"
"github.com/datarhei/joy4/utils/bits/pio"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/av/avutil"
"github.com/datarhei/joy4/codec"
"github.com/datarhei/joy4/codec/aacparser"
"github.com/datarhei/joy4/codec/h264parser"
"github.com/datarhei/joy4/format/rtsp/sdp"
"io"
"net"
"net/textproto"
@ -1161,7 +1161,7 @@ func (self *Client) handleBlock(block []byte) (pkt av.Packet, ok bool, err error
TODO: sync AV by rtcp NTP timestamp
TODO: handle timestamp overflow
https://tools.ietf.org/html/rfc3550
A receiver can then synchronize presentation of the audio and video packets by relating
A receiver can then synchronize presentation of the audio and video packets by relating
their RTP timestamps using the timestamp pairs in RTCP SR packets.
*/
if stream.firsttimestamp == 0 {

View File

@ -4,7 +4,7 @@ import (
"encoding/base64"
"encoding/hex"
"fmt"
"github.com/nareix/joy4/av"
"github.com/datarhei/joy4/av"
"strconv"
"strings"
)

View File

@ -1,8 +1,8 @@
package rtsp
import (
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/format/rtsp/sdp"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/format/rtsp/sdp"
"time"
)

View File

@ -4,11 +4,11 @@ import (
"bufio"
"fmt"
"time"
"github.com/nareix/joy4/utils/bits/pio"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/format/ts/tsio"
"github.com/nareix/joy4/codec/aacparser"
"github.com/nareix/joy4/codec/h264parser"
"github.com/datarhei/joy4/utils/bits/pio"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/format/ts/tsio"
"github.com/datarhei/joy4/codec/aacparser"
"github.com/datarhei/joy4/codec/h264parser"
"io"
)

View File

@ -2,8 +2,8 @@ package ts
import (
"io"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/av/avutil"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/av/avutil"
)
func Handler(h *avutil.RegisterHandler) {

View File

@ -2,10 +2,10 @@ package ts
import (
"fmt"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/codec/aacparser"
"github.com/nareix/joy4/codec/h264parser"
"github.com/nareix/joy4/format/ts/tsio"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/codec/aacparser"
"github.com/datarhei/joy4/codec/h264parser"
"github.com/datarhei/joy4/format/ts/tsio"
"io"
"time"
)

View File

@ -2,8 +2,8 @@ package ts
import (
"time"
"github.com/nareix/joy4/av"
"github.com/nareix/joy4/format/ts/tsio"
"github.com/datarhei/joy4/av"
"github.com/datarhei/joy4/format/ts/tsio"
)
type Stream struct {

View File

@ -5,7 +5,7 @@ import (
"io"
"time"
"fmt"
"github.com/nareix/joy4/utils/bits/pio"
"github.com/datarhei/joy4/utils/bits/pio"
)
const (