ffmpeg无法接收组播流问题处理
问题:ffmpeg无法对IP组播进行处理,表现如下
[root@os01 /]# ffprobe udp://225.0.0.2:9000
ffprobe version 2.7. Copyright (c) - the FFmpeg developers
built with gcc 4.8. (GCC) (Red Hat 4.8.-)
configuration: --enable-gpl --enable-nonfree --enable-static --enable-pthreads
libavutil . 27.100 / . 27.100
libavcodec . 41.100 / . 41.100
libavformat . 36.100 / . 36.100
libavdevice . 4.100 / . 4.100
libavfilter . 16.101 / . 16.101
libswscale . 1.101 / . 1.101
libswresample . 2.100 / . 2.100
libpostproc . 3.100 / . 3.100
(一直卡在这里)
而通过tcpdump抓包,是可以抓到组播流的
[root@os01 /]# tcpdump -ieno1 host 225.0.0.2 and port
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eno1, link-type EN10MB (Ethernet), capture size bytes
::35.745690 IP bogon. > 225.0.0.2.cslistener: UDP, length
::35.759688 IP bogon. > 225.0.0.2.cslistener: UDP, length
::35.763224 IP bogon. > 225.0.0.2.cslistener: UDP, length
::35.766720 IP bogon. > 225.0.0.2.cslistener: UDP, length
::35.770256 IP bogon. > 225.0.0.2.cslistener: UDP, length
::35.773768 IP bogon. > 225.0.0.2.cslistener: UDP, length
查看route表如下
[root@os01 logs]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default bogon 0.0.0.0 UG eno4
link-local 0.0.0.0 255.255.0.0 U eno2
172.17.0.0 0.0.0.0 255.255.0.0 U docker0
172.28.1.0 0.0.0.0 255.255.255.0 U eno3
172.28.33.0 0.0.0.0 255.255.255.0 U eno1
172.28.34.0 0.0.0.0 255.255.255.0 U eno2
192.168.0.0 0.0.0.0 255.255.255.0 U eno4
192.168.122.0 0.0.0.0 255.255.255.0 U virbr0
故,分析得出,上述问题是由route表中未配置组播地址导致,解决办法如下
[root@os01 logs]# route add -net 225.0.0.0 netmask 255.0.0.0 dev eno1
[root@os01 logs]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default bogon 0.0.0.0 UG eno4
link-local 0.0.0.0 255.255.0.0 U eno2
172.17.0.0 0.0.0.0 255.255.0.0 U docker0
172.28.1.0 0.0.0.0 255.255.255.0 U eno3
172.28.33.0 0.0.0.0 255.255.255.0 U eno1
172.28.34.0 0.0.0.0 255.255.255.0 U eno2
192.168.0.0 0.0.0.0 255.255.255.0 U eno4
192.168.122.0 0.0.0.0 255.255.255.0 U virbr0
225.0.0.0 0.0.0.0 255.0.0.0 U eno1
再次验证ffmpeg:
[root@os01 logs]# ffprobe udp://225.0.0.2:9000
ffprobe version 2.7. Copyright (c) - the FFmpeg developers
built with gcc 4.8. (GCC) (Red Hat 4.8.-)
configuration: --enable-gpl --enable-nonfree --enable-static --enable-pthreads
libavutil . 27.100 / . 27.100
libavcodec . 41.100 / . 41.100
libavformat . 36.100 / . 36.100
libavdevice . 4.100 / . 4.100
libavfilter . 16.101 / . 16.101
libswscale . 1.101 / . 1.101
libswresample . 2.100 / . 2.100
libpostproc . 3.100 / . 3.100
[h264 @ 0x2ed1160] non-existing PPS referenced
Last message repeated times
[h264 @ 0x2ed1160] decode_slice_header error
[h264 @ 0x2ed1160] no frame!
[h264 @ 0x2ed1160] non-existing PPS referenced
Last message repeated times
[h264 @ 0x2ed1160] decode_slice_header error
[h264 @ 0x2ed1160] no frame!
[h264 @ 0x2ed1160] non-existing PPS referenced
Last message repeated times
ffmpeg无法接收组播流问题处理的更多相关文章
- 使用VLC创建组播流
vlc既是一个播放器,又可以成为一个流媒体服务器.最近需要做udp组播播放相关的东西,需要先在本地搭建一个udp组播服务器,因为机器上本来就装有vlc,所以就用它了. 第一步: 点击媒体->流 ...
- linux下播放组播流出现setsockopt:No such device错误
在linux下播放组播流出现setsockopt:No such device错误是因为多播IP没有add路由表里面 可以采用如下命令完成: root@android:/ # busybox rout ...
- Android为TV端助力:UDP协议(接收组播和单播)
private static String MulticastHost="224.9.9.98";private static int POST=19999;private sta ...
- ffmpeg笔记——UDP组播接收总结
ffmpeg在avformat_open_input里面已经实现了UDP的协议,所以只需要设置好参数,将url传递进去就可以了. 和打开文件的方式基本一样: 01 AVCodecContext *pV ...
- dell n2000 组播抑制
http://en.community.dell.com/support-forums/network-switches/f/866/t/19677497 http://en.community.de ...
- CCIE路由实验(6) -- 组播Multicasting
1.组播IGMP的各种情况2.PIM Dense-Mode3.PIM Sparse-Mode4.PIM双向树和SSM5.动态RP之auto-rp6.动态RP之BSR7.Anycast RP8.域间组播 ...
- SDN网络IPv6组播机制支持实时视频业务海量用户扩展
以 OpenFlow 技术为核心的软件定义网络(SDN)框架具有集中控制的功能能够自己感知网络拓扑的变化,在细粒度的路径选择.接入控制.负载均衡方面有着天然的优势,为 IPv6 组播功能的实现提供了好 ...
- 组播(Multicast)传输
组播(Multicast)传输: 在发送者和每一接收者之间实现点对多点网络连接. 如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包.它提高了数据传送效率.减少了骨干网络出现拥 ...
- android multicast 多播(组播)问题
有谁遇到过同样问题的可以探讨下,或者已经解决问题的,能够指导下我 获取组播锁 private InetAddress group; WifiManager wm=(WifiManager ...
随机推荐
- 零售业数据分析的媒介——BI工具
当你需要从一堆复杂庞大的数据中分析出有用的信息和结论的时,想必你一定觉得力不从心:数据的冗余使得你分析起来困难重重,怎么办呢?今天我们就来讲一下使数据分析变得简单有效的“手段”. 对于当今的中国零售行 ...
- android AlarmManager 详解
在开发互联网应用时候,我们常常要使用心跳来保证客户端与服务器的连接.怎么完成心跳很关键,在说道客户端心跳功能时,如果使用Timer或者专门开起一个线程来做心跳的工作,会浪费CPU工作时间,而且也会更多 ...
- Linux 创建用户和工作组
创建用户 useradd user1 #创建user1用户,创建user1用户同时会创建一个同名的工作组user1 passwd user1 ...
- [MVCSharp]开始使用MVC#
Getting started with MVC# framework The source code of this example can be found under "Example ...
- :before 和 :after 的内幕 以及伪类 ( 转 )
原文链接 http://www.cnblogs.com/zhujl/archive/2012/05/08/2489411.html ------------------------------- ...
- simple python code when @ simplnano
code: import serial,time,itertools try: ser=serial.Serial(2,115200,timeout=0) except: print 'Open CO ...
- "淘宝推荐系统简介"分享总结
概述: 此分享是关于淘宝推荐系统简介 1.推荐引擎就是:如何找到用户感兴趣的东西和以什么形式告诉用户:2.推荐引擎的作用:提高用户忠诚度,提高成交转化率和提高网站交叉销售能力:3.推荐系统核心:产品, ...
- Lintcode: Kth Smallest Number in Sorted Matrix
Find the kth smallest number in at row and column sorted matrix. Example Given k = 4 and a matrix: [ ...
- java反射机制简介
1.字节码.所谓的字节码就是当java虚拟机加载某个类的对象时,首先需要将硬盘中该类的源代码编译成class文件的二进制代码(字节码),然后将class文件的字节码加载到内存中,之后再创建该类的对象 ...
- paper 12:机器学习常见算法分类汇总
机器学习无疑是当前数据分析领域的一个热点内容.很多人在平时的工作中都或多或少会用到机器学习的算法.这里南君先生为您总结一下常见的机器学习算法,以供您在工作和学习中参考. 机器学习的算法很多.很多时候困 ...