ffmpeg - ffmpeg 如何在内部工作以从远程视频创建剪辑
问题描述
我们需要通过提供持续时间从远程视频创建剪辑。这是我们正在使用的命令
ffmpeg -i {{remote_video}} -ss {{start_time}} -flush_packets 1 -codec copy -t {{duration}} -y {{output_file}}
我们无法弄清楚的是 FFmpeg 是如何做到这一点的。它不会下载整个视频,并且仍然能够为远程视频生成剪辑。
查看文档但没有找到。
解决方案
我认为这将是容器格式和使用的“协议”的组合。容器需要支持某种查找,然后使用的协议(文件、http 等)需要支持查找。例如,Range
如果远程服务器支持,ffmpeg http 协议实现可以使用 -header 进行搜索。
如果您想了解 http 的工作原理(搜索“seek”),请查看https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/http.c 。
推荐阅读
- android - 即使在同一设备上,通知操作按钮的 UI 也不一致
- python - 将numpy数组转换为结构化数组
- c# - c#中json文件的嵌套值的连接名称ex:`“obj_nested1_nested2”:“text”
- python - python中的多处理不会释放内存
- javascript - net::ERR_CONNECTION_REFUSED 与 redux 一起使用时
- javascript - 对数刻度偶尔会产生数百个刻度
- node.js - 未知错误:SyntaxError:ng 命令上出现意外的令牌“导出”
- flutter - Flutter 构建函数返回 null
- haskell - 为什么添加`bracketOnError`时此代码内存泄漏?
- python - Python:从下载直接转换为mp3而不保存文件(请求/电影)