zoukankan      html  css  js  c++  java
  • ffmpeg一般问题解决

    转:https://blog.csdn.net/gzw19961018/article/details/103319112

    使用ffmpeg推摄像头视频流中遇到的问题

    问题一 推流不稳定,过10分钟ffmpeg会自动停止

    原因

    推流语句不合适

    解决方法—合适的推流语句

    ffmpeg -i rtsp://admin_name:password@192.168.21.8:555/h264/ch1/main/av_stream -f flv -an rtmp://192.168.1.1:1900/live/test98

    问题二 推流时不时报错且拉下来的高清视频流花屏,低分辨率情况稍好

    阶段性报错 error while decoding MB xx xx
    在这里插入图片描述

    原因与解决方法

    问题应该在于ffmpeg源文件udp.c中 ,UDP_MAX_PKT_SIZE值设置过小,将其增大2的整数倍。
    修改后重新编译FFmpeg

    如何重新编译
    修改完成后保存,终端切换到ffmpeg文件夹下
    sudo make
    sudo make install

    问题三 ffmpeg拉流转发频繁丢包警告max delay reached. need to consume packet

    在这里插入图片描述

    原因

    rtsp协议默认使用udp导致的问题,让rtsp强制使用tcp方式可以一定程度避免丢包。

    解决方法

    在指令中添加-rtsp_transport tcp
    ffmpeg -rtsp_transport tcp -i
    rtsp://admin_name:password@192.168.21.8:555/h264/ch1/main/av_stream -f flv -an rtmp://192.168.1.1:1900/live/test98

    转:https://zhuanlan.zhihu.com/p/73984438

    ffmpeg cmd的参数实在太多,因此这里只介绍基础的、以及笔者了解的跟读者们做一个分享。

    首先,来看一个将本地视频文件推流到服务器的最基础的命令:

    ffmpeg -i ${input_video} -f flv rtmp://${server}/live/${streamName}
    • -i:表示输入视频文件,后跟视频文件路径/URL。
    • -f:强制ffmpeg采用某种格式,后跟对应的格式。

    上文有提到,RTMP一般用flv流数据,因此多设置-f flv

    接着,另一个基本需求,就是在推流的时候希望不要加上音频,这个也好实现:

    ffmpeg -i ${input_video} -vcodec copy -an -f flv rtmp://${server}/live/${streamName}
    • -vcodec:指定视频解码器,v是视频videocodec就是解码器,后跟解码器名称,copy表示不作解码;
    • -acodec:指定音频解码器,同理,aaudio,后跟解码器名称。an代表acodec none就是去掉音频的意思。

    关于a/v的写法很多,除了上面介绍的,还有-c:v copy -c:a copy

    笔者遇到过2个推流失败的case:

    1. 推一个RTSP摄像头的流数据时,一旦打开该摄像头的音频轨道就会在av_interleaved_write_frame()函数处出错。(返回码不记得了)
    2. 使用英飞拓某几款摄像头推流时,总是失败,返回码显示-33。

    以上2个问题都成功定位问题所在:

    1. 操作人员在打开音频轨道时总是同时打开2个音频轨道,只要选择关闭其中1个音频,马上就可以推流了;
    2. 这几款摄像头同时包括多个视频码流,似乎他们会通过RTSP同时把多个码流同时传过来;最后在代码中强行过滤视音频码流,只保留一路视频+一路音频就可以了。

    原因归结为一个:flv格式至多只能包括一个视频流和一个音频流

  • 相关阅读:
    用感知机(Perceptron)实现逻辑AND功能的Python3代码
    xpadder教程:自定义设置游戏手柄的图片
    用Python实现小说中的汉字频率统计
    天猫精灵X1智能音箱使用感想
    一道常被人轻视的前端JS面试题
    jQueryNotes仿QQ空间添加标记
    JQ对象到底是什么
    正则匹配规则
    自定义右键菜单
    IIS处理并发请求时出现的问题及解决
  • 原文地址:https://www.cnblogs.com/81/p/13566112.html
Copyright © 2011-2022 走看看