请教各位:这样是否就可以实现任意视频格式的点播? 比如有一个 avi 文件,http://xxx.xxx.xxx/xxx.avi 这样访问时,浏览器播放的是经由 ffmpeg 转换过的 mp4 格式。(不是 ffmpeg 把 avi 转换为 mp4 文件)
1
icy37785 2018-04-19 16:48:32 +08:00 via iPhone
任意格式的点播? hls 了解一些。
|
2
yankebupt 2018-04-19 19:10:43 +08:00
不重新编码视频文件容器重新封装。有这个的...但是不是万能的,有些不能重封,受限于 mp4 对 codec 限制或者某些 avi 的特殊存储方式.
|
3
GoodRainChen 2018-04-19 19:57:12 +08:00
(不是 ffmpeg 把 avi 转换为 mp4 文件)
感情你这个就是改个名?还是说在服务端的输出流去转换? 那你这样等于每个用户去处理一遍,显然不是效率的做法。通过前端或者客户端代码去访问对应的格式才是正解。 |
4
Caringor 2018-04-19 20:07:12 +08:00 via iPhone
FFMPEG 能向 RTMP 服务器推流,然后经服务器转发成 HLS 或者 FLV。
又或者可以输出成 TS 实时文件流,不过依然要配合第三方服务器( Nginx、Caddy Server 等)食用。 |
5
contmonad 2018-04-19 23:56:27 +08:00 via iPhone
HTTP 服务器里把 FFmpeg 实时转封装后的 STDOUT 按 chunked encoding 发回即可
|
6
qiayue 2018-04-20 00:00:39 +08:00
fMp4 了解一下
|
7
sw0rd3n 2018-04-20 00:05:06 +08:00 via iPhone
可以的,之前了解过 owncloud 有格式转换插件是 ffmpeg 应该是类似实现
|
8
goreliu 2018-04-20 00:06:45 +08:00 via Android
任意格式的话是需要重新编码的,在线重新编码性能开销太大了,不如把所有非 mp4 的文件事先转换成 mp4,然后搭个静态 http 服务器就可以了。
|
9
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 的还没做完<_< |
10
GooMS 2018-04-20 07:13:34 +08:00 via Android
输入 HTTP 可以
但 Mp4 的不行 |
11
expy 2018-04-20 08:09:27 +08:00 via Android
实时转码服务器会爆掉的。
|
12
datou 2018-04-20 10:47:54 +08:00
要弄个 rtmp 服务器接受 ffmpeg 推流吧
|
13
MonoLogueChi 2018-04-20 19:50:49 +08:00 via Android
ffmpeg + Nginx,点播的话可以把视频做成切片喂进去
|
14
dinggk OP 试过了实时转码,证明不可行。相当卡。
|