mirror of https://bitbucket.org/ausocean/av.git
rtp: added udp output and rtp packetisation options to revid-cli
This commit is contained in:
parent
3515958a99
commit
f82c26ee62
|
@ -72,6 +72,7 @@ const (
|
||||||
verticalFlipPtr
|
verticalFlipPtr
|
||||||
horizontalFlipPtr
|
horizontalFlipPtr
|
||||||
logPathPtr
|
logPathPtr
|
||||||
|
udpAddrPtr
|
||||||
|
|
||||||
noOfConfigFlags
|
noOfConfigFlags
|
||||||
)
|
)
|
||||||
|
@ -83,6 +84,7 @@ const (
|
||||||
revidStopTime = 5 * time.Second
|
revidStopTime = 5 * time.Second
|
||||||
defaultLogPath = "/var/log/netsender/"
|
defaultLogPath = "/var/log/netsender/"
|
||||||
pkg = "revid-cli:"
|
pkg = "revid-cli:"
|
||||||
|
defaultUdpAddr = "localhost:6970"
|
||||||
)
|
)
|
||||||
|
|
||||||
// canProfile is set to false with revid-cli is built with "-tags profile".
|
// canProfile is set to false with revid-cli is built with "-tags profile".
|
||||||
|
@ -106,10 +108,10 @@ var (
|
||||||
flagNames = [noOfConfigFlags]struct{ name, description string }{
|
flagNames = [noOfConfigFlags]struct{ name, description string }{
|
||||||
{"Input", "The input type: Raspivid, File"},
|
{"Input", "The input type: Raspivid, File"},
|
||||||
{"InputCodec", "The codec of the input: H264, Mjpeg"},
|
{"InputCodec", "The codec of the input: H264, Mjpeg"},
|
||||||
{"Output", "The output type: Http, Rtmp, File"},
|
{"Output", "The output type: Http, Rtmp, File, Udp"},
|
||||||
{"RtmpMethod", "The method used to send over rtmp: Ffmpeg, Librtmp"},
|
{"RtmpMethod", "The method used to send over rtmp: Ffmpeg, Librtmp"},
|
||||||
// NOTE: we add rtp here when we have this functionality
|
// NOTE: we add rtp here when we have this functionality
|
||||||
{"Packetization", "The method of data packetisation: Flv, Mpegts, None"},
|
{"Packetization", "The method of data packetisation: Flv, Mpegts, Rtp, None"},
|
||||||
{"QuantizationMode", "Whether quantization if on or off (variable bitrate): On, Off"},
|
{"QuantizationMode", "Whether quantization if on or off (variable bitrate): On, Off"},
|
||||||
{"Verbosity", "Verbosity: Info, Warning, Error, Fatal"},
|
{"Verbosity", "Verbosity: Info, Warning, Error, Fatal"},
|
||||||
{"FramesPerClip", "Number of frames per clip sent"},
|
{"FramesPerClip", "Number of frames per clip sent"},
|
||||||
|
@ -127,6 +129,7 @@ var (
|
||||||
{"VerticalFlip", "Flip video vertically: Yes, No"},
|
{"VerticalFlip", "Flip video vertically: Yes, No"},
|
||||||
{"HorizontalFlip", "Flip video horizontally: Yes, No"},
|
{"HorizontalFlip", "Flip video horizontally: Yes, No"},
|
||||||
{"LogPath", "Path for logging files (default is /var/log/netsender/)"},
|
{"LogPath", "Path for logging files (default is /var/log/netsender/)"},
|
||||||
|
{"UdpAddr", "UDP destination address: <IP>:<port> (port is generally 6970-6999)"},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -209,6 +212,8 @@ func handleFlags() {
|
||||||
config.Output = revid.Rtmp
|
config.Output = revid.Rtmp
|
||||||
case "FfmpegRtmp":
|
case "FfmpegRtmp":
|
||||||
config.Output = revid.FfmpegRtmp
|
config.Output = revid.FfmpegRtmp
|
||||||
|
case "Udp":
|
||||||
|
config.Output = revid.Udp
|
||||||
case "":
|
case "":
|
||||||
default:
|
default:
|
||||||
logger.Log(smartlogger.Error, pkg+"bad output argument")
|
logger.Log(smartlogger.Error, pkg+"bad output argument")
|
||||||
|
@ -231,6 +236,8 @@ func handleFlags() {
|
||||||
config.Packetization = revid.Mpegts
|
config.Packetization = revid.Mpegts
|
||||||
case "Flv":
|
case "Flv":
|
||||||
config.Packetization = revid.Flv
|
config.Packetization = revid.Flv
|
||||||
|
case "Rtp":
|
||||||
|
config.Packetization = revid.Rtp
|
||||||
case "":
|
case "":
|
||||||
default:
|
default:
|
||||||
logger.Log(smartlogger.Error, pkg+"bad packetization argument")
|
logger.Log(smartlogger.Error, pkg+"bad packetization argument")
|
||||||
|
@ -293,6 +300,7 @@ func handleFlags() {
|
||||||
config.Quantization = *configFlags[quantizationPtr]
|
config.Quantization = *configFlags[quantizationPtr]
|
||||||
config.Timeout = *configFlags[timeoutPtr]
|
config.Timeout = *configFlags[timeoutPtr]
|
||||||
config.IntraRefreshPeriod = *configFlags[intraRefreshPeriodPtr]
|
config.IntraRefreshPeriod = *configFlags[intraRefreshPeriodPtr]
|
||||||
|
config.UdpAddress = *configFlags[udpAddrPtr]
|
||||||
}
|
}
|
||||||
|
|
||||||
// initialize then run the main NetSender client
|
// initialize then run the main NetSender client
|
||||||
|
|
Loading…
Reference in New Issue