标签: video-streaming

将视频转换为 mjpeg 文件格式

我有一个 java 程序来流式传输 mjpeg 文件。我无法在任何地方找到 mjpeg 文件。谁能帮助我如何获取文件。或者告诉我如何将文件转换为 mjpeg 格式?我曾尝试使用总视频转换器将 avi 文件转换为 mjpeg,但没有奏效。

video-streaming

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

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

从服务器下载流式传输视频

我确定这毕竟可能是一个愚蠢的问题,但我有一个个人项目,我想开发一个带有 html5 视频的应用程序网络,该视频从托管文件的服务器服务 (mega.co.nz) 中缓冲视频,Mega 提供一个用于基础操作的 API,我想要的只是简单地缓冲视频,但我对流媒体事务中的所有关注点都有模糊的知识,我进行了详尽的搜索,但我没有找到太多东西,或者我在搜索这些术语时非常模棱两可,我希望如果有人可以向我发布关于 javascript 和 html5 下的流缓冲的页面资源,我将不胜感激:)

问候!

html javascript video-streaming

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

使用FFMPEG将屏幕截图编码为视频

我正试图从屏幕上获取像素,并使用ffmpeg将屏幕截图编码为视频.我见过几个例子,但他们要么假设你已经有像素数据,要么使用图像文件输入.好像我是否使用sws_scale()(包含在我见过的示例中),或者我是否对HBITMAP或RGBQUAD*进行类型转换,它告诉我图像src数据不好并且编码为空白图像而不是截图.这里有什么我想念的吗?

AVCodec* codec;
AVCodecContext* c = NULL;
AVFrame* inpic;
uint8_t* outbuf, *picture_buf;
int i, out_size, size, outbuf_size;
HBITMAP hBmp;
//int x,y;

avcodec_register_all();

printf("Video encoding\n");

// Find the mpeg1 video encoder
codec = avcodec_find_encoder(CODEC_ID_H264);
if (!codec) {
    fprintf(stderr, "Codec not found\n");
    exit(1);
}
else printf("H264 codec found\n");

c = avcodec_alloc_context3(codec);
inpic = avcodec_alloc_frame();

c->bit_rate = 400000;
c->width = screenWidth;                                     // resolution must be a multiple of two
c->height = screenHeight;
c->time_base.num = 1;
c->time_base.den = 25;
c->gop_size = 10;                                           // emit …
Run Code Online (Sandbox Code Playgroud)

c++ encoding ffmpeg video-streaming

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

带有 rtmp 模块的 Nginx 使用 HLS/http 按需流式传输视频

我打算做一个视频点播流媒体解决方案,每周大约有 500 到 1000 次点击。我每周通过 Wowza Media Server 和 Amazons EC2 流式传输一次现场活动。现在的计划是在一周内记录该事件,直到下一个实时事件,然后用新记录覆盖该文件。Wowza 是 24/7 的昂贵解决方案,并且在一周内我们不会有那么多并行流量,这使我使用 rtmp-module 的 nginx。我玩过它,a) 使用它进行直播(仅限 RTMP/Flash)和 b) 通过 RTMP/Flash 制作文件的视频点播流没有问题。但是对于 iOS、Android 等移动设备,我需要像 Wowza 那样有一个 http/hls 流。我知道可以使用 nginx 和 rtmp-module 获得实时事件的 http/hls 流。但我不 不知道是否可以使用 nginx 和 rtmp-module 按需提供 http/hls 流。我找不到有关此的任何信息,所有示例配置仅适用于直播流,而不适用于 VoD。

谁能告诉我:

  1. 使用 nginx 和 rtmp-module 是否可以通过 http/hls 进行 VoD?
  2. 示例配置会是什么样子?

nginx rtmp video-streaming html5-video wowza

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

来自相机的 MediaCodec 视频流错误方向和颜色

我正在尝试直接从android 设备的相机流式传输视频捕获。到目前为止,我已经能够从 android 相机的onPreviewFrame (byte[] data, Camera camera) 函数捕获每一帧,对数据进行编码,然后成功解码数据并显示到表面。我使用 android 的MediaCodec进行编码和解码。但是视频的颜色和方向不正确 [旋转 90 度]。搜索了一段时间后,我发现了这个 YV12toYUV420PackedSemiPlanar 函数 - 如果我在将原始相机数据传递给编码器之前在原始相机数据上使用这个函数,颜色显示正确,但它仍然旋转了 90 度

