- H264Ctrls: refresh_ctrls: check if it is supported
- MP4 rotation
- Ability to set process priority
- Logitech LED controls without uvcdynctrl
- UVCX: Handle if the device is a symlink (like: /dev/v4l/by-id/...)
- Handle V4L2 buffers which are not in order to support BRIO
- Reduce frame drops
- MJPGH264: 1080p streaming
- Fix for H264 capable C922-s (before 2020)
- New UVC H264 XU controls: uvcx_h264_slice_mode, uvcx_h264_slice_units, uvcx_h264_entropy, uvcx_h264_usage, uvcx_h264_leaky_bucket_size
- Fixed the glitches if the H264 payload in the MJPG is bigger than 65k
- Use TCP_NODELAY to disable Nagle's algorithm for lower latency
- Set viewport for mobiles
- Logo, Favicon, App icon (add to home screen)
- Remove stacktrace from logging
- Fix logging to systemd journal (python -u -> unbuffered stdout)
- Fix systemd service if user is not pi
- Better systemd handling section in README
- Basic checks for buffer configurations
- Auto sleep mode (sleep the camera when no one is watching the stream) (enabled by default)
- Fix the bug in resolution check caused invalid resolutions could be set
- Use 640x480 in the default config for better compatibility
- Use NV12 instead of YU12 by default for the decoder output, it has the same alignment on the encoder and decoder
- Set the correct sizeimage in the m2m decoder for suitable DMABUFs for the camera
- Able to convert MJPG camera stream to H264 via M2M decoder and encoder devices.
- Don't start the http server until the first H264 frame arrives
- List controls: print device, driver names too
- Use a better way to check if the H264 UVC extension exists. Read the ID from the usb descriptors.
- Support UVC H264 extension
- Support H264 inside MJPG
- Handle H264 slices
- V4L2 M2M H264 encoding for USB cameras
- Eliminate the rounding errors in sampleduration calculation
- Better sampleduration calculation
- Requesting keyframe at new connections for faster startup
- Fixed sampleduration calculation
- Default config shouldn't set h264 profile and level
- Use V4L2 instead of the raspivid, because reading from pipe is slow with big frames
- Config file with ability to set v4l2 parameters
- RaspiWebcam has been renamed fmp4streamer, because with V4L2 it works on other linux machines too
- Better duration and decode time calculation
- Code, speed and compatibility improvements
- HLS streaming for iPhone
- Speed and compatibility improvements
- Fixed streaming in Chromium and Android
- Inline is not needed anymore in the raspivid's parameters
- Speed improvements
- Works with high fps settings too: use actual decode times for frames, not the fps calculated
- Fix race condition in MP4Writer
- Speed up frame writing by 4x
- Use a tiny python muxer instead of the javascript based jmuxer.
- Use html5 video tag instead of Fetch api
- Use correct timescale
- Starting a new project based on dans98/pi-h264-to-browser.
- Raspiwebcam is the new project name.
- Use raspivid instead of python3-picamera
- Use Fetch api instead of websockets
- Use jmuxer 2.0.2
- Removed unnecessary screens
- Removed python3-picamera dependency
- Removed python3-tornado dependency