Articles of videostream

nginx http_mp4_module伪stream

我正在使用安装了http_mp4_module的Nginx 1.2.3,并尝试使用它伪造stream媒体服务器。 当我试图设置小于25的起始位置时,一切都像一个魅力: http://192.168.56.101/my_video.mp4?start=20 但是,当我开始超过25我得到错误日志中的这个错误: 2012/08/14 17:15:21 [error] 20091#0: *8 start sample is out of mp4 stss atom in "/home/bender/my_video.mp4", client: 192.168.56.1, server: localhost, request: "GET /my_video.mp4?start=25 HTTP/1.1", host: "192.168.56.101" 我testing过的所有video都有超过60秒的持续时间,所以我不认为这是因为超出了时间范围。

videoStreming服务器出站带宽和提供商

想象一下Twitter Periscope或Meerkat的例子。他们的服务器的范例是,他们从用户接收video,然后将其stream式传输给大量的用户(为了这个论点说> 100K)。 现在,这是我的混乱。 假设一个video的比特率是2Mb / s(因为我们很喜欢1080p @ 30stream)。 也假设只有一个家伙播放。 所以:这个家伙需要2Mbps的出站带宽(没关系),服务器入站带宽也是~2Mbps(这太棒了),但是服务器的出站带宽应该是2Mbps * 100K = 200Gbps(圣牛) 这个问题对某些人来说可能是愚蠢的,但我仍然怀疑,像comcast,ATT,Level3这样的公司所看到的连接是最大10Gbps 他们如何pipe理出站连接提供商的带宽? 每台服务器机器连接10Gbps? 一个我不知道的计划? 或者他们根本不需要超过10Gbps? 谢谢!

HTTPSstream媒体和使用Wowza和AWS的dynamic负载均衡器

我们正在使用Wowza实例在AWS基础架构上执行实时stream式传输。 我们有一个脚本,负责监视负载平衡器,并根据每个边缘服务器的连接数/查看器的需要启动/closures实例。 它很适合HTTP/RTMP/RTMPTstream媒体。 我们现在正在尝试为HTTPSstream式传输实现dynamic负载平衡,并使缩放过程自动化。 我们面临的主要问题是如何以最好的方式实现自动化? 我们不知道将要启动的边缘服务器的IP地址,因此无法预先创buildDNSlogging。 一种可能的解决scheme是预留一些弹性IP(即20)和相同数量的DNS名称,并在缩放期间使用它们。 但是这将会限制我们可以dynamic启动的服务器的数量。 有没有更优雅的解决scheme,我们可以尝试实施? 我们的LB基础设施位于AWS VPC内部,我们有一个我们可以使用的明星证书。 此外, Wowza Load Balancer仅用于告诉查看器可用边缘服务器的IP。 之后,查看器直接连接到边缘服务器。

NGINX反向代理,configurationvideo(MJPG)stream以使用单一连接到后端服务器

我有一个问题天气可以configuration一个NGINX反向代理,以便它不会将videostream的每个请求都代理到后端服务器,而是打开单个连接来获取videostream并将其分发给客户端。 现在我使用下面的configuration。 server { listen 9000 ssl; server_name some.domain www.some.domain; error_log /var/log/nginx/error.cam.log; access_log /var/log/nginx/access.cam.log; ssl on; ssl_certificate /etc/letsencrypt/live/some.domain/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/some.domain/privkey.pem; location / { auth_basic "Login"; auth_basic_user_file /etc/nginx/auth/Somefile; proxy_pass http://XXX.XXX.XXX.XXX:9000/; proxy_http_version 1.1; proxy_buffering off; } } 每当客户端请求从NGINX服务器请求该站点时,导致新的后端到NGINX连接具有完全相同的videostream。 上图显示了传出networkingstream量:绿色= Nginx服务器,蓝色=后端服务器。 每个峰值意味着一个新的客户端访问videoMJPGstream。 所以问题是我有一个从后端到NGINX代理严格有限的性能,因为后端是一个树莓派,不能提供更多的30Mbit稳定的stream。 我已经尝试过缓冲等,但没有成功。 是否有任何方法使用单个连接到后端? 来自德国,弗洛的感谢和问候

Nginx会自动删除设置为有效的caching吗?

我build立了一个Nginx反向代理服务器,服务于另一台服务器上托pipe的mp4文件。 现在一切正常,除了caching。 虽然我有proxy_cache_valid设置为1天( proxy_cache_valid any 1d ),caching将始终自动删除一段时间后(5-10分钟,我认为)。 我的文件大小范围从200 – 1500MB(平均700MB)。 我无法弄清楚configuration有什么问题。 任何事情都可能有帮助 这里是configuration: worker_processes auto; worker_rlimit_nofile 100000; events { worker_connections 5000; multi_accept on; use epoll; } http { include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 10; keepalive_requests 1024; client_body_timeout 12; client_header_timeout 12; send_timeout 10; proxy_cache_path /tmp/mycache keys_zone=mycache:10m use_temp_path=off; limit_conn_zone $binary_remote_addr zone=addr:10m; […]

HTTP实时stream – 在Linux上如何做encryption?

我正在制作一些HTTP Live Streaming文件(一种基于苹果的方式来分割video文件,以便通过下载文件的特定块( 更多信息 )进行“stream式传输”)。 作为一种简单的DRMforms,可以用简单的密钥“encryption”每个分段。 苹果公司提供的工具可以做encryption,但由于各种原因,我需要在Linux(Ubuntu)上做到这一点。 什么工具/程序可以用这种方式encryptionLinux上的HTTP实时stream式处理段?

外部video托pipe – 它会吃我的带宽?

我之前就问过这个问题,但一直无法得到明确的答复或垃圾邮件。 一个客户端运行一个网站每月有限的带宽(10GB),但希望他的用户能够下载HQvideo。 现在,如果他将在亚马逊租用主机空间,下载仍然会通过他的网站。 那么这会吃掉他的带宽呢。 我们该如何解决呢?

你是什​​么意思的Windows媒体服务(Live和on demand)

我有一个关于terminal客户的询问,关于Windows媒体stream媒体服务(Live and on Demand) 一个用于Windows Media 9stream媒体服务的实时audiostream(推送到服务器方法)的发布点; 应能够以48 kbps(实况)或同等水平(结合按需服务的更高比特率的内容)stream式传输至最多1600个用户; RSTP; HTTP 1.0 / 1.1; 至less2 GB的硬盘空间用于点播内容: 他们已经告诉了5的数量 这是什么意思,这是一种软件或服务?

我怎样才能制定一个战略,为成千上万的用户提供45秒的video?

我正在closures一个网站上的开发,允许人们观看数以千计的平均长度为45秒的video。 我将在Linode上托pipeWeb应用程序,但我不确定是否应该使用Linode,云文件服务或定制服务器+ T1来提供video。 任何人都可以提供指导吗? 谢谢,

保持相同的TCP会话,加载balacing

通过http直播(HLS),我们需要将video片段一个接一个地传送给玩家,以连续的方式播放。 在许多stream媒体服务器上存在分段,我们将在这些服务器之间进行负载均衡以提供分段。 假设我们的应用程序服务器的每一个块的请求,我们redirect到最好的交付节点,一旦我们得到一个段请求。 是否会导致打开许多用于HTTP请求处理的TCP会话? 例如,在观看2小时电影时,每个用户会话将有1500个HTTP块请求(TCP会话)。 如果是这样,这可能是无效的,有没有办法让我们将每个查询请求redirect到交付节点,并维护相同的TCP会话?