FreeBSD Manual Pages
USTREAMER(1) General Commands Manual USTREAMER(1) NAME ustreamer - stream MJPEG video from any V4L2 device to the network SYNOPSIS ustreamer [OPTIONS] DESCRIPTION Streamer (ustreamer) is a lightweight and very quick server to stream MJPEG video from any V4L2 device to the network. All new browsers have native support of this video format, as well as most video players such as mplayer, VLC etc. Streamer is a part of the PiKVM project designed to stream VGA and HDMI screencast hardware data with the highest reso- lution and FPS possible. USAGE Without arguments, ustreamer will try to open /dev/video0 with 640x480 resolution and start streaming on http://127.0.0.1:8080. You can over- ride this behavior using parameters --device, --host and --port. For example, to stream to the world, run: ustreamer --device=/dev/video1 --host=0.0.0.0 --port=80 Please note that since Streamer v2.0 cross-domain requests were dis- abled by default for security reasons. To enable the old behavior, use the option --allow-origin=\*. For example, the recommended way of running Streamer with TC358743-based capture device on a Raspberry Pi is: ustreamer \ --format=uyvy \ # Device input format --encoder=m2m-image \ # Hardware encoding with V4L2 M2M intraface --workers=3 \ # Maximum workers for V4L2 encoder --persistent \ # Suppress repetitive signal source errors (for example when HDMI cable was disconnected) --dv-timings \ # Use DV-timings --drop-same-frames=30 # Save the traffic Please note that to use --drop-same-frames for different browsers you need to use some specific URL /stream parameters (see URL / for details). You can always view the full list of options with ustreamer --help. Some features may not be available on your platform. To find out which features are enabled, use ustreamer --features. OPTIONS Capturing options -d /dev/path, --device /dev/path Path to V4L2 device. Default: /dev/video0. -i N, --input N Input channel. Default: 0. -r WxH, --resolution WxH Initial image resolution. Default: 640x480. -m fmt, --format fmt Image format. Available: YUYV, YVYU, UYVY, YUV420, YVU420, RGB565, RGB24, GREY, MJPEG, JPEG; default: YUYV. -a std, --tv-standard std Force TV standard. Available: PAL, NTSC, SECAM; default: dis- abled. -I method, --io-method method Set V4L2 IO method (see kernel documentation). Changing of this parameter may increase the performance. Or not. Available: MMAP, USERPTR; default: MMAP. -f N, --desired-fps N Desired FPS. Default: maximum possible. -z N, --min-frame-size N Drop frames smaller then this limit. Useful if the device pro- duces small-sized garbage frames. Default: 128 bytes. -T, --allow-truncated-frames Allows to handle truncated frames. Useful if the device produces incorrect but still acceptable frames. Default: disabled. -n, --persistent Suppress repetitive signal source errors. Default: disabled. -t, --dv-timings Enable DV-timings querying and events processing to automatic resolution change. Default: disabled. -b N, --buffers N The number of buffers to receive data from the device. Each buffer may processed using an independent thread. Default: 2 (the number of CPU cores (but not more than 4) + 1). -w N, --workers N The number of worker threads but not more than buffers. De- fault: 1 (the number of CPU cores (but not more than 4)). -q N, --quality N Set quality of JPEG encoding from 1 to 100 (best). Default: 80. Note: If HW encoding is used (JPEG source format selected), this parameter attempts to configure the camera or capture device hardware's internal encoder. It does not re-encode MJPEG to MJPEG to change the quality level for sources that already out- put MJPEG. -c type, --encoder type Use specified encoder. It may affect the number of workers. CPU Software MJPEG encoding (default). HW Use pre-encoded MJPEG frames directly from camera hardware. M2M-VIDEO GPU-accelerated MJPEG encoding. M2M-IMAGE GPU-accelerated JPEG encoding. -g WxH,..., --glitched-resolutions WxH,... It doesn't do anything. Still here for compatibility. -k path, --blank path It doesn't do anything. Still here for compatibility. -K sec, --last-as-blank sec It doesn't do anything. Still here for compatibility. -l, --slowdown Slowdown capturing to 1 FPS or less when no stream or sink clients are connected. Useful to reduce CPU consumption. De- fault: disabled. --device-timeout sec Timeout for device querying. Default: 1. --device-error-delay sec Delay before trying to connect to the device again after an er- ror (timeout for example). Default: 1. --m2m-device /dev/path Path to V4L2 mem-to-mem encoder device. Default: auto-select. Image control options --image-default Reset all image settings below to default. Default: no change. --brightness N, auto, default Set brightness. Default: no change. --contrast N, default Set contrast. Default: no change. --saturation N, default Set saturation. Default: no change. --hue N, auto, default Set hue. Default: no change. --gamma N, default Set gamma. Default: no change. --sharpness N, default Set sharpness. Default: no change. --backlight-compensation N, default Set backlight compensation. Default: no change. --white-balance N, auto, default Set white balance. Default: no change. --gain N, auto, default Set gain. Default: no change. --color-effect N, default Set color effect. Default: no change. --flip-vertical 1, 0, default Set vertical flip. Default: no change. --flip-horizontal 1, 0, default Set horizontal flip. Default: no change. HTTP server options -s address, --host address Listen on Hostname or IP. Default: 127.0.0.1. -p N, --port N Bind to this TCP port. Default: 8080. -U path, --unix path Bind to UNIX domain socket. Default: disabled. -D, --unix-rm Try to remove old unix socket file before binding. default: dis- abled. -M mode, --unix-mode mode Set UNIX socket file permissions (like 777). Default: disabled. -S, --systemd Bind to systemd socket for socket activation. Required WITH_SYS- TEMD feature. Default: disabled. --user name HTTP basic auth user. Default: disabled. --passwd str HTTP basic auth passwd. Default: empty. --static path Path to dir with static files instead of embedded root index page. Symlinks are not supported for security reasons. Default: disabled. -e N, --drop-same-frames N Don't send identical frames to clients, but no more than speci- fied number. It can significantly reduce the outgoing traffic, but will increase the CPU loading. Don't use this option with analog signal sources or webcams, it's useless. Default: dis- abled. -R WxH, --fake-resolution WxH Override image resolution for the /state. Default: disabled. --tcp-nodelay Set TCP_NODELAY flag to the client /stream socket. Only for TCP socket. Default: disabled. --allow-origin str Set Access-Control-Allow-Origin header. Default: disabled. --instance-id str A short string identifier to be displayed in the /state handle. It must satisfy regexp ^[a-zA-Z0-9./+_-]*$. Default: an empty string. --server-timeout sec Timeout for client connections. Default: 10. JPEG sink options With shared memory sink you can write a stream to a file. See us- treamer-dump(1) for more info. --jpeg-sink name Use the specified shared memory object to sink JPEG frames. The name should end with a suffix ".jpeg" or ":jpeg". Default: dis- abled. --jpeg-sink-mode mode Set JPEG sink permissions (like 777). Default: 660. --jpeg-sink-rm Remove shared memory on stop. Default: disabled. --jpeg-sink-client-ttl sec Client TTL. Default: 10. --jpeg-sink-timeout sec Timeout for lock. Default: 1. H264 sink options --h264-sink name Use the specified shared memory object to sink H264 frames. The name should end with a suffix ".h264" or ":h264". Default: dis- abled. --h264-sink-mode mode Set H264 sink permissions (like 777). Default: 660. --h264-sink-rm Remove shared memory on stop. Default: disabled. --h264-sink-client-ttl sec Client TTL. Default: 10. --h264-sink-timeout sec Timeout for lock. Default: 1. --h264-bitrate kbps H264 bitrate in Kbps. Default: 5000. --h264-gop N Interval between keyframes. Default: 30. --h264-m2m-device /dev/path Path to V4L2 mem-to-mem encoder device. Default: auto-select. RAW sink options --raw-sink name Use the specified shared memory object to sink RAW frames. The name should end with a suffix ".raw" or ":raw". Default: dis- abled. --raw-sink-mode mode Set RAW sink permissions (like 777). Default: 660. --raw-sink-rm Remove shared memory on stop. Default: disabled. --raw-sink-client-ttl sec Client TTL. Default: 10. --raw-sink-timeout sec Timeout for lock. Default: 1. Process options --exit-on-parent-death Exit the program if the parent process is dead. Required WITH_PDEATHSIG feature. Default: disabled. --exit-on-device-error Exit on any device error instead of polling until success. De- fault: disabled. --exit-on-no-clientssec Exit the program if there have been no stream or sink clients or any HTTP requests in the last N seconds. Default: 0 (disabled). --process-name-prefix str Set process name prefix which will be displayed in the process list like 'str: ustreamer --blah-blah-blah'. Required WITH_SET- PROCTITLE feature. Default: disabled. --notify-parent Send SIGUSR2 to the parent process when the stream parameters are changed. Checking changes is performed for the online flag and image resolution. Required WITH_SETPROCTITLE feature. GPIO options Available only if WITH_GPIO feature enabled. --gpio-device /dev/path Path to GPIO character device. Default: /dev/gpiochip0. --gpio-consumer-prefix str Consumer prefix for GPIO outputs. Default: ustreamer. --gpio-prog-running pin Set 1 on GPIO pin while Streamer is running. Default: disabled. --gpio-stream-online pin Set 1 while streaming. Default: disabled. --gpio-has-http-clients pin Set 1 while stream has at least one client. Default: disabled. Logging options --log-level N Verbosity level of messages from 0 (info) to 3 (debug). Enabling debugging messages can slow down the program. Available levels: 0 (info), 1 (performance), 2 (verbose), 3 (debug). Default: 0. --perf Enable performance messages (same as --log-level=1). Default: disabled. --verbose Enable verbose messages and lower (same as --log-level=2). De- fault: disabled. --debug Enable debug messages and lower (same as --log-level=3). De- fault: disabled. --force-log-colors Force color logging. Default: colored if stderr is a TTY. --no-log-colors Disable color logging. Default: ditto. Help options -h, --help Print this text and exit. -v, --version Print version and exit. --features Print list of supported features. SEE ALSO ustreamer-dump(1) BUGS Please file any bugs and issues at https://github.com/pikvm/us- treamer/issues AUTHOR Maxim Devaev <mdevaev@gmail.com> HOMEPAGE https://pikvm.org/ COPYRIGHT GNU General Public License v3.0 November 2020 version 6.44 USTREAMER(1)
NAME | SYNOPSIS | DESCRIPTION | USAGE | OPTIONS | SEE ALSO | BUGS | AUTHOR | HOMEPAGE | COPYRIGHT
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ustreamer&sektion=1&manpath=FreeBSD+Ports+15.0.quarterly>
