使用输入流(或url)时,ffmpeg 可以查找吗?
Can ffmpeg seek when using an input stream (or url)?
过去几周我一直在使用 ffmpeg,最近我遇到了一个非常烦人的问题 - 当我将 ffmpeg 与输入流一起使用时(通常,只是一个 url 作为输入)并尝试设置开始时间(使用 -ss 选项),我总是收到一条警告消息,上面写着 "could not seek to position: XXX".
然后,ffmpeg 开始下载文件,直到下载了足够的数据并达到我想要的开始时间,它才会输出任何内容。
我举个例子:
我用这个命令执行ffmpeg:
ffmpeg -ss 50 -re -i https://ascent.usbank.com/acp/videos/041114ascent.flv -b:a 128k -ac 2 -acodec libvorbis -b:v 1024k -vcodec libtheora -strict 2 -preset ultrafast -tune zerolatency -pix_fmt yuv420p -f ogg pipe:1
我收到警告消息
https://ascent.usbank.com/acp/videos/041114ascent.flv: could not seek to position 50.000
然后,大约需要30秒,直到ffmpeg开始输出数据到stdout。当我用更长的视频(和更长的搜索时间)尝试这个时,它需要更长的时间。
我的问题是,我能做什么?我想当 ffmpeg 没有得到整个输入流时,它不可能进行搜索……我错了吗?或者还有其他解决方案吗?
当然我尽量避免从网上下载整个文件...
提前致谢!
罗伊。
我想除了在本地缓冲 FLV 并(最终)寻找它之外,您对此无能为力。
http 资源是否允许大量搜索 depends on the capabilities of the server,不幸的是...
过去几周我一直在使用 ffmpeg,最近我遇到了一个非常烦人的问题 - 当我将 ffmpeg 与输入流一起使用时(通常,只是一个 url 作为输入)并尝试设置开始时间(使用 -ss 选项),我总是收到一条警告消息,上面写着 "could not seek to position: XXX".
然后,ffmpeg 开始下载文件,直到下载了足够的数据并达到我想要的开始时间,它才会输出任何内容。
我举个例子:
我用这个命令执行ffmpeg:
ffmpeg -ss 50 -re -i https://ascent.usbank.com/acp/videos/041114ascent.flv -b:a 128k -ac 2 -acodec libvorbis -b:v 1024k -vcodec libtheora -strict 2 -preset ultrafast -tune zerolatency -pix_fmt yuv420p -f ogg pipe:1
我收到警告消息
https://ascent.usbank.com/acp/videos/041114ascent.flv: could not seek to position 50.000
然后,大约需要30秒,直到ffmpeg开始输出数据到stdout。当我用更长的视频(和更长的搜索时间)尝试这个时,它需要更长的时间。
我的问题是,我能做什么?我想当 ffmpeg 没有得到整个输入流时,它不可能进行搜索……我错了吗?或者还有其他解决方案吗?
当然我尽量避免从网上下载整个文件...
提前致谢!
罗伊。
我想除了在本地缓冲 FLV 并(最终)寻找它之外,您对此无能为力。
http 资源是否允许大量搜索 depends on the capabilities of the server,不幸的是...