小编Got*_*tys的帖子

为什么 H.264 视频在 FLV 容器中比在 MP4 容器中快得多?

我正在开发一个电子管站点,目前遇到了 H.264 格式的问题。我注意到 YouTube 将他们的高清视频放入 MP4 容器中,所以从逻辑上讲,我也这样做了。

接下来,我mod_h264_streaming为 lighttpd安装了流媒体和时间线清理工作。

问题是大文件(> 500MB,分辨率稍高)甚至需要很长时间才能开始缓冲(我读到 Flowplayer 和其他 Flash 播放器需要先下载元数据)。我使用 MP4Box 将 xmov 原子移到文件的前面(我也尝试过 Qt QuickStart),但这没有帮助。

接下来,我读到我需要交错音轨,所以我也这样做了。这没有引起任何变化:视频仍然很慢。

因此,我尝试将完全相同的 H.264 电影放入 FLV 容器中,并且播放缓冲几乎立即开始 - 没有变慢。

那么我在这里错过了什么?为什么我会选择带有模块的 MP4 容器mod_264_streaming,它看起来超慢,而不是内置 lighttpd 的常规 FLV 容器mod_flv_streaming?显然,许多网站选择 MP4 容器,但我不明白为什么。

作为一个附带问题,我尝试使用 HTML5<video>标签来尝试相同的 H.264 MP4 电影,并且擦洗速度非常快!我查看了 lighttpd 的日志文件,我注意到video.mp4?start=234每次清除时间线时Flash 播放器都会附加,而使用本机 HTML5<video>标记的浏览器则没有这样的事情。这是 Flash 的某种限制吗?为什么 Flash 流媒体不能像 HTML5 流媒体一样快?

video mp4 streaming flv flash-player

9
推荐指数
1
解决办法
4550
查看次数

QuadCore 上的 ffmpeg 编码

我试图将服务器的 CPU 内核推到最大,但没有成功。

编码 2-pass 样式,将我的“-threads”设置为 128 。运行第二遍时,CPU 的使用率似乎达到了 98%,但第一遍运行完全忽略了“-threads”选项。

使用 libx264 。这是我的预设:

flags=+loop+mv4
cmp=256
partitions=+parti4x4+parti8x8+partp4x4+partp8x8+partb8x8
me_method=hex
subq=7
trellis=1
refs=5
bf=3
flags2=+bpyramid+wpred+mixed_refs+dct8x8
coder=1
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
qmin=10
qmax=51
qdiff=4
Run Code Online (Sandbox Code Playgroud)

第一遍没有使用我的 CPU 有什么原因吗?

先感谢您!这个社区一直对我很好。

cpu ffmpeg multi-core

6
推荐指数
1
解决办法
2404
查看次数

标签 统计

cpu ×1

ffmpeg ×1

flash-player ×1

flv ×1

mp4 ×1

multi-core ×1

streaming ×1

video ×1