videostreamer - Stream video (e.g. RTSP) to an HTML5 video element (MP4)

  •        138

videostreamer provides a way to stream video from an input source to HTTP. It remuxes a video input into an MP4 container which it streams to connecting clients. This provides the ability to stream an input source that may have limited connections (it opens at most one connection to the input), is not accessible via HTTP, or is not easily embeddable in a website. A friend has a camera that publishes an RTSP feed containing h264 video. It permits a limited number of connections, and being RTSP is not easily accessible on the web, such as in an HTML5

https://github.com/horgh/videostreamer

Tags
Implementation
License
Platform

   




Related Projects

FFmpeg - Mirror of git://source.ffmpeg.org/ffmpeg.git

  •    C

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. The offline documentation is available in the doc/ directory.

Ant Media Server - RTMP, RTSP, WebRTC and Adaptive Bitrate. It can also record videos in MP4, HLS and FLV

  •    Java

Ant Media Server is an open source media server that supports RTMP, RTSP, WebRTC and Adaptive Bitrate. It can also record videos in MP4, HLS and FLV. It also supports WebRTC to RTMP Adapter, IP camera.

digital_video_introduction - A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding)

  •    Jupyter

A gentle introduction to video technology, although it's aimed at software developers / engineers, we want to make it easy for anyone to learn. This idea was born during a mini workshop for newcomers to video technology. The goal is to introduce some digital video concepts with a simple vocabulary, lots of visual elements and practical examples when possible, and make this knowledge available everywhere. Please, feel free to send corrections, suggestions and improve it.

GSYVideoPlayer - 视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS支持,支持弹幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频本身自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,直接添加控件为封面,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,其他一些小动画效果,rtsp、concat、mpeg。项目解析:

  •    Java

视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS支持,支持弹幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频本身自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,直接添加控件为封面,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,其他一些小动画效果,rtsp、concat、mpeg。项目解析:

laravel-ffmpeg - This package provides an integration with FFmpeg for Laravel 5

  •    PHP

This package provides an integration with FFmpeg for Laravel 5.7. The storage of the files is handled by Laravel's Filesystem. This version of the package is only compatible with Laravel 5.7. If you're still using Laravel 5.1 - 5.5, please use version 1.3, for Laravel 5.6 use version 2.1. Mind that older versions are not supported anymore.


ffmpeg-libav-tutorial - [WIP] Learn FFmpeg libav the Hard Way

  •    C

