mirror of
https://github.com/AlexxIT/go2rtc.git
synced 2025-10-06 16:57:29 +08:00
Fix tests
This commit is contained in:
@@ -1,23 +1,23 @@
|
|||||||
package ffmpeg
|
package ffmpeg
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestParseArgs(t *testing.T) {
|
func TestParseArgs(t *testing.T) {
|
||||||
args := parseArgs("rtsp://example.com#video=h264#rotate=180")
|
args := parseArgs("rtsp://example.com#video=h264#rotate=180")
|
||||||
assert.Equal(t, "ffmpeg -hide_banner -allowed_media_types video -fflags nobuffer -flags low_delay -timeout 5000000 -user_agent go2rtc/ffmpeg -rtsp_transport tcp -i rtsp://example.com -c:v libx264 -g 50 -profile:v high -level:v 4.1 -preset:v superfast -tune:v zerolatency -pix_fmt:v yuvj420p -an -vf transpose=1,transpose=1 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}", args.String())
|
require.Equal(t, "ffmpeg -hide_banner -allowed_media_types video -fflags nobuffer -flags low_delay -timeout 5000000 -user_agent go2rtc/ffmpeg -rtsp_flags prefer_tcp -i rtsp://example.com -c:v libx264 -g 50 -profile:v high -level:v 4.1 -preset:v superfast -tune:v zerolatency -pix_fmt:v yuvj420p -an -vf transpose=1,transpose=1 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}", args.String())
|
||||||
|
|
||||||
args = parseArgs("rtsp://example.com#video=h264#rotate=180#hardware=vaapi")
|
args = parseArgs("rtsp://example.com#video=h264#rotate=180#hardware=vaapi")
|
||||||
assert.Equal(t, "ffmpeg -hide_banner -hwaccel vaapi -hwaccel_output_format vaapi -allowed_media_types video -fflags nobuffer -flags low_delay -timeout 5000000 -user_agent go2rtc/ffmpeg -rtsp_transport tcp -i rtsp://example.com -c:v h264_vaapi -g 50 -bf 0 -profile:v high -level:v 4.1 -sei:v 0 -an -vf format=vaapi|nv12,hwupload,transpose_vaapi=4 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}", args.String())
|
require.Equal(t, "ffmpeg -hide_banner -hwaccel vaapi -hwaccel_output_format vaapi -allowed_media_types video -fflags nobuffer -flags low_delay -timeout 5000000 -user_agent go2rtc/ffmpeg -rtsp_flags prefer_tcp -i rtsp://example.com -c:v h264_vaapi -g 50 -bf 0 -profile:v high -level:v 4.1 -sei:v 0 -an -vf format=vaapi|nv12,hwupload,transpose_vaapi=4 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}", args.String())
|
||||||
|
|
||||||
args = parseArgs("/media/bbb.mp4#video=mjpeg")
|
args = parseArgs("/media/bbb.mp4#video=mjpeg")
|
||||||
assert.Equal(t, "ffmpeg -hide_banner -re -i /media/bbb.mp4 -c:v mjpeg -an -f mjpeg -", args.String())
|
require.Equal(t, "ffmpeg -hide_banner -re -i /media/bbb.mp4 -c:v mjpeg -an -f mjpeg -", args.String())
|
||||||
|
|
||||||
args = parseArgs("/media/bbb.mp4#video=mjpeg#hardware=vaapi")
|
args = parseArgs("/media/bbb.mp4#video=mjpeg#hardware=vaapi")
|
||||||
assert.Equal(t, "ffmpeg -hide_banner -hwaccel vaapi -hwaccel_output_format vaapi -re -i /media/bbb.mp4 -c:v mjpeg_vaapi -an -vf format=vaapi|nv12,hwupload -f mjpeg -", args.String())
|
require.Equal(t, "ffmpeg -hide_banner -hwaccel vaapi -hwaccel_output_format vaapi -re -i /media/bbb.mp4 -c:v mjpeg_vaapi -an -vf format=vaapi|nv12,hwupload -f mjpeg -", args.String())
|
||||||
|
|
||||||
args = parseArgs("device?video=0&input_format=mjpeg&video_size=1920x1080")
|
args = parseArgs("device?video=0&input_format=mjpeg&video_size=1920x1080")
|
||||||
assert.Equal(t, `ffmpeg -hide_banner -f dshow -input_format mjpeg -video_size 1920x1080 -i video="0" -c copy -f mjpeg -`, args.String())
|
require.Equal(t, `ffmpeg -hide_banner -f dshow -input_format mjpeg -video_size 1920x1080 -i video="0" -c copy -f mjpeg -`, args.String())
|
||||||
}
|
}
|
||||||
|
@@ -201,7 +201,7 @@ func importWebRTC(token string) error {
|
|||||||
for name, entityID := range webrtcEntities {
|
for name, entityID := range webrtcEntities {
|
||||||
entities[name] = "hass://supervisor?entity_id=" + entityID
|
entities[name] = "hass://supervisor?entity_id=" + entityID
|
||||||
|
|
||||||
log.Debug().Msgf("[hass] load webrtc name=%s entity_id=%d", name, entityID)
|
log.Debug().Msgf("[hass] load webrtc name=%s entity_id=%s", name, entityID)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@@ -107,7 +107,7 @@ func asyncClient(url string) (core.Producer, error) {
|
|||||||
msg := new(ws.Message)
|
msg := new(ws.Message)
|
||||||
if err = conn.ReadJSON(msg); err != nil {
|
if err = conn.ReadJSON(msg); err != nil {
|
||||||
if cerr, ok := err.(*websocket.CloseError); ok {
|
if cerr, ok := err.(*websocket.CloseError); ok {
|
||||||
log.Trace().Err(err).Caller().Msgf("[webrtc] ws code=%d", cerr)
|
log.Trace().Err(err).Caller().Msgf("[webrtc] ws code=%d", cerr.Code)
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
@@ -88,7 +88,7 @@ Session: 1
|
|||||||
require.Nil(t, err)
|
require.Nil(t, err)
|
||||||
require.Len(t, client.Medias, 3)
|
require.Len(t, client.Medias, 3)
|
||||||
|
|
||||||
ch, err := client.SetupMedia(client.Medias[2], true)
|
ch, err := client.SetupMedia(client.Medias[2])
|
||||||
require.Nil(t, err)
|
require.Nil(t, err)
|
||||||
require.Equal(t, ch, byte(4))
|
require.Equal(t, ch, byte(4))
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user