V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
liqingcan
V2EX  ›  问与答

有懂 ffmpeg 推流的吗,有疑问

  •  
  •   liqingcan · 2017-01-14 23:31:21 +08:00 · 5490 次点击
    这是一个创建于 2879 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有台闲置的腾讯云服务器,不拿来干点啥感觉浪费了,于是我就用 ffmpeg 这东西在 b 站上推流开直播间放点小时候看的动画片,可是,不知道为啥经常自己就断掉了。。。有没有懂的? QQ 截图 20170114232502_看图王.png

    直播间地址: http://live.bilibili.com/38924

    19 条回复    2019-01-22 11:10:59 +08:00
    miyuki
        1
    miyuki  
       2017-01-15 00:07:15 +08:00 via Android
    参数发一下?
    liqingcan
        2
    liqingcan  
    OP
       2017-01-15 00:17:49 +08:00
    @miyuki ffmpeg -re -f concat -i playlist.txt -vcodec libx264 -preset veryfast -maxrate 500k -bufsize 500k -f flv "rtmp://txy.live-send.acg.tv/live-txy/?streamname=xxxx&key=xxxxx"
    spice630
        3
    spice630  
       2017-01-15 00:46:18 +08:00
    不是有 obs 嘛?
    techmoe
        4
    techmoe  
       2017-01-15 00:49:33 +08:00 via Android
    关注,因为我也遇到过这样的问题
    有人提示我说是因为 b 站直播服务器缓存区太小了什么的,但是我尝试调小串流输出缓存依然还是不行。。
    ixinshang
        5
    ixinshang  
       2017-01-15 01:13:57 +08:00 via Android
    江流儿 😁😁 这么一弄 我也想在服务器直播了
    liqingcan
        6
    liqingcan  
    OP
       2017-01-15 01:57:31 +08:00 via Android
    @spice630 服务器配置跑不动 obs

    @techmoe 我本来以为是 b 站那边给切断了,不过他给切断应该会有通知,不过没有啊。

    @ixinshang 哈哈
    liqingcan
        7
    liqingcan  
    OP
       2017-01-15 01:59:03 +08:00 via Android
    @techmoe 有没有记住播放位置的方法,被断开后从断开的位置重新播放下去。。感觉也是个解决办法。
    SuperFashi
        8
    SuperFashi  
       2017-01-15 11:49:49 +08:00 via Android
    @liqingcan
    这是 b 站太垃圾的问题,没有办法,虽然那个 concat 很可疑。
    记住的方法有,写一个小程序调用 ffmpeg ,并把 stdout 记录下来。退出之后判断一下 frame 位置,用-ss 继续开始。
    mingyuejingque
        9
    mingyuejingque  
       2017-01-15 12:19:38 +08:00
    -vcodec libx264 看到你重编码了, 有可能是编解码的速度跟不上? 如果格式已经 ok 试试 -c copy
    liqingcan
        10
    liqingcan  
    OP
       2017-01-15 12:35:48 +08:00 via Android
    @SuperFashi 怎么拿到退出的位置呢?
    @mingyuejingque 服务器太差,直接编码跟不上会掉帧,我本地从新编码过的,所以不是这个问题
    qcloud
        11
    qcloud  
       2017-01-15 13:08:48 +08:00 via iPhone
    虹猫蓝兔七侠传哦,好喜欢看😂
    SuperFashi
        12
    SuperFashi  
       2017-01-15 14:22:26 +08:00 via Android
    @liqingcan 看到你最后一行的 frame 了吗, 3212878 就是退出时的帧数
    SuperFashi
        13
    SuperFashi  
       2017-01-15 14:22:42 +08:00 via Android
    @liqingcan 3212978
    liqingcan
        14
    liqingcan  
    OP
       2017-01-15 14:29:34 +08:00 via Android
    @SuperFashi 我知道,我想问的是,怎么从命令行中拿到这个参数。有空我查查 java 怎么搞,看看能不能做。对 java 比较熟
    SuperFashi
        15
    SuperFashi  
       2017-01-15 14:34:14 +08:00 via Android   ❤️ 1
    @liqingcan 你去查查 java pipe shell command 呗
    liqingcan
        16
    liqingcan  
    OP
       2017-01-15 15:13:00 +08:00
    @SuperFashi 好的,感谢
    datou
        17
    datou  
       2017-01-16 10:16:29 +08:00
    不要重编码,直接推原始流
    c4f36e5766583218
        18
    c4f36e5766583218  
       2019-01-21 18:27:26 +08:00
    ffmpeg -re -loop 1 -i "img" -i "mp3" -c:v libx264 -c:a copy -vf "scale=iw: -2, drawtext=fontfile=***: text=***: fontcolor=Black: x=w-tw: box=1: boxcolor=White" -f flv "out"
    我是命令还在执行,但直播间播放一段时间就一直转圈圈,播放不了
    c4f36e5766583218
        19
    c4f36e5766583218  
       2019-01-22 11:10:59 +08:00
    @c4f36e5766583218 输出选项加上-shortest
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1403 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 23:48 · PVG 07:48 · LAX 15:48 · JFK 18:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.