FFMPEG 可否读取视频文件输出为 http?

2018 年 4 月 19 日
 dinggk

请教各位:这样是否就可以实现任意视频格式的点播? 比如有一个 avi 文件,http://xxx.xxx.xxx/xxx.avi 这样访问时,浏览器播放的是经由 ffmpeg 转换过的 mp4 格式。(不是 ffmpeg 把 avi 转换为 mp4 文件)

7738 次点击
所在节点    FFmpeg
14 条回复
icy37785
2018 年 4 月 19 日
任意格式的点播? hls 了解一些。
yankebupt
2018 年 4 月 19 日
不重新编码视频文件容器重新封装。有这个的...但是不是万能的,有些不能重封,受限于 mp4 对 codec 限制或者某些 avi 的特殊存储方式.
GoodRainChen
2018 年 4 月 19 日
(不是 ffmpeg 把 avi 转换为 mp4 文件)

感情你这个就是改个名?还是说在服务端的输出流去转换?
那你这样等于每个用户去处理一遍,显然不是效率的做法。通过前端或者客户端代码去访问对应的格式才是正解。
Caringor
2018 年 4 月 19 日
FFMPEG 能向 RTMP 服务器推流,然后经服务器转发成 HLS 或者 FLV。
又或者可以输出成 TS 实时文件流,不过依然要配合第三方服务器( Nginx、Caddy Server 等)食用。
contmonad
2018 年 4 月 19 日
HTTP 服务器里把 FFmpeg 实时转封装后的 STDOUT 按 chunked encoding 发回即可
qiayue
2018 年 4 月 20 日
fMp4 了解一下
sw0rd3n
2018 年 4 月 20 日
可以的,之前了解过 owncloud 有格式转换插件是 ffmpeg 应该是类似实现
goreliu
2018 年 4 月 20 日
任意格式的话是需要重新编码的,在线重新编码性能开销太大了,不如把所有非 mp4 的文件事先转换成 mp4,然后搭个静态 http 服务器就可以了。
hahaDashen
2018 年 4 月 20 日
如果想用 HLS 的可以参考下我的项目

https://coding.net/u/haha_Dashen/p/Video_Server

https://coding.net/u/haha_Dashen/p/Video_Server_Linux

Linux 的还没做完<_<
3IOhG7M0knRu5UlC
2018 年 4 月 20 日
输入 HTTP 可以
但 Mp4 的不行
expy
2018 年 4 月 20 日
实时转码服务器会爆掉的。
datou
2018 年 4 月 20 日
要弄个 rtmp 服务器接受 ffmpeg 推流吧
MonoLogueChi
2018 年 4 月 20 日
ffmpeg + Nginx,点播的话可以把视频做成切片喂进去
dinggk
2018 年 4 月 21 日
试过了实时转码,证明不可行。相当卡。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/448182

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX