Questions tagged «video-streaming»

视频流是将视频从服务器传递到客户端的过程。这与简单下载整个视频文件不同,因为客户端可以在下载视频的同时观看视频。


4
通过WiFi从一台Android手机到另一台Android手机的实时流视频
我已经在互联网上搜索了几天,以了解如何通过WiFi连接从一个Android手机到另一个Android手机实现视频流功能,但是我似乎找不到任何有用的东西。我在android开发人员中查看了示例代码,stackoverflow,google,android博客,但一无所获。我所能找到的是某种用于流媒体的电话到桌面或桌面到电话解决方案,但是我在实现过程中没有什么可以借鉴的。 我需要使用arduino ADK控制机器人,所以我正在使用2部电话,一部将安装在机器人上,另一部将从机器人接收视频流。我之所以这样说是因为我试图在广播时间和观看时间之间实现最小的延迟。 我正在编写2个应用程序,一个主要应用程序(通过手持电话控制机器人)将控制从属应用程序并接收流,第二个从属应用程序将在机器人控制的电话上运行,从而控制电机/执行器/流式传输到主应用程序。我无法使用第三方应用程序。我需要将视频流代码集成到我的2个应用中。 有哪些选择可以实现这一目标?这也是很难做到的,因为我从未使用过视频流,很难在Java和Android开发中都做得很好。我应该如何编码/解码流,如何启动连接,是否需要使用UDP而不是TCP / IP?我真的不知道从哪里开始,哪里都没有示例代码。我很确定这可以实现。我只是找不到任何有用的方法来帮助我朝正确的方向入手。 我偶然发现了spydroid, 但它在桌面上使用VLC,因此对我不利。 编辑:查看Cagney Moreau的博客。他详细介绍了如何实现这一点。

13
视频流上的TCP与UDP
我刚从网络编程考试中回来,他们问我们的一个问题是“如果要流式传输视频,您将使用TCP还是UDP?对存储的视频和实时视频流进行解释”。对于这个问题,他们只是希望对存储的视频使用TCP做出简短的回答,对实时视频使用UDP做出简短的回答,但是我在回家的路上就想到了这一点,并且使用UDP传输实时视频是否一定更好?我的意思是,如果您有足够的带宽,并且说您正在直播足球比赛或音乐会,那么您真的需要使用UDP吗? 可以说,在播放此音乐会或使用TCP的任何内容时,您开始丢失数据包(在您和发送方之间的某些网络中发生了一些不好的事情),并且一整分钟您都没有收到任何数据包。视频流将暂停,一分钟后,数据包将再次开始通过(IP为您找到了一条新路由)。然后将发生的情况是,TCP将在您丢失的那一刻重新传输并继续向您发送实时流。假设带宽高于流的比特率,并且ping不太高,因此在很短的时间内,您丢失的一分钟将为您充当流的缓冲区。 ,如果再次发生丢包,您将不会注意到。 现在,我可以想到一些不是一个好主意的设备,例如视频会议,您需要始终处于视频流的结尾,因为视频聊天过程中的延迟太可怕了,但是在足球比赛或音乐会中,如果您落后于直播,那又有什么关系呢?另外,可以确保您获得所有数据,并且最好保存起来以备以后查看,而不会出现任何错误。 因此,这使我想到了问题。使用TCP进行实时流传输是否有我不知道的缺点?还是真的应该这样,如果您有带宽,那么就应该使用TCP,因为它对网络“更小”(流控制)?

15
如何在网页中显示RTSP视频流?
我有一个提供实时RTSP视频流的IP摄像机。我可以使用VLC媒体播放器,通过为其提供URL来查看提要: rtsp://cameraipaddress 但是我需要在网页上显示提要。相机提供程序提供了一个我正在使用的ActiveX控件,但它确实有问题,并导致浏览器频繁挂起。 有人知道我可以使用支持RTSP的任何其他视频插件吗? 可以将摄像机配置为以H264或MPEG4流式传输。

4
播放HTML5中无限循环播放的视频
我希望将视频放置在HTML5页面中,该页面将在页面加载时开始播放,并在完成后立即循环回到开头。视频也应该不具有任何相关的控制,以及无论是与所有的“现代”的浏览器兼容,或者有填充工具的选项。 以前,我会通过Flash和来完成此操作FLVPlayback,但我希望避免Flash在HTML5领域使用。我以为可以使用javascriptsetTimeout创建一个平滑的循环,但是应该使用什么嵌入视频本身呢?有什么东西可以像流媒体一样播放视频FLVPlayback吗?

