开源¶
Golang开源¶
基本¶
lal¶
Golang audio/video live streaming library/client/server: https://github.com/q191201771/lal
MediaMTX¶
RTSP 1.0 client and server library: https://github.com/bluenviron/gortsplib
RTSP / RTMP / LL-HLS / WebRTC server: https://github.com/aler9/rtsp-simple-server
Also known as rtsp-simple-server: https://github.com/aler9/mediamtx
MediaMTX / rtsp-simple-server is a ready-to-use and zero-dependency server and proxy that allows users to publish, read and proxy live video and audio streams.
Features:
Publish live streams to the server Read live streams from the server Proxy streams from other servers or cameras, always or on-demand Streams are automatically converted from a protocol to another. For instance, it's possible to publish a stream with RTSP and read it with HLS Serve multiple streams at once in separate paths Authenticate users; use internal or external authentication Redirect readers to other RTSP servers (load balancing) Query and control the server through an HTTP API Reload the configuration without disconnecting existing clients (hot reloading) Read Prometheus-compatible metrics Run external commands when clients connect, disconnect, read or publish streams Natively compatible with the Raspberry Pi Camera $ docker run --rm -it --network=host aler9/rtsp-simple-server $ docker run --rm -it -e RTSP_PROTOCOLS=tcp -p 8554:8554 -p 1935:1935 -p 8888:8888 -p 8889:8889 aler9/rtsp-simple-server -> using GStreamer and FFmpeg Publish a stream: $ ffmpeg -re -stream_loop -1 -i file.ts -c copy -f rtsp rtsp://localhost:8554/mystream $ gst-launch-1.0 rtspclientsink name=s location=rtsp://localhost:8554/mystream filesrc location=file.mp4 ! qtdemux name=d d.video_0 ! queue ! s.sink_0 d.audio_0 ! queue ! s.sink_1 Open the stream: $ vlc --network-caching=50 rtsp://localhost:8554/mystream $ gst-play-1.0 rtsp://localhost:8554/mystream $ ffmpeg -i rtsp://localhost:8554/mystream -c copy output.mp4
oto¶
A low-level library to play sound: https://github.com/hajimehoshi/oto
工具¶
Demux and mux MPEG Transport Streams (.ts) natively in GO: https://github.com/asticode/go-astits
FFmpeg¶
c¶
FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.
golang¶
Go Media Framework: https://github.com/3d0c/gmf
you can try a docker container
riftbit/ffalpine
https://github.com/3d0c/gmf/tree/master/examples:
1. video-to-image 2. images-to-video 3. watermark 4. mp4s-to-flv
FFMPEG wrapper written in GO which allows to obtain the progress.
golang binding for ffmpeg
Golang binding for FFmpeg: https://github.com/giorgisio/goav
This repository is no longer maintained.
Python¶
webrtc¶
A Go implementation of RTP: https://github.com/pion/rtp
nvr¶
EasyDarwin¶
相关文章介绍
EasyPlayer 系列播放器项目: https://github.com/tsingsee/EasyPlayer
EasyRTMP 是 TSINGSEE 青犀开放平台开发的一套 RTMP 直播推送功能组件: https://github.com/tsingsee/EasyRTMP
RTSP Server适用于 IPCamera、NVR、编码器、安卓监控设备等软硬件产品: https://github.com/tsingsee/EasyIPCamera
RTSPClient 组件,帮助用户非常简单地处理整个 RTSP OPTIONS/DESCRIBE/SETUP/PLAY 的复杂流程(成功应用在 RTSP 播放器 EasyPlayer、行业视频接入网关 EasyRTSPLive 多款产品中,适用于各种安防直播、行业直播、专业设备互联网直播等多种应用场景;): https://github.com/tsingsee/EasyRTSPClient
集采集,编码,组播,推流和流媒体 RTSP 服务于一身的同屏功能组件: https://github.com/tsingsee/EasyScreenLive
高性能开源 RTSP 流媒体服务器: https://github.com/EasyDarwin/EasyDarwin
EasyPusher 是手机端的一个 RTSP 推流器: https://github.com/EasyDarwin/EasyPusher
EasyDarwin(开源流媒体服务器)、EasyCMS(中心管理服务器)、EasyCamera(云摄像机服务)、EasyClient(云平台客户端)、EasyAACEncoder(开源音频编码项目)、EasyAudioDecoder(开源音频解码项目)、EasyProtocol(开源云平台协议)
平台端口:
EasyCMS:接口服务端口,10000
EasyDarwin:接口服务端口,10008
EasyDarwin:RTSP 服务端口,10554
EasyDarwin:HTTP 后台管理端口,10080
EasyNVR:接口服务端口,10010
EasyNVR:后台管理端口,10080
其他¶
攻击专用¶
cameradar¶
RTSP Camera Attacker: https://github.com/Ullaakut/cameradar:
Detect open RTSP hosts on any accessible target host Detect which device model is streaming Launch automated dictionary attacks to get their stream route (e.g.: /live.sdp) Launch automated dictionary attacks to get the username and password of the cameras Retrieve a complete and user-friendly report of the results $ docker run -t ullaakut/cameradar -t 192.168.124.0/24