Hello again, maybe someone could help a ffmpeg-newbie to get the correct hls-settings (hope there is something possible without re-encoding). The GOP is IPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP 31 CLOSED (got it from this script https://gist.github.com/ragnraok/638023456771dc596e6f953b47061f0e).
Thanks, Thomas Am 14.11.2020 um 01:35 schrieb Thomas Schmiedl:
Hello, I try to local restream https://herberts.meinekameras.de:10169 (rtsp-over-websocket) with this workflow: Go-script (proxy websocket to rtsp) -> ffmpeg (rtsp to hls) -> xupnpd2 mediaserver -> vlc or TV. It works good in vlc, but on the TV it plays too fast and there are pauses. I tested all 4 hls-handlers (hls, hls2, hls3, hls4) in xupnpd2 with the same result. ffmpeg command: ffmpeg -re -rtsp_transport tcp -i "rtsp://localhost:8554/axis-media/media.amp?overview=0&camera=1&resolution=1280x720&videoframeskipmode=empty&Axis-Orig-Sw=true&fps=15" -c copy -f hls /home/user/lighttpd-install/htdocs/stream.m3u8 Hope that someone could test the workflow and maybe optimize the ffmpeg-command. Thanks, Thomas PS: I never had this issue in xupnpd2 when receiving hls-streams directly from the internet. _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
package main import ( "net" "fmt" "crypto/tls" "net/http" "github.com/gorilla/websocket" ) func handleConn(tcpConn net.Conn) { d := websocket.Dialer{TLSClientConfig: &tls.Config{InsecureSkipVerify: true}} wsConn, _, err := d.Dial("wss://herberts.meinekameras.de:10169/rtsp-over-websocket", http.Header{ "Sec-WebSocket-Protocol": []string{"binary"}, }) if err != nil { panic(err) } go func() { defer tcpConn.Close() buf := make([]byte, 10 * 1024) for { n, err := tcpConn.Read(buf) if err != nil { return } wsConn.WriteMessage(websocket.BinaryMessage, buf[:n]) } }() go func() { defer wsConn.Close() for { _, buf, err := wsConn.ReadMessage() if err != nil { return } tcpConn.Write(buf) } }() } func main() { l, err := net.Listen("tcp", ":8554") if err != nil { panic(err) } fmt.Println("ready") for { tcpConn, err := l.Accept() if err != nil { panic(err) } go handleConn(tcpConn) } }
_______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".