我正在尝试实现一个简单的基于家庭的解决方案,用于将视频流式/转码到无法正常播放文件的低端机器。
我正在尝试使用ffmpeg
(因为ffserver
将停止使用)
我发现ffmpeg已构建在http服务器中,可用于此目的。
使用(for seekbar
)测试的应用程序是vlc
我可能在这里做错了(或尝试做其他应用程序做的事情)
我使用的ffmpeg代码是:
d:\ ffmpeg \ bin \ ffmpeg.exe -r 24 -i“D:\ test.mkv”-threads 2 -vf scale = 1280:720 -c:v libx264 -preset medium -crf 20 -maxrate 1000k -bufsize 2000k -c:a ac3 -seekable 1 -movflags faststart -listen 1 -f mpegts http://127.0.0.1:8080/test.mpegts
这段代码也让我有能力在我想要的时候开始观看(与通过udp使用rtmp相反,它会在转码后立即启动视频)
我开始考虑在文件乞讨时移动atoom
,这应该由movflags faststart
处理
我还没有运气检查了-re
选项,-r 25
只是为了抑制Past duration 0.xx too large
警告我读到的是正常的事情。
测试文件是来自许多具有不同编码器设置等的文件。
上面的设置给了我一个seekbar
,但它不起作用,没有整体持续时间(没有进度条),当我从mpegts切换到matroska / mkv时我看到了视频的持续时间(和进度)但是没有搜索栏。
如果仅使用ffmpeg,我宁愿坚持使用它作为独立的解决方案,而无需额外的rtmp /其他服务器。
答案 0 :(得分:1)
一段时间后,我指出了哪里:
搜索栏是玩家方面的东西,hls在版本v6支持指向开始项目为v3开始它在哪里(从列表末尾不超过3个项目)
回放和搜索是基于播放器(ios上的safari支持其他dosn&t; t)也不需要推送内容的ffserver。
最终它在没有搜索的情况下工作正常,如果需要搜索,则需要使用player / js.player或通过代理视频服务器等中间件支持它。