标签: video-streaming

用Java流视频流

将实时视频录制和流式传输到许多客户端的最佳方法是什么?有图书馆吗?

java video stream video-streaming

28
推荐指数
3
解决办法
6万
查看次数

之后iOS视频流和存储在设备上

到目前为止,我知道如何流式传输视频以及如何下载视频,然后将其流式传输,但这里有点棘手:将其流式传输一次,将其存储在设备上以及将来从设备中播放.

那可能吗?

iphone objective-c video-streaming ios4 ios

28
推荐指数
1
解决办法
8587
查看次数

在ffmpeg中进行后处理以在MP4文件中移动'moov atom'(qt-faststart)

是否可以从命令行运行ffmpeg,它将'moov atom'元数据放在MP4文件的开头或运行qt-faststart作为ffmpeg中的后处理操作,这样生成的文件就可以通过互联网?

我当然可以将它作为一个单独的命令运行,但更喜欢它是某种东西

  • 作为ffmpeg中的选项,或
  • 作为转换后的一部分,通过ffmpeg转换视频文件时的命令行选项

编辑1

http://ffmpeg.org/ffmpeg.html#mov

MOV/MP4复用器

多路复用器选项包括:

'-moov_size字节'

Reserves space for the moov atom at the beginning of the file instead of 
placing the moov atom at the end. If the space reserved is insufficient, 
muxing will fail.
Run Code Online (Sandbox Code Playgroud)

mp4 ffmpeg video-processing video-streaming video-conversion

28
推荐指数
2
解决办法
4万
查看次数

亚马逊S3托管流媒体视频

如果我公开发布亚马逊s3 MP4资源,然后在资源的URL周围抛出Html5视频标签,它会流吗?这真的很简单吗?有很多"编码"api,比如pandastream和zencoder,我不确定这些公司到底做了什么.他们只是管理带宽分配(升级/降级流质量和交付率/跨平台优化吗?)或者编码服务做得更多.

html5 amazon-s3 video-streaming

27
推荐指数
4
解决办法
4万
查看次数

视频流和Android

今天我的一个应用程序(Android 2.1),我想从URL流式传输视频.

至于我探索Android SDK它非常好,我几乎喜欢它的每一部分.但现在谈到视频流,我有点迷茫.

有关Android SDK所需的任何信息,您有数以千计的博客告诉您如何操作.谈到视频流,它是不同的.信息很丰富.

每个人都这样做,这是在这里和那里欺骗.

是否有任何众所周知的程序允许用户流式传输视频?

谷歌是否认为让开发人员更容易?

streaming android video-streaming

27
推荐指数
1
解决办法
3万
查看次数

VideoJS居中播放按钮

我以为我会分享一些代码,可能会派给某人使用.这是一个以视频-js播放器中的播放按钮为中心的功能,它适用于我.你只需要在暂停事件和播放器初始化而不是自动播放时调用它.

请享用!

function CenterPlayBT() {
   var playBT = $(".vjs-big-play-button");
   playBT.css({
      left:( (playBT.parent().outerWidth()-playBT.outerWidth())/2 )+"px",
      top:( (playBT.parent().outerHeight()-playBT.outerHeight())/2 )+"px"
   });
}
Run Code Online (Sandbox Code Playgroud)

video video-streaming html5-video

27
推荐指数
1
解决办法
3万
查看次数

是否可以使用AVPlayer缓存HLS段?

根本问题

在iOS中搜索时,我们的视频会缓冲很多.它比我们的网络播放器缓冲得更多,它可以在临时存储中保存已经观看的片段的副本.

期望的解决方案

在设备的磁盘上本地缓存视频片段.我们很好地缓存单一质量并且总是重播它.

拦截器

我们找不到在AVFoundation/AVPlayer中执行缓存的方法.

我们尝试过什么

使用AVPlayer拦截网络请求的两种方法.

  1. 符合AVAssetResourceLoaderDelegate并手动处理媒体加载

不适用于HLS.您可以通过实现AVAssetResourceLoaderDelegate来加载m3u8文件,它允许您通过身份验证或解密响应,但无法加载.ts文件.这是我们尝试的代码:https: //gist.github.com/nathanhillyer/84e46152d7c4c88183b6

  1. 实现NSURLProtocol以捕获.ts文件请求.

