ffmpeg - 对用于 HTML5 播放的 PowerPoint 演示文稿的视频进行编码

标签 ffmpeg html5-video powerpoint mediaelement transcode

我们有许多已转换为 16:9 的 powerpoint 演示文稿
纵横比,然后用“apple TV”720p 转换成 mp4“主视频”
轮廓。这些PowerPoint演示文稿带有语音注释。所以本质上,我们
播放幻灯片,然后让注释声音播放一会儿,然后转到
下一张幻灯片,依此类推。生成的 mp4 主视频大约 900MB
一般。

这是主视频的示例

输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自“input.mp4”:
元数据:
主要品牌:isom
次要版本:512
compatible_brands:isomiso2avc1mp41
创建时间:1970-01-01 00:00:00
编码器:Lavf52.104.0
时长:02:00:57.65,开始:0.000000,比特率:970 kb/s
流 #0:0(und):视频:h264(主)(avc1/0x31637661)、yuv420p、1280x720 [SAR 1:1 DAR 16:9]、836 kb/s、29.97 fps、29.97 tbr、30k tbn、59.94待定
元数据:
创建时间:1970-01-01 00:00:00
handler_name : 视频处理程序
流 #0:1(und):音频:aac (mp4a/0x6134706D),44100 Hz,立体声,fltp,127 kb/s
元数据:
创建时间:1970-01-01 00:00:00
handler_name : SoundHandler

我们正在努力让这些演示文稿在网络上播放到尽可能多的人
尽可能包括一些不支持 HTML5 (IE7/IE8) 的设备/浏览器。我们
缩小了我们选择的播放器的范围,即 mediaElement 并提取了
PowerPoint 演示文稿中的一些“提示点”,用于标记幻灯片的位置
正在改变。我们还捕获了这些提示点的缩略图,以便我们
现在有一个很好的每张幻灯片的缩略图列表和一个相关的提示点
特定幻灯片开始的视频。

问题来了……由于主视频的尺寸很大,所以不是
对我们来说,将主视频与我们的 mediaElement 播放器一起使用是很实用的。我们的确是
需要将主视频转码为 mp4 和 ogv 以获得体面
设备/浏览器覆盖率。

我们似乎无法找到合适的转码策略来减少
视频的大小。我们玩过许多 ffmpeg 设置并且能够
减小尺寸,但是当我们这样做时,我们会损害跳转到特定的能力
提示点。

它适用于原生执行 HTML5 视频的浏览器(Chrome 和 Firefox),但
不适用于使用 mp4 文件的 mediaElement (IE7/IE8) 的闪存回退和
貌似和视频中关键帧的数量和频率有很大关系
为了允许使用提示点进行干净的搜索和跳过。

看到我们正在谈论一个只有幻灯片的视频(实际上〜90
每个演示文稿的静态图像)和一些我们认为必须有可能的声音
转码,使关键帧落在提示点或靠近
提示点,并且视频的大小可以大大减少,同时
仍然允许平滑搜索和跳过。

最佳答案

Seeing that we are talking about a video that has only slides (practically ~90 static images per presentation)



如果您的“视频”基本上是幻灯片,是的,您可以通过减少
frame rate

# each image will have a duration of 5 seconds
ffmpeg -f image2 -r 1/5 -i img%03d.png -i audio.m4a -c:v libx264 -r 30 master.mp4

关于ffmpeg - 对用于 HTML5 播放的 PowerPoint 演示文稿的视频进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16064844/

相关文章:

ffmpeg - ffplay 使用 slider 播放视频,我可以在其中滑动到视频的任何位置

c++ - Windows 中的 ffmpeg/libav 链接问题

HTML5 <video> 元素 - 缓冲大小,快速启动视频

vba - 按名称获取形状 ID

powerpoint - 在 PowerPoint 中找不到 StoryBoarding 选项卡

python - 我得到一个 ClientException : ffmpeg not found error when in discord. py

ffmpeg - 使用图像流流式传输视频

javascript - 如何设置视频文件预览,从输入类型 ='file' 中选择

html - 使用 HTML5 视频标签支持桌面和移动客户端

python - 使用 Python (python-pptx) 编辑底层 PowerPoint XML