I was looking for a tutorial/book that would teach me how to start to use FFmpeg as a library (a.k.a. libav) and then I found the "How to write a video player in less than 1k lines" tutorial. Unfortunately it was deprecated, so I decided to write this one. Most of the code in here will be in c but don't worry: you can easily understand and apply it to your preferred language. FFmpeg libav has lots of bindings for many languages like python, go and even if your language doesn't have it, you can still support it through the ffi (here's an example with Lua).

AndroidFFmpeg - FFmpeg build for android random architectures with example jni

  •    C

This project aims to create working library providing playing video files in android via ffmpeg libraries. With some effort and NDK knowledge you can use this ffmpeg libraries build to convert video files. We rather want to use ffmpeg library without modifications to facilitate updating of ffmpeg core. This project aim to simplify compilation of FFmpeg for android different architectures to one big apk file.

onvif - ONVIF node.js implementation

  •    Javascript

ONVIF Client protocol Profile S (Live Streaming) and Profile G (Replay) Node.js implementation. This is a wrapper to ONVIF protocol which allows you to get information about your NVT (network video transmitter) device, its media sources, control PTZ (pan-tilt-zoom) movements and manage presets, detect devices in your network and control its events. It will also allow you to get information about your NVR (network video recorder) Profile G device and obtain a list of recordings.

MPEG Recorder

  •    C

A real-time recorder and compressor of audio and video input for the Windows platforms, using MFC, DirectX, FFMPEG and MPEG4IP. The program is capable of generating avi and mp4 files and streaming MPEG-4 audio and video via Apple Darwin Streaming Server.

ViTooKi

  •    C

The Video-ToolKit supports adaptive standard compliant video streaming, transcoding and proxy caching. It supports MPEG-1/2/4/7/21, Theora and Vorbis/pcm/MP3, stored in various containers like mp4, avi, ogg, mkv over RTSP/RTP/UDP with retransmission or H

lossless-cut - Cross platform GUI tool for lossless trimming / cutting of video and audio files using ffmpeg

  •    Javascript

Simple, cross platform tool for lossless trimming/cutting of video and audio files. Great for rough processing of large video files taken from a video camera, GoPro, drone, etc. It lets you quickly extract the good parts from your videos and discard GBs of data without losing quality. It doesn't do any decoding / encoding and is therefore extremely fast. This app uses the awesome ffmpeg (included) for doing the grunt work. Since LosslessCut is based on Chromium and uses the HTML5 video player, not all ffmpeg supported formats will be supported. The following formats/codecs should generally work: MP4, MOV, WebM, MKV, OGG, WAV, MP3, AAC, H264, Theora, VP8, VP9 For more information about supported formats / codecs, see https://www.chromium.org/audio-video. Note that the MPEG TS format is not supported. See known issues.

SGPlayer - A powerful media player framework for iOS, macOS, and tvOS

  •    Objective-C

A powerful media player framework for iOS, macOS, and tvOS. Support 360° panorama video, VR video. RTMP streaming.

FFmpeg

  •    C

FFmpeg is an audio/video conversion tool. It includes libavcodec, the leading open source codec library. An experimental streaming server for live broadcasts is also included.

RTSP Specification

  •    

The Real Time Streaming Protocol (RTSP) is currently an IETF Proposed Standard (RFC 2326). This project is working on moving RTSP to Draft Standard. Please submit issues, typos, etc as issues to this project, and they will be tracked here.

Omnimeeting

  •    C++

Omnimeeting is a multiplatform C++ videoconference program that can do live cam/audio streaming using RTSP protocol.It can recv/send a 360 degrees omnidirectional video and do a face detecting/tracking.It has APIs to convert/send omnidirectional images.

fastocloud - IPTV/Video cloud

  •    C++

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

PeerTube - Decentralized video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent.

  •    TypeScript

PeerTube is a decentralized video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent. It is difficult to build a FOSS video streaming alternatives to YouTube, Dailymotion, Vimeo... with a centralized software. One organization alone cannot have enough money to pay bandwidth and video storage of its server. So there is a need of decentralized network (as Diaspora for example). But it's not enough because one video could become famous and overload the server. It's the reason why P2P protocol is used to limit the server load.

phpvideotoolkit-v2 - PHP Video Toolkit version 2 helps take the voodoo out of ffmpeg and provides a convenient object oriented wrapper around the ffmpeg programme

  •    PHP

...is a set of PHP classes aimed to provide a modular, object oriented and accessible interface for interacting with videos and audio through FFmpeg. PHPVideoToolkit also provides FFmpeg-PHP emulation in pure PHP so you wouldn't need to compile and install the FFmpeg-PHP module, you only require FFmpeg and PHPVideoToolkit. As FFmpeg-PHP has not been updated since 2007 using FFmpeg-PHP with a new version of FFmpeg can often break FFmpeg-PHP. Using PHPVideoToolkits' emulation of FFmpeg-PHP's functionality allows you to upgrade FFmpeg without worrying about breaking functionality of provided through the FFmpeg-PHP API.

OBS - Open Broadcaster Software

  •    C++

Open Broadcaster Software is free and open source software for video recording and live streaming. It supports Encoding using H264 (x264) and AAC, Intel Quick Sync Video (QSV) and NVENC, Live RTMP streaming to Twitch, YouTube, DailyMotion, Hitbox and more, DirectShow capture device support, GPU-based game capture for high performance game streaming and lot more.

mpv - Video player based on MPlayer/mplayer2

  •    C

mpv is a media player based on MPlayer and mplayer2. It supports a wide variety of video file formats, audio and video codecs, and subtitle types. mpv has an OpenGL based video output that is capable of many features loved by videophiles, such as video scaling with popular high quality algorithms, color management, frame timing, interpolation, HDR, and more.