AVURLAsset实际上避免被截获.不知何故,网络请求只是没有被捕获.(不知道为什么)

avfoundation video-streaming http-live-streaming ios avplayer

27
推荐指数
1
解决办法
8210
查看次数

在c#中创建MJPEG视频流

我将图像从远程视频源以大约每秒5帧的速度发送到我的数据库作为JPEG图像.我试图找出如何将这些图像转换为视频格式,以便我可以将实时视频源流式传输到Silverlight.

创建MJPEG流似乎有意义,但我遇到了一些问题.首先,我试图通过HTTP请求流,所以我没有与套接字达成协议,但这可能会破坏我的代码.

如果我尝试从QT冲浪到我的流我得到视频错误,媒体播放器显示第一帧图像和Silverlight崩溃:)

这是流的代码 - 因为我使用这种方式的内容类型只有在我知道它不理想并且可能是根本原因时才能发送.所有图像都通过LINQ2SQL对象进入.

我已经尝试过简单地更新Silverlight中图像控件的图像源,但闪烁是不可接受的.如果Silverlight不支持MJPEG,那么即使继续也没有意义,但看起来确实如此.我确实可以访问h.264帧,但通过MP4看起来更复杂.

    Response.Clear();
    Response.ContentType = "multipart/x-mixed-replace; boundary=--myboundary";
    ASCIIEncoding ae = new ASCIIEncoding();
    HCData data = new HCData();
    var videos = (from v in data.Videos
                 select v).Take(50); // sample the first 50 frames
    foreach (Video frame in videos)
    {
        byte[] boundary = ae.GetBytes("\r\n--myboundary\r\nContent-Type: image/jpeg\r\nContent-Length:" + frame.VideoData.ToArray().Length + "\r\n\r\n");
        var mem = new MemoryStream(boundary);
        mem.WriteTo(Response.OutputStream);
        mem = new MemoryStream(frame.VideoData.ToArray());
        mem.WriteTo(Response.OutputStream);
        Response.Flush();
        Thread.Sleep(200);
    }
Run Code Online (Sandbox Code Playgroud)

谢谢!

编辑:我有在firefox中工作的流,所以如果我浏览页面,我会看到视频!但没有其他人接受这种格式.不是IE,SL,媒体播放器 - 没什么.

c# video mjpeg video-streaming

26
推荐指数
1
解决办法
3万
查看次数

使用Java实时视频流?

有没有好的库用于使用Java流式传输实时视频?理想情况下,管道的两端应该用Java编写,但我最关心的是视频播放器.你会推荐什么软件?

更新:似乎VLC引入了1-2秒的延迟.我需要真正直播的视频流.记录到播放延迟必须小于300毫秒.

java video-streaming

26
推荐指数
2
解决办法
10万
查看次数

使用Media Source Extensions在IE/Edge中进行视频缓冲

我们正在尝试使用MSE(媒体来源扩展)在网站上显示实时视频.我们正在通过websocket发送帧,并尽最大努力保持延迟.我们目前的原型在IE,Edge,Chrome,Safari等中流畅.我们遇到的问题是IE和Edge坚持在开始播放视频前大约3-5秒进行缓冲.这在我们的使用案例中是不可接受的(来自安全摄像机的实时视频).我们想知道是否有一些属性或类似(我们已经尝试设置preload = none,但没有成功),这会删​​除此缓冲?当第一帧添加到sourceBuffer时,所有其他浏览器开心地开始播放,并且我们希望IE/Edge具有相同的行为.您可以为我们建议其他任何解决方法吗?

帧采用ISO BMFF格式

这是我创建的一个再现示例,它测量从第一帧附加到视频开始播放的时间.它使用间隔来欺骗通过websocket到达的数据.

结果:

Browser       Delay(ms)
-----------------------
Chrome:           ~300
Safari @ Mac:       ~7
Chrome @ Android:  ~30
IE11 @ Win10:    ~3200
Edge:            ~3200
Run Code Online (Sandbox Code Playgroud)

是mp4文件,如果你想检查它.

javascript video-streaming internet-explorer-11 media-source microsoft-edge

25
推荐指数
2
解决办法
2978
查看次数