8
如何使用webRTC和基于服务器的对等连接录制网络摄像头和音频
我想记录用户的网络摄像头和音频并将其保存到服务器上的文件中。这些文件随后将可以提供给其他用户。 回放没有问题,但是在录制内容时遇到了问题。 我的理解是.record()尚未编写getUserMedia函数-到目前为止仅对此提出了建议。 我想使用PeerConnectionAPI在服务器上创建对等连接。我知道这有点麻烦,但是我认为应该可以在服务器上创建一个对等方并记录客户端对等方发送的内容。 如果可以的话,那么我应该能够将数据保存为flv或任何其他视频格式。 我的偏好实际上是录制网络摄像头+音频客户端,以便客户端在上载之前不喜欢他们的第一次尝试时重新录制视频。这也将允许网络连接中断。我看过一些代码,可以通过将数据发送到画布来记录网络摄像头中的单个“图像”,这很酷,但是我也需要音频。 这是我到目前为止的客户端代码: <video autoplay></video> <script language="javascript" type="text/javascript"> function onVideoFail(e) { console.log('webcam fail!', e); }; function hasGetUserMedia() { // Note: Opera is unprefixed. return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia); } if (hasGetUserMedia()) { // Good to go! } else { alert('getUserMedia() is not supported …


8
HTML5直播
对于学校,我需要设置一个HTML5实时流网站。他们有一个一直在使用的Flash Player,但现在他们希望它改用HTML5。我怎样才能做到这一点?我尝试使用视频标签,但无法正常运行。下面是我的代码。有人可以指出我正确的方向吗? <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Deltion Live Streaming</title> <script language="javascript" type="text/javascript" src="../swfobject.js"></script> </head> <body> <video id="movie" width="460" height="306" preload autoplay> <source src="rtmp://fl2.sz.xlcdn.com:80/sz=Deltion_College=lb1" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> <!-- HERE THE CODE FOR THE ALTERNATIVE PLAYER (FLASH) WILL BE! --> </video> </body> </html>

5
Firebase存储视频流
我正在开发一个具有视频流功能的应用程序。我正在使用Firebase数据库和Firebase存储。我正在尝试查找有关Firebase存储如何处理视频文件的文档,但实际上找不到太多。 在文档中提到Firebase存储可以与其他Google应用服务一起使用,以允许CDN和视频流式传输,但是所有搜索似乎都陷入了死胡同。有什么建议吗?

1
具有安全链接模块的NGINX open()失败(20:不是目录)hls vod
我对hls流的nginx配置有问题。我使用kaltura nginx vod模块并尝试添加ngx_http_secure_link_module以保护流。奇怪的是,如果启用,则会出现404错误ngx_http_secure_link_module(下面的日志)。我认为这是因为它最后找不到带有index.m3u8的文件,但是如果我评论安全链接块,它就可以正常工作。 我也试图在location ~ \.m3u8$ {}块内添加别名,但是没有用。我究竟做错了什么?如何保护我的信息流? 我的信息流链接: https://stream.example.com/hls/c14de868-3130-426a-a0cc-7ff6590e9a1f/index.m3u8?md5=0eNJ3SpBd87NGFF6Hw_zMQ&expires=1609448340 我的NGINX配置: server { listen 9000; server_name localhost; # root /srv/static; location ^~ /hls/ { # the path to c14de868-3130-426a-a0cc-7ff6590e9a1f file alias /srv/static/videos/1/; # file with cors settings include cors.conf; vod hls; # 1. Set secret variable set $secret "s3cr3t"; # 2. …

2
提供少量输入样本后,英特尔图形硬件H264 MFT ProcessInput调用失败,在Nvidia硬件MFT上也可以正常工作
我正在使用DesktopDuplication API捕获桌面,并将示例从RGBA转换为GPU中的NV12,并将其提供给MediaFoundation硬件H264 MFT。这在Nvidia图形以及软件编码器上都可以正常工作,但是在只有Intel图形硬件MFT可用时失败。如果我退回到Software MFT,该代码在同一台Intel图形计算机上也可以正常工作。我还确保了编码实际上是在Nvidia图形计算机上的硬件中完成的。 在Intel图形上,MFT返回MEError(“未指定错误”),仅在馈入第一个样本后才发生,随后对ProcessInput的调用(当事件生成器触发METransformNeedInput时)返回“被调用方当前不接受进一步的输入”。MFT很少会在返回这些错误之前消耗更多的样本。这种行为令人困惑,仅当事件生成器通过IMFAsyncCallback异步触发METransformNeedInput时,我才提供示例,并且还应检查提供示例后是否立即触发METransformHaveOutput。当相同的异步逻辑与Nvidia硬件MFT和Microsoft软件编码器一起正常工作时,这真让我感到困惑。 也有类似的 英特尔论坛本身未解决问题。我的代码类似于intel线程中提到的代码,除了我还将d3d设备管理器设置为如下所示的编码器这一事实。 并且,还有其他三个堆栈溢出线程报告了类似的问题,但没有给出解决方案(MFTransform编码器-> ProcessInput返回E_FAIL& 如何从D11纹理为Intel MFT编码器创建IMFSample&异步MFT没有发送MFTransformHaveOutput事件(Intel硬件MJPEG解码器MFT))。我尝试了所有可能的选择,对此没有任何改进。 颜色转换器代码取自intel media sdk示例。我也在这里上传了完整的代码。 设置d3d管理器的方法: void SetD3dManager() { HRESULT hr = S_OK; if (!deviceManager) { // Create device manager hr = MFCreateDXGIDeviceManager(&resetToken, &deviceManager); } if (SUCCEEDED(hr)) { if (!pD3dDevice) { pD3dDevice = GetDeviceDirect3D(0); } } if (pD3dDevice) { // NOTE: …

3
在ffplay中获得绿屏:使用Live555通过RTP流将桌面(DirectX表面)作为H264视频流
我正在尝试使用Windows10上的Live555和Windows Media Foundation的硬件编码器通过RTP流将桌面(NV12格式的DirectX表面)流化为H264视频,并期望它可以由ffplay(ffmpeg 4.2)呈现。但是只有如下所示的绿屏, 我提到了MFWebCamToRTP mediafoundation-sample和使用硬件MFT编码DirectX表面,以实现live555的FramedSource并将输入源更改为DirectX表面而不是webCam。 这是我的Live555的doGetNextFrame回调实现的摘录,以从directX表面提供输入样本: virtual void doGetNextFrame() { if (!_isInitialised) { if (!initialise()) { printf("Video device initialisation failed, stopping."); return; } else { _isInitialised = true; } } //if (!isCurrentlyAwaitingData()) return; DWORD processOutputStatus = 0; HRESULT mftProcessOutput = S_OK; MFT_OUTPUT_STREAM_INFO StreamInfo; IMFMediaBuffer *pBuffer = NULL; IMFSample *mftOutSample …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.