【实例简介】

MFC实现的窗口程序,集成了发送和接收RTP包的功能,接收到的视频用FFmpeg解码并显示出来。该例子代码对应我博客上的一篇文章:https://blog.csdn.net/zhoubotong2012/article/details/86510032

【实例截图】

【核心代码】

PlayH264

└── PlayH264

├── class

│   ├── DirectDraw

│   │   ├── DDrawData.cpp

│   │   ├── DDrawData.h

│   │   ├── DecoderRtp.cpp

│   │   ├── DecoderRtp.h

│   │   ├── Dec.rar

│   │   ├── directdraw.h

│   │   ├── DirectDraw.rar

│   │   ├── yuvdisplay.cpp

│   │   └── yuvdisplay.h

│   └── thread

│   ├── Thread.cpp

│   ├── Thread.h

│   └── TThread.h

├── Debug

│   ├── avcodec-55.dll

│   ├── avdevice-55.dll

│   ├── avfilter-4.dll

│   ├── avformat-55.dll

│   ├── avutil-52.dll

│   ├── PlayStream.exe

│   ├── postproc-52.dll

│   ├── SDL2.dll

│   ├── swresample-0.dll

│   └── swscale-2.dll

├── PlayPs.suo

├── PlayPs.v12.suo

├── PlayStream

│   ├── h264.h

│   ├── include

│   │   ├── inttypes.h

│   │   ├── libavcodec

│   │   │   ├── avcodec.h

│   │   │   ├── avfft.h

│   │   │   ├── dxva2.h

│   │   │   ├── old_codec_ids.h

│   │   │   ├── vaapi.h

│   │   │   ├── vda.h

│   │   │   ├── vdpau.h

│   │   │   ├── version.h

│   │   │   └── xvmc.h

│   │   ├── libavdevice

│   │   │   ├── avdevice.h

│   │   │   └── version.h

│   │   ├── libavfilter

│   │   │   ├── asrc_abuffer.h

│   │   │   ├── avcodec.h

│   │   │   ├── avfiltergraph.h

│   │   │   ├── avfilter.h

│   │   │   ├── buffersink.h

│   │   │   ├── buffersrc.h

│   │   │   └── version.h

│   │   ├── libavformat

│   │   │   ├── avformat.h

│   │   │   ├── avio.h

│   │   │   └── version.h

│   │   ├── libavutil

│   │   │   ├── adler32.h

│   │   │   ├── aes.h

│   │   │   ├── attributes.h

│   │   │   ├── audioconvert.h

│   │   │   ├── audio_fifo.h

│   │   │   ├── avassert.h

│   │   │   ├── avconfig.h

│   │   │   ├── avstring.h

│   │   │   ├── avutil.h

│   │   │   ├── base64.h

│   │   │   ├── blowfish.h

│   │   │   ├── bprint.h

│   │   │   ├── bswap.h

│   │   │   ├── buffer.h

│   │   │   ├── channel_layout.h

│   │   │   ├── common.h

│   │   │   ├── cpu.h

│   │   │   ├── crc.h

│   │   │   ├── dict.h

│   │   │   ├── downmix_info.h

│   │   │   ├── error.h

│   │   │   ├── eval.h

│   │   │   ├── ffversion.h

│   │   │   ├── fifo.h

│   │   │   ├── file.h

│   │   │   ├── frame.h

│   │   │   ├── hmac.h

│   │   │   ├── imgutils.h

│   │   │   ├── intfloat.h

│   │   │   ├── intfloat_readwrite.h

│   │   │   ├── intreadwrite.h

│   │   │   ├── lfg.h

│   │   │   ├── log.h

│   │   │   ├── lzo.h

│   │   │   ├── macros.h

│   │   │   ├── mathematics.h

│   │   │   ├── md5.h

│   │   │   ├── mem.h

│   │   │   ├── murmur3.h

│   │   │   ├── old_pix_fmts.h

│   │   │   ├── opt.h

│   │   │   ├── parseutils.h

│   │   │   ├── pixdesc.h

│   │   │   ├── pixfmt.h

│   │   │   ├── random_seed.h

│   │   │   ├── rational.h

│   │   │   ├── replaygain.h

│   │   │   ├── ripemd.h

│   │   │   ├── samplefmt.h

│   │   │   ├── sha512.h

│   │   │   ├── sha.h

│   │   │   ├── stereo3d.h

│   │   │   ├── timecode.h

│   │   │   ├── time.h

│   │   │   ├── timestamp.h

│   │   │   ├── version.h

│   │   │   └── xtea.h

│   │   ├── libpostproc

│   │   │   ├── postprocess.h

