问题标签 [h.264]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2796 浏览

video - 视频流基础设施

我们想建立一个实时视频聊天网站,并正在寻找基本的架构建议和/或使用特定框架的建议。以下是该网站的基本功能:

  • 大多数流将由一个人通过网络摄像头等进行现场直播,通常由 1-10 人观看,尽管可能有多达 100 多名观众在高位观看。

  • 音频和视频不必是超高质量的,但需要“足够好”。要点是在视频(和音频)中传达基本信息。如果偶尔帧率下降,然后很快恢复正常,我们可以忍受。

  • 预算是一个问题,所以我们一般都在寻找一种成本更低的解决方案,它可以满足我们在性能和质量方面的大部分需求。

  • 我们正在寻找 Peer1 的 co-lo。

  • 我们网站的其余部分将是.Net / Windows 平台。尽管我们的技术专长目前更多地集中在 Windows 方面,但我们愿意为任何平台寻找最佳的流媒体解决方案。

0 投票
6 回答
18577 浏览

html - H.264 / FLV HTML 最佳实践

我经营着一个网站,其中包含大约 700 个参考视频(不,它不是色情片——让你的思想摆脱阴沟:-))。

视频目前为 FLV 格式。我们使用 JWPlayer 来渲染这些视频。IIS6 托管。一切正常。

据我了解,H.264(不是 FLV,可能不是 OGG)是新兴的首选 HTML5 视频标准。今天,iPad 真的只尊重 H.264 或 YouTube。据推测,很快许多更重要的浏览器将效仿 Apple 并仅尊重 HTML5 标签。

好的,所以我想我可以弄清楚如何将我现有的视频转换为正确的 H.264 格式。有多种工具可用,包括 ffmpeg.exe。我还没有尝试过,但在摆弄编解码器设置后,我认为这不会成为问题。

我的问题更多是关于容器本身——即为所有用户规划优雅的过渡。渲染这些视频的最佳实践建议是什么?如果我只使用 HTML5 标签,那么大概任何不支持 HTML5 的浏览器都不会看到视频。如果我通过 JWPlayer 或其他播放器以 Flash 格式渲染它们,那么它们将无法在 iPad 上播放。我是否必须在这里进行丑陋的 UserAgent 检测才能确定要渲染的内容?

我知道 JWPlayer 支持 H.264 媒体,但播放器本身不是 Flash 组件,因此不能在 iPad 上播放吗?抱歉,如果我不清楚,但我正在摸索一个优雅的过渡计划,该计划适用于当前的浏览器、iPad 和即将到来的 HTML5 浪潮。我不是视频专家,所以欢迎任何建议,谢谢。

0 投票
1 回答
4471 浏览

asp.net - ASP.net FFMPEG 视频转换接收错误:“发生错误号-2”

我正在尝试将 FFMPEG 集成到我的 asp.net 网站中。我要完成的过程是上传视频,检查它是 .avi、.mov 还是 .wmv,然后使用 x264 将此视频转换为 mp4,以便我的 Flash 播放器可以播放它。

我正在使用 http 处理程序 (ashx) 文件来处理我的上传。这也是我放置转换代码的地方。我不确定这是否是放置它的最佳位置,但我想看看我是否至少可以让它工作。

此外,我还可以通过 cmd 行手动完成转换。当我从执行的进程中输出标准错误时,出现错误 -2。

这是我收到的错误:

FFmpeg 版本 SVN-r23001,版权所有 (c) 2000-2010 FFmpeg 开发者

使用 gcc 4.4.2 于 2010 年 5 月 1 日 06:06:15 构建

配置: --enable-memalign-hack --cross-prefix=i686-mingw32- --cc=ccache-i686-mingw32-gcc --arch=i686 --target-os=mingw32 --enable-runtime-cpudetect - -enable-avisynth --enable-gpl --enable-version3 --enable-bzlib --enable-libgsm --enable-libfaad --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libspeex - -enable-libmp3lame --enable-libopenjpeg --enable-libxvid --enable-libschroedinger --enable-libx264 --enable-libopencore_amrwb --enable-libopencore_amrnb

libavutil 50.15。0 / 50.15。0 libavcodec 52.66。0 / 52.66。0 库格式 52.61。0 / 52.61。0 libavdevice 52. 2. 0 / 52. 2. 0 libswscale 0.10. 0 / 0.10。0

532010_Robotica_720.wmv:出现错误号 -2

这是下面的代码:

导入 System 导入 System.Web 导入 System.IO 导入 System.Diagnostics 导入 System.Threading

公共类上传:实现 IHttpHandler

结束类

0 投票
4 回答
21677 浏览

browser - 如何播放 H264 视频?

