V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dinggk
V2EX  ›  FFmpeg

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

  •  
  •   dinggk · 2018-04-19 16:30:07 +08:00 · 6776 次点击
    这是一个创建于 2437 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    感情你这个就是改个名?还是说在服务端的输出流去转换?
    那你这样等于每个用户去处理一遍,显然不是效率的做法。通过前端或者客户端代码去访问对应的格式才是正解。
    Caringor
        4
    Caringor  
       2018-04-19 20:07:12 +08:00 via iPhone
    FFMPEG 能向 RTMP 服务器推流,然后经服务器转发成 HLS 或者 FLV。
    又或者可以输出成 TS 实时文件流,不过依然要配合第三方服务器( Nginx、Caddy Server 等)食用。
    contmonad
        5
    contmonad  
       2018-04-19 23:56:27 +08:00 via iPhone
    HTTP 服务器里把 FFmpeg 实时转封装后的 STDOUT 按 chunked encoding 发回即可
    qiayue
        6
    qiayue  
       2018-04-20 00:00:39 +08:00
    fMp4 了解一下
    sw0rd3n
        7
    sw0rd3n  
       2018-04-20 00:05:06 +08:00 via iPhone
    可以的,之前了解过 owncloud 有格式转换插件是 ffmpeg 应该是类似实现
    goreliu
        8
    goreliu  
       2018-04-20 00:06:45 +08:00 via Android
    任意格式的话是需要重新编码的,在线重新编码性能开销太大了,不如把所有非 mp4 的文件事先转换成 mp4,然后搭个静态 http 服务器就可以了。
    hahaDashen
        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 的还没做完<_<
    GooMS
        10
    GooMS  
       2018-04-20 07:13:34 +08:00 via Android
    输入 HTTP 可以
    但 Mp4 的不行
    expy
        11
    expy  
       2018-04-20 08:09:27 +08:00 via Android
    实时转码服务器会爆掉的。
    datou
        12
    datou  
       2018-04-20 10:47:54 +08:00
    要弄个 rtmp 服务器接受 ffmpeg 推流吧
    MonoLogueChi
        13
    MonoLogueChi  
       2018-04-20 19:50:49 +08:00 via Android
    ffmpeg + Nginx,点播的话可以把视频做成切片喂进去
    dinggk
        14
    dinggk  
    OP
       2018-04-21 08:07:09 +08:00 via Android
    试过了实时转码,证明不可行。相当卡。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2648 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:06 · PVG 10:06 · LAX 18:06 · JFK 21:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.