│   │   │   └── version.h

│   │   ├── libswresample

│   │   │   ├── swresample.h

│   │   │   └── version.h

│   │   ├── libswscale

│   │   │   ├── swscale.h

│   │   │   └── version.h

│   │   ├── _mingw.h

│   │   ├── SDL2

│   │   │   ├── begin_code.h

│   │   │   ├── close_code.h

│   │   │   ├── SDL_assert.h

│   │   │   ├── SDL_atomic.h

│   │   │   ├── SDL_audio.h

│   │   │   ├── SDL_bits.h

│   │   │   ├── SDL_blendmode.h

│   │   │   ├── SDL_clipboard.h

│   │   │   ├── SDL_config.h

│   │   │   ├── SDL_cpuinfo.h

│   │   │   ├── SDL_endian.h

│   │   │   ├── SDL_error.h

│   │   │   ├── SDL_events.h

│   │   │   ├── SDL_filesystem.h

│   │   │   ├── SDL_gamecontroller.h

│   │   │   ├── SDL_gesture.h

│   │   │   ├── SDL.h

│   │   │   ├── SDL_haptic.h

│   │   │   ├── SDL_hints.h

│   │   │   ├── SDL_joystick.h

│   │   │   ├── SDL_keyboard.h

│   │   │   ├── SDL_keycode.h

│   │   │   ├── SDL_loadso.h

│   │   │   ├── SDL_log.h

│   │   │   ├── SDL_main.h

│   │   │   ├── SDL_messagebox.h

│   │   │   ├── SDL_mouse.h

│   │   │   ├── SDL_mutex.h

│   │   │   ├── SDL_name.h

│   │   │   ├── SDL_opengles2.h

│   │   │   ├── SDL_opengles.h

│   │   │   ├── SDL_opengl.h

│   │   │   ├── SDL_pixels.h

│   │   │   ├── SDL_platform.h

│   │   │   ├── SDL_power.h

│   │   │   ├── SDL_quit.h

│   │   │   ├── SDL_rect.h

│   │   │   ├── SDL_render.h

│   │   │   ├── SDL_revision.h

│   │   │   ├── SDL_rwops.h

│   │   │   ├── SDL_scancode.h

│   │   │   ├── SDL_shape.h

│   │   │   ├── SDL_stdinc.h

│   │   │   ├── SDL_surface.h

│   │   │   ├── SDL_system.h

│   │   │   ├── SDL_syswm.h

│   │   │   ├── SDL_test_assert.h

│   │   │   ├── SDL_test_common.h

│   │   │   ├── SDL_test_compare.h

│   │   │   ├── SDL_test_crc32.h

│   │   │   ├── SDL_test_font.h

│   │   │   ├── SDL_test_fuzzer.h

│   │   │   ├── SDL_test.h

│   │   │   ├── SDL_test_harness.h

│   │   │   ├── SDL_test_images.h

│   │   │   ├── SDL_test_log.h

│   │   │   ├── SDL_test_md5.h

│   │   │   ├── SDL_test_random.h

│   │   │   ├── SDL_thread.h

│   │   │   ├── SDL_timer.h

│   │   │   ├── SDL_touch.h

│   │   │   ├── SDL_types.h

│   │   │   ├── SDL_version.h

│   │   │   └── SDL_video.h

│   │   └── stdint.h

│   ├── lib

│   │   ├── avcodec.lib

│   │   ├── avdevice.lib

│   │   ├── avfilter.lib

│   │   ├── avformat.lib

│   │   ├── avutil.lib

│   │   ├── postproc.lib

│   │   ├── SDL2.lib

│   │   ├── SDL2main.lib

│   │   ├── swresample.lib

│   │   └── swscale.lib

│   ├── NALDecoder.cpp

│   ├── PlayPs.aps

│   ├── PlayPs.cpp

│   ├── PlayPs.h

│   ├── PlayPs.rc

│   ├── PlayPs.vcxproj

│   ├── PlayPs.vcxproj.filters

│   ├── PlayPs.vcxproj.user

│   ├── PlayStreamDlg.cpp

│   ├── PlayStreamDlg.h

│   ├── ReadMe.txt

│   ├── res

│   │   ├── PlayPs.ico

│   │   └── PlayPs.rc2

│   ├── resource.h

│   ├── stdafx.cpp

│   ├── stdafx.h

│   └── targetver.h

├── PlayStream.sln

└── Release

└── PlayStream.exe

19 directories, 205 files