public static byte[] YV12toYUV420PackedSemiPlanar(final byte[] input, final int width, final int height) {

    final int frameSize = width * height;
    final int qFrameSize = frameSize/4;
    byte[] output = new byte[input.length];


    System.arraycopy(input, 0, output, 0, frameSize);
    for (int i = 0; i < (qFrameSize); i++) 
    {
        byte b …
Run Code Online (Sandbox Code Playgroud)

android video-encoding video-streaming h.264 android-mediacodec

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

HTML5 视频 - ashx 处理程序 - 寻求

我正在尝试使用 ashx 处理程序作为 HTML5 视频源。我可以做到这一点,但我无法在已经缓冲的视频上进一步前进。

我可以在使用标准 MP4 源的网络选项卡上看到,向前查找会创建另一个请求,但使用处理程序则不会。

有些视频超过 1 GB。

到目前为止,这是我必须让视频正常工作的内容:

public void ProcessRequest(HttpContext context)
{
    context.Response.Buffer = false;
    context.Response.ContentType = "video/mp4";
    FileInfo file = new FileInfo(path);
    int len = (int)file.Length, bytes;
    context.Response.AppendHeader("content-length", len.ToString());
    byte[] buffer = new byte[1024];
    Stream outStream = context.Response.OutputStream;
    using (Stream stream = File.OpenRead(path))
    {
        while (len > 0 && (bytes = stream.Read(buffer, 0, buffer.Length)) > 0)
        {
            outStream.Write(buffer, 0, bytes);
            len -= bytes;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

摘自 Marck Gravells 的帖子Best way to stream …

html video ashx video-streaming html5-video

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

如何在Google App Engine Blobstore上提供mp4流媒体视频

我使用GAE来提供大文件,我可以使用简单的方式成功提供mp3 blobstoreService.serve(key, res);如果我将资源网址放在浏览器中,媒体控件将出现和/或媒体播放器将启动,音乐将在下载之前启动完成了.

但是,当我在Chrome中添加mp4网址时,控件会出现,但没有任何反应.这是我做的:

  1. 没有内容处置以避免下载.如果我把内容配置,那么浏览器将下载视频.
  2. 我甚至使用ffmpeg转换视频并将-movflags faststart选项放在那里,但没有区别.
  3. 我还将响应头设置Accept-Ranges:bytes为第一个请求,我观察到下一个请求仍然要求完整的75MB范围.即使浏览器要求所有内容,我应该只部分服务吗?
  4. 或者如何让浏览器知道我想要一块一块地提供服务,这样请求就会有范围.内容长度是否必要?我应该处理HEAD请求吗?我相信现在我的servlet只处理GET.
  5. 我的网址如http://www.somesite.com/serve?folder=aa&file=ok.MP4 Chrome控制台显示只下载1MB然后停止
  6. 除了我的GAE url是src之外,html代码如下所示.示例mp4有效,但如果我的gae链接在那里,它根本不显示视频.

    <video width ="640"controls =""> <source src ="http://www.w3schools.com/html/mov_bbb.mp4"type ="video/mp4">您的浏览器不支持HTML5视频.</视频>

GAE服务器端需要做什么才能使用流媒体提供视频服务?

回答

标记的答案提供了有关如何提供mp4文件的充分信息,它还提供了一个用于演示的实时网页.通过该演示,只要Chrome浏览器可以解码,我就可以告诉我的网站可以提供mp4文件.我遇到的问题是由于Chrome无法识别ffmpeg中使用的编解码器.改为H.264,一切正常.

以下是ffmpeg命令行的一个示例,其中OK.MTS是摄像机文件,output1.mp4将被上传:

ffmpeg -i ok.MTS -codec:v libx264 -profile:v baseline -preset slow -b:v 500k -maxrate 800k -bufsize 1000k -vf scale=-1:432 -threads 0 -b:a 96k output1.mp4
Run Code Online (Sandbox Code Playgroud)

java google-app-engine mp4 video-streaming blobstore

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

多个视频的 ffprobe show_frames

有什么方法可以在一个文件中同时查看多个视频的帧?

我知道如何为一个视频做到这一点-

ffprobe -show_frames http://myvirtualdirectory/myvideo.mp4 > output.txt

我的虚拟目录中有很多视频 - 所以我想在一个文件中查看所有视频帧。

有什么方法可以从我的本地目录中看到帧 - 而不是从虚拟目录(如 (http://....)

video ffmpeg video-streaming ffprobe

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

如何将流rtsp媒体嵌入到html5页面中

我有一个安全凸轮通过rtsp发送,我可以在vlc播放器上捕获,但我想将其嵌入到我的网页中.我一直在寻找如何做到这一点的几个小时,但未能找到有关如何执行此操作的最新文档.

我也没有设置在vlc,所以我基本上试图从cam - > rtsp - >播放器(如果需要) - > html嵌入.

任何帮助,将不胜感激.我知道这是一个悬而未决的问题,但我没能在网上找到我需要的东西,所以我对任何解决方案持开放态度.

话虽如此,我不是在寻找第三方提供商将流发送给我.出于安全原因,流不会退出化合物.

请不要发送旧链接到旧文章.我已经洗过,可能已经读完了,我的经验是事情发生了变化.我正在寻找那些经历过类似问题并能够解决问题的人的答案.谢谢!

html media html5 vlc video-streaming

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