我从摄像机(来自安全摄像机)收到以下视频文件 http://dl.dropbox.com/u/1369478/tmw/recording.264

如何查看内容?基于扩展我认为这是一个 H264 文件。有没有办法在带有 HTML5 的浏览器上播放这个?

问候

0 投票
1 回答
1677 浏览

h.264 - Flowplayer H.264 视频编码

我已经使用 H.264 对视频进行了编码,使用手刹“iPhone 和 iPod Touch”的所有标准设置并启用了针对 Web 的优化,因为我被告知这会添加元数据,以便可以流式传输视频。这似乎确实有效,但我没有收到视频,只有音频。这是有问题的mp4文件。 http://c1592452.cdn.cloudfiles.rackspacecloud.com/videos/36/original/deloitte.mp4

在 quicktime 中播放时效果很好,但 flowplayer 似乎有问题。我对视频进行了错误的编码吗?

0 投票
3 回答
4512 浏览

video - 为什么在发送方/接收方管道中使用 H264 只会引入巨大的延迟?

当我尝试创建使用 H264 传输视频的管道时,我得到了一些巨大的延迟,将视频从我的机器传输到......我的机器长达 10 秒!这对我的目标来说是不可接受的,我想咨询 StackOverflow 我(或其他人)做错了什么。

我从 gstrtpbin 文档页面获取管道并稍微修改它们以使用 Speex:

这是发送方管道:#!/bin/sh

接收器管道:

!/bin/sh

这些管道,H263 和 Speex 的组合,工作得很好。我在相机和麦克风附近打了个响指,然后我同时看到运动和听到声音。

然后我更改了管道以沿视频路径使用 H264。

发件人变成:#!/bin/sh

接收器变为:#!/bin/sh

这就是在 Ubuntu 10.04 下发生的情况。我没有注意到 Ubuntu 9.04 上有如此巨大的延迟——延迟在 2-3 秒之间,AFAIR。

0 投票
1 回答
6441 浏览

c++ - FFMpeg 将 RGB 图像编码为 H264

我正在开发一个 DirectShow 过滤器,它有 2 个输入引脚(1 个用于音频,1 个用于视频)。我正在使用 FFMpeg 的 libavcodec/libavformat/libavutil 将视频编码为 H264,将音频编码为 AAC,并使用 RTP 对它/流进行复用。到目前为止,我能够使用 libavcodec 正确编码视频和音频,但现在我看到 FFMpeg 似乎也支持 RTP 多路复用。不幸的是,我找不到任何显示如何执行 H264 编码和 RTP 多路复用的示例代码。有人知道好的样品吗?

0 投票
1 回答
1857 浏览

video - 从 h264 编码器中提取帧

如何从 h264 编码器中提取帧?我想使用 I 帧比特流。有没有人告诉我如何获得这些帧。我用 jm 15。谢谢

0 投票
0 回答
748 浏览

h.264 - 如何在 RTP 流中查找特定时间?

我正在流式传输具有以下结构的预先录制的 H264 视频:

在 IDR 之间(在我的结构中)我有 32 个(此处仅显示 3 个)其他框架(所有其他不是 IDR 的东西,如 SEI、SPS、PPS ... X-es)

现在,假设我的帧的时间是这样的:

现在我想寻找时间 4。如果我寻找那个帧并发送它,图片就会变得混乱,因为解码器需要一个 IDR 才能正确解码,所以我求助于找到合适的 IDR(在这种情况下是一个时间 1) 并将其作为时间 4 的帧发送。所以现在图片已正确解码,一切都很好......但是......如果我的 GOV 是 32,我需要发送非 IDR 帧有索引 31,如果它和相应的 IDR 之间的时间跨度是 3 秒,我实际上比我想要的时间早了 3 秒。现在,这并不精确,因为我无法找到 GOV 时间跨度的一半。另外,我不能设置更小的 GOV,所以我想要其他想法......

我的另一个想法是发送最后一个已知的 IDR,然后发送在我想要的之前的所有其他非 IDR 帧,只有我会将所有这些 RTP-TIME 设置为与相应的 IDR 相同。在这种情况下,图片被完美解码,但现在在上述情况下,非 IDR 帧之后的 3 秒与所需时间在解码器/播放器中得到快节奏(没有瞬时搜索)......

有任何想法吗?或者我只能寻找 IDR-s 而不是中间的帧?

0 投票
2 回答
3268 浏览

java - 从png图像编码h264视频......在JAVA中

是否有免费的 jar 文件可以帮助我将一组 png 文件转换为 .avi 文件?

只是寻找与不需要过时 JMF 的 java 兼容的编解码器。

谢谢大家!