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

2018-04-19 16:30:07 +08:00
 dinggk

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

6776 次点击
所在节点    FFmpeg
14 条回复
icy37785
2018-04-19 16:48:32 +08:00
任意格式的点播? hls 了解一些。
yankebupt
2018-04-19 19:10:43 +08:00
不重新编码视频文件容器重新封装。有这个的...但是不是万能的,有些不能重封,受限于 mp4 对 codec 限制或者某些 avi 的特殊存储方式.
GoodRainChen
2018-04-19 19:57:12 +08:00
(不是 ffmpeg 把 avi 转换为 mp4 文件)

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

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

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

Linux 的还没做完<_<
GooMS
2018-04-20 07:13:34 +08:00
输入 HTTP 可以
但 Mp4 的不行
expy
2018-04-20 08:09:27 +08:00
实时转码服务器会爆掉的。
datou
2018-04-20 10:47:54 +08:00
要弄个 rtmp 服务器接受 ffmpeg 推流吧
MonoLogueChi
2018-04-20 19:50:49 +08:00
ffmpeg + Nginx,点播的话可以把视频做成切片喂进去
dinggk
2018-04-21 08:07:09 +08:00
试过了实时转码,证明不可行。相当卡。

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

https://www.v2ex.com/t/448182

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

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

© 2021 V2EX