首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过预加载创建mp4视频供在线播放

通过预加载创建mp4视频供在线播放
EN

Stack Overflow用户
提问于 2014-05-14 13:59:30
回答 1查看 1.6K关注 0票数 0

我使用ffmpeg创建一个可流的mp4视频文件,用于在线播放。但是转换后的视频试图在开始时加载3-4 MB的视频数据.然后视频可以播放和寻找。

我尝试通过不同的ffmpeg命令删除开始加载数据。但每个命令都有问题。

我的第一个命令(在开始和可查找时加载3-4 MB的视频数据):

代码语言:javascript
运行
复制
ffmpeg -i file.mkv -movflags faststart -s 500x268 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" -b:v 100k -b:a 45k 1.mp4

和其他命令(从开始时删除3-4 MB的加载数据,但不可查找):

代码语言:javascript
运行
复制
ffmpeg -i CloudywithaChanceofMeatballs.mkv -movflags faststart -frag_size 1024 -s 500x268 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" -b:v 100k -b:a 45k 1.mp4
ffmpeg -i DespicableMe2MiniMovie.mkv -movflags faststart -s 500x268 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" -b:v 100k -b:a 45k 2.mp4
ffmpeg -i DespicableMe2MiniMovie.mkv -movflags faststart -frag_size 10240 -s 500x268 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" -b:v 100k -b:a 45k 2.mp4
ffmpeg -i DespicableMe2MiniMovie.mkv -movflags faststart -frag_duration 2000 -s 500x268 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" -b:v 100k -b:a 45k 2.mp4
ffmpeg -i CloudywithaChanceofMeatballs.mkv -movflags faststart -frag_duration 2000 -s 500x268 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" -b:v 100k -b:a 45k 2.mp4
ffmpeg -i CloudywithaChanceofMeatballs.mkv -movflags frag_keyframe+empty_moov -s 500x268 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" -b:v 100k -b:a 45k 2.mp4
ffmpeg -i CloudywithaChanceofMeatballs.mkv -g 52 -movflags frag_keyframe+empty_moov -s 500x268 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" -b:v 100k -b:a 45k 2.mp4

我也使用了这个命令(它在开始时加载3-4 MB的视频数据,就像ffmpeg的第一段代码一样):

代码语言:javascript
运行
复制
MP4Box -add video.mp4 videos.mp4
MP4Box -inter 500 video.mp4

我的视频文件持续时间为: 1h 34分钟,转换大小为100 my。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-14 21:56:10

通常,视频播放器在缓冲区中积累足够的数据,以便能够播放。缓冲器的大小可能不同,但可以长达10-30秒.

如果您想要一个更快的开始,然后看看可流格式,如HLS或MPEG-破折号。有些平台本机支持这些格式,例如,iOS和Android都支持HLS。

其思想是,HLS引用不同比特率的视频的多个版本,并根据您的网络条件动态地调整质量以适应网络速度。而且,通常情况下,播放器以最低的比特率开始播放,因此需要下载的数据较少,然后逐渐切换到更高的比特率。

苹果有很好的工具和文档来准备流媒体视频。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23656844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档