问题: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无法接收组播流问题处理的更多相关文章

  1. 使用VLC创建组播流

    vlc既是一个播放器,又可以成为一个流媒体服务器.最近需要做udp组播播放相关的东西,需要先在本地搭建一个udp组播服务器,因为机器上本来就装有vlc,所以就用它了. 第一步: 点击媒体->流 ...

  2. linux下播放组播流出现setsockopt:No such device错误

    在linux下播放组播流出现setsockopt:No such device错误是因为多播IP没有add路由表里面 可以采用如下命令完成: root@android:/ # busybox rout ...

  3. Android为TV端助力:UDP协议(接收组播和单播)

    private static String MulticastHost="224.9.9.98";private static int POST=19999;private sta ...

  4. ffmpeg笔记——UDP组播接收总结

    ffmpeg在avformat_open_input里面已经实现了UDP的协议,所以只需要设置好参数,将url传递进去就可以了. 和打开文件的方式基本一样: 01 AVCodecContext *pV ...

  5. dell n2000 组播抑制

    http://en.community.dell.com/support-forums/network-switches/f/866/t/19677497 http://en.community.de ...

  6. CCIE路由实验(6) -- 组播Multicasting

    1.组播IGMP的各种情况2.PIM Dense-Mode3.PIM Sparse-Mode4.PIM双向树和SSM5.动态RP之auto-rp6.动态RP之BSR7.Anycast RP8.域间组播 ...

  7. SDN网络IPv6组播机制支持实时视频业务海量用户扩展

    以 OpenFlow 技术为核心的软件定义网络(SDN)框架具有集中控制的功能能够自己感知网络拓扑的变化,在细粒度的路径选择.接入控制.负载均衡方面有着天然的优势,为 IPv6 组播功能的实现提供了好 ...

  8. 组播(Multicast)传输

    组播(Multicast)传输: 在发送者和每一接收者之间实现点对多点网络连接. 如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包.它提高了数据传送效率.减少了骨干网络出现拥 ...

  9. android multicast 多播(组播)问题

    有谁遇到过同样问题的可以探讨下,或者已经解决问题的,能够指导下我    获取组播锁 private  InetAddress   group; WifiManager  wm=(WifiManager ...

随机推荐

  1. AsyncTask的使用方法和理解

    .对于耗时的操作,我们的一般方法是开启“子线程”.如果需要更新UI,则需要使用handler 2.如果耗时的操作太多,那么我们需要开启太多的子线程,这就会给系统带来巨大的负担,随之也会带来性能方面的问 ...

  2. Android --Fragment中异步HTTP请求

    1.自定义异步Task /** * 异步获取实时数据 */ public class TimerDataTask extends AsyncTask<Void, Void, Boolean> ...

  3. hadoop NameNode 手动HA

    官网配置地址:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWit ...

  4. Windows下MongoDB安装与PHP扩展

    MongoDB是什么就不再累述了,下面只写MongoDB安装与PHP扩展的方法. 一,安装准备 MongoDB 如果网速慢,可以到MongoDB中文社区的百度网盘下载,密码3gun.(根据你的操作系统 ...

  5. eclipse启动无响应,停留在Loading workbench状态

    做开发的同学们或多或少的都会遇到eclipse启动到一定程度时,就进入灰色无响应状态再也不动了.启动画面始终停留在Loading workbench状态.反复重启,状态依旧. 多数情况下,应该是非正常 ...

  6. iptables使用

    iptables规则的查看.添加.删除和修改 1.查看 iptables -nvL --line-number (这个命令跟/etc/init.d/iptables status 输出差不多) -L ...

  7. 设置UISegmentedControl中字体大小

    [segmentedControl setTitleTextAttributes:@{NSFontAttributeName : DYBoldFont(20)}  forState:UIControl ...

  8. Aspectj是什么

    转载自:http://www.cnblogs.com/sunwke/articles/2568875.html 网上出现了很多讲解 AspectJ 的资料,但大多是从讲解 AspectJ 语法开始,然 ...

  9. sdutoj 2607 Mountain Subsequences

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2607 Mountain Subsequence ...

  10. maven的pom报plugins却是的解决方法(转)

    maven的pom报plugins却是的解决方法. 引用 Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom: ...