nginx+ffmpeg+rtsp+rtmp/http-flv streaming media service construction [full version]

nginx + ffmpeg + rtsp + rtmp/http-flv streaming media service construction [full version] Install nginx and its dependencies gcc installation yum -y install gcc gcc-c + + pcre installation #If you can’t pull it down, you can directly copy the link to the browser to download. I successfully downloaded it directly from the browser, and […]

How to achieve low-latency panoramic RTMP|RTSP stream rendering under Unity

Technical background Unity3D can be used to create various types of applications, including virtual reality, training simulators, etc. Here are some scenes that can be played using Unity3D panorama: Virtual reality experience: Panoramic video can be used to create a realistic virtual environment, allowing users to feel immersed in the scene; Training simulator: Panoramic video […]

windows ffmpeg + nginx + videojs implements rtmp push and pull streaming and hls push and pull live streaming

The previous blog has written about using ffmpeg + nginx to build an RTMP push and pull live broadcast environment under Windows. It can be played through PC client software such as ffplay and vlc. However, due to browser playback reasons, the RTMP stream passes through the browser. Playback must use the flash plug-in. The […]

[Linux Create Temporary File API] The fleeting light in programming: the art and wisdom of temporary files. Analysis of tmpnam, tmpfile, mkstemp, mkdtemp and other functions…

Directory title Chapter 1: Understanding the Creation and Management of Temporary Files 1. Use the `tmpnam` function Details summary Chapter 2: Exploring the life cycle management of temporary files 1. Use the `tmpfile` function 2. Use the `mkstemp` and `mkdtemp` functions Life cycle comparison Chapter 3: Practical applications and best practices of temporary files 1. […]

[Streaming Media Server] SRS4.0 RTMP to WebRTC ICE interaction analysis

Introduction ICE stands for Interactive Connectivity Establishment: Interactive connectivity establishment method. ICE is implemented according to the recommendations of RFC5245 and is a set of protocols based on the offer/answer mode to solve NAT traversal. It comprehensively utilizes existing STUN, TURN and other protocols to establish sessions in a more efficient way. ICE introduction 1. […]

nginx+rtmp+yamdi image production

Make nginx image based on alpine:3.14 image, support rtmp protocol, save live video, and add metadata to support progress bar. nginx download address: http://nginx.org/en/download.html nginx-http-flv-module download address: https://github.com/winshining/nginx-http-flv-module yamdi download address: https://sourceforge.net/projects/yamdi/files/yamdi/1.9/yamdi-1.9.tar.gz/download Create dev image FROM alpine:3.14 LABEL MAINTAINER huhongbin RUN echo “https://mirrors.aliyun.com/alpine/v3.14/main/” > /etc/apk/repositories & amp; & amp; \ echo “https://mirrors.aliyun.com/alpine/v3.14/community/” >> /etc/apk/repositories RUN […]

RTMP streams in two ways: H.264, ACC and FLV encapsulation format

1. RTMP streaming method 1: Push H.264, ACC 1. Create a thread to initialize RTMP. void RtmpPush::init() { LOGE(“init()”); mCallJava->onConnectint(THREAD_MAIN); pthread_create( & amp;push_thread, NULL, callBackPush, this); } void *callBackPush(void *data) { RtmpPush *rtmpPush = static_cast<RtmpPush *>(data); rtmpPush->startPushing = false; LOGE(“callBackPush()”); //RTMP applies for heap memory rtmpPush->rtmp = RTMP_Alloc(); //RTMP initialization RTMP_Init(rtmpPush->rtmp); rtmpPush->rtmp->Link.timeout = 10; rtmpPush->rtmp->Link.lFlags […]