本文详细介绍了流媒体系统的组成、工作原理和高性能流媒体系统的特点,包括快速响应时间、高数据传输效率和系统稳定性。文章还探讨了构建高性能流媒体系统的硬件选择、网络架构设计、流媒体服务器配置,并提供了丰富的技术选型和实战案例解析。高性能流媒体系统资料涵盖了从编码到传输的各个方面,确保系统的高效稳定运行。
流媒体是指通过互联网或其他网络向用户提供连续的音视频数据,用户无需等待完整下载即可开始播放。流媒体技术的核心在于数据流的连续传输与实时播放,它使得用户能够在网络传输过程中即时享受音视频内容。
流媒体系统可以分为三种主要模式:实时流媒体、点播流媒体和直播流媒体。实时流媒体适用于即时广播,如在线会议、直播等;点播流媒体允许用户按需选择播放内容,如在线视频点播;直播流媒体则用于实时传输事件,如体育赛事直播。
流媒体系统通常由以下几个组件构成:
流媒体系统的工作原理主要包括以下几个步骤:
高性能流媒体系统的关键特点之一是快速响应时间。这可以通过以下方式实现:
高性能流媒体系统需要具备高数据传输效率,这可以通过以下措施实现:
高性能流媒体系统的稳定性是确保高质量用户体验的关键。这可以通过以下方法实现:
选择合适的硬件设备是构建高性能流媒体系统的基础。以下是一些建议:
网络架构设计对于流媒体系统的性能和稳定性至关重要。以下是一些建议:
选择合适的流媒体服务器并进行正确的配置是构建高性能流媒体系统的关键。以下是一些建议:
Nginx-RTMP:
安装与配置:
# 安装Nginx-RTMP sudo apt-get update sudo apt-get install nginx sudo apt-get install libnginx-mod-rtmp # 配置Nginx-RTMP sudo nano /etc/nginx/nginx.conf # 添加RTMP模块配置 http { ... rtmp { server { listen 1935; application live { live on; record off; } } } } # 重启Nginx sudo systemctl restart nginx
ffmpeg -re -i input.mp4 -c:v copy -c:a copy -f flv rtmp://localhost/live/stream
Apache HTTP Server:
安装与配置:
# 安装Apache HTTP Server sudo apt-get update sudo apt-get install apache2 # 配置HTTP Live Streaming (HLS) sudo mkdir /var/www/html/hls sudo nano /etc/apache2/sites-available/000-default.conf # 添加HLS配置 <VirtualHost *:80> ... <Location /hls> SetHandler flvhls ModPagespeed Off </Location> </VirtualHost> # 启用HLS模块 sudo a2enmod hls # 重启Apache sudo systemctl restart apache2
ffmpeg -i input.mp4 -f hls -hls_time 10 -hls_list_size 0 /var/www/html/hls/stream.m3u8
流媒体编码格式的选择直接影响到音视频的质量和传输效率。以下是一些常用的编码格式:
流媒体传输协议决定了数据如何在网络中传输和传输效率。以下是一些常用的流媒体传输协议:
为了实现高效的编码和传输,以下是一些最佳实践:
监控工具可以帮助实时监控流媒体系统的运行状态,及时发现并解决问题。以下是一些常用的监控工具:
Nginx-RTMP:
监控工具:使用Nginx-RTMP提供的监控模块。
# 安装Nginx-RTMP监控模块 sudo apt-get install nginx-rtmp-module # 配置监控模块 http { ... rtmp { ... server { ... application live { live on; record off; access_log /var/log/nginx/rtmp-access.log; error_log /var/log/nginx/rtmp-error.log; } } } } # 重新加载Nginx配置 sudo systemctl reload nginx
tail -f /var/log/nginx/rtmp-access.log tail -f /var/log/nginx/rtmp-error.log
Apache HTTP Server:
监控工具:使用Apache自带的监控模块。
# 启用Apache监控模块 sudo a2enmod status # 配置监控模块 sudo nano /etc/apache2/sites-available/000-default.conf # 添加监控配置 <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 </Location> # 重新加载Apache配置 sudo systemctl restart apache2
curl http://localhost/server-status
以下是一些常见的流媒体系统问题及其排查方法:
为了确保流媒体系统的长期稳定运行,以下是一些建议:
在线教育平台:
示例代码:
# 使用Nginx-RTMP配置流媒体服务器 sudo apt-get update sudo apt-get install nginx sudo apt-get install libnginx-mod-rtmp # 配置Nginx-RTMP sudo nano /etc/nginx/nginx.conf http { ... rtmp { server { listen 1935; application live { live on; record off; } } } } # 重启Nginx sudo systemctl restart nginx
体育赛事直播:
示例代码:
# 使用WebRTC协议配置流媒体服务器 sudo apt-get update sudo apt-get install nginx sudo apt-get install libnginx-mod-rtmp # 配置WebRTC模块 sudo nano /etc/nginx/nginx.conf http { ... rtmp { server { listen 1935; application live { live on; record off; } } } } # 重启Nginx sudo systemctl restart nginx
在线教育平台案例:
# 使用Nginx-RTMP推流 ffmpeg -re -i input.mp4 -c:v copy -c:a copy -f flv rtmp://localhost/live/stream
# 使用FFmpeg编码为WebRTC格式 ffmpeg -re -i input.mp4 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 \ -c copy -f webm - | ffmpeg -i pipe:0 -vf scale=640:360 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - | ffmpeg -i pipe:0 -c:v libx264 -c:a aac -f webm - \ - | ffmpeg -i pipe:0 -c:v libx26 providence