sdl android rtp h264,使用RTP协议发送和接收H264的例子(支持解码、播放)相关推荐

  1. TCP协议发送和接收数据

    TCP协议发送与接收数据 一.发送数据 1.使用Socket类的构造方法创建Socket对象 Socket(InetAddress address, int port) 创建一个流套接字并将其连接到指 ...

  2. 【原创】stm32实现DMX512协议发送与接收(非标)。

    最近把玩了一下485,期间也接触了dmx512通信协议,该协议主要用于各种舞台灯光的控制当中,进而实现各种光效以及色彩变化.根据标准的512协议,其物理连接与传统上的RS485是完全一致的,并没有什么 ...

  3. PHP+socket+SMTP、POP3协议发送、接收邮件

    1.实现SMTP协议的类dsmtp.cls.php: <?php            // 通过socket实现SMTP协议的功能 // version: 1.1 // author : DC ...

  4. android 分包粘包_Android Socket 发送与接收数据问题处理: 发送后的数据接收到总是粘包...

    先说明一下粘包的概念: 发送时是两个单独的包.两次发送,但接收时两个包连在一起被一次接收到. 在以前 WinCE 下 Socket 编程,确实也要处理粘包的问题,没想到在 Android 下也遇到了. ...

  5. Java中通过TCP协议发送和接收数据-Socket编程

    TCP TCP协议是面向连接.保证高可靠性(数据无丢失.数据无失序.数据无错误.数据无重复到达)传输层协议. TCP通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端 ...

  6. 树莓派4B的串口使用,并通过串口与其他设备经过通讯协议发送、接收数据。

    从树莓派的相关资料我们可以看到,树莓派有两个串口可以使用,一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0).硬件串口有单独的波特率时钟源,性能好,稳定性强:mi ...

  7. IGRP中的RTP、Neighbor Discovery协议及Time总结

    EIGRP的运行所需要的四个组件包括: 1.Protocol-Dependent Modules(负责针对各种特定协议,如IP.IPX.APPLETALK) 2.RTP(Reliable Transp ...

  8. ROS 用 roboware实现节点信息发送和接收

    在ros下实现节点编程,实现一个节点发送消息,另一个节点接收.实现方式有多种,可以直接在命令窗口创建工作空间包以及节点,用catkin_make进行编译,添加.bash路径,然后执行rosrun  p ...

  9. android player通过rtp协议接收h264视频数据播放

    android recorder通过rtp发送h264视频数据给vlc播放 android player通过rtp协议接收h264视频数据播放 Android recorder通过rtp发送aac数据 ...

  10. RTP协议全解(H264码流和PS流)

    1 视频编码的原理 1.1 一个图像或者一个视频序列进行压缩,产生码流. 对图像的处理即是:帧内预测编码 其预测值P,是由已编码的图像做参考,经运动补偿得到的.预测图像P和当前帧Fn相减,得到两图像的 ...

最新文章

  1. Oracle12c多租户如何启动关闭CDB或PDB (PDB自动启动)
  2. Spring事务嵌套引发的问题--Transaction rolled back because it has been marked as rollback-only...
  3. CF452F Permutations/Luogu2757 等差子序列 树状数组、Hash
  4. VUE Right-hand side of ‘instanceof’ is not an object 解决方案
  5. 六千字干货文:到底要怎么去学算法?
  6. django之开发环境关于settins.py里面的DEBUG的设置和静态文件的关系
  7. async和await用法
  8. 解决Win10强制更新的工具:show or hide updates
  9. 大学计算机python教材答案_大学计算机python答案
  10. docker网络端口映射
  11. 教你如何刻录极品CD音乐碟
  12. Vue3中数据更新函数effect的实现
  13. jawbone app for android,jawbone手环app
  14. 高斯滤波/高斯模糊(Gaussian blur)和高斯噪声(Gaussian noise)
  15. Java常见面试题(2)
  16. 71、Es(es和mysql的概念对比)
  17. ORB-SLAM2工作原理总结
  18. IDEA默认JDK版本号变成11了
  19. AURIX™ Development Studio 安装使用
  20. 食物链 (POJ-1182)

热门文章

  1. ClassPathResource详解
  2. android studio 上手使用 大水逼问题
  3. 浅谈C++ Lambda 表达式(简称LB)
  4. Struts2 - Action no cache
  5. MyEclipse 8.6.1下载|MyEclipse 8下载|MyEclipse 8.6.1官网下载
  6. 终结VC2005分发包版本问题
  7. python生存曲线_Python从零开始第五章生物信息学⑤生存分析(log-rank)
  8. python中创建类的作用_Python中类的创建与使用详解
  9. 拓端tecdat|R语言推特twitter网络转发可视化分析
  10. java 建立缓存_java动态缓存——创建一个简单的缓存