sdl android rtp h264,使用RTP协议发送和接收H264的例子(支持解码、播放)
【实例简介】
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的例子(支持解码、播放)相关推荐
- TCP协议发送和接收数据
TCP协议发送与接收数据 一.发送数据 1.使用Socket类的构造方法创建Socket对象 Socket(InetAddress address, int port) 创建一个流套接字并将其连接到指 ...
- 【原创】stm32实现DMX512协议发送与接收(非标)。
最近把玩了一下485,期间也接触了dmx512通信协议,该协议主要用于各种舞台灯光的控制当中,进而实现各种光效以及色彩变化.根据标准的512协议,其物理连接与传统上的RS485是完全一致的,并没有什么 ...
- PHP+socket+SMTP、POP3协议发送、接收邮件
1.实现SMTP协议的类dsmtp.cls.php: <?php // 通过socket实现SMTP协议的功能 // version: 1.1 // author : DC ...
- android 分包粘包_Android Socket 发送与接收数据问题处理: 发送后的数据接收到总是粘包...
先说明一下粘包的概念: 发送时是两个单独的包.两次发送,但接收时两个包连在一起被一次接收到. 在以前 WinCE 下 Socket 编程,确实也要处理粘包的问题,没想到在 Android 下也遇到了. ...
- Java中通过TCP协议发送和接收数据-Socket编程
TCP TCP协议是面向连接.保证高可靠性(数据无丢失.数据无失序.数据无错误.数据无重复到达)传输层协议. TCP通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端 ...
- 树莓派4B的串口使用,并通过串口与其他设备经过通讯协议发送、接收数据。
从树莓派的相关资料我们可以看到,树莓派有两个串口可以使用,一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0).硬件串口有单独的波特率时钟源,性能好,稳定性强:mi ...
- IGRP中的RTP、Neighbor Discovery协议及Time总结
EIGRP的运行所需要的四个组件包括: 1.Protocol-Dependent Modules(负责针对各种特定协议,如IP.IPX.APPLETALK) 2.RTP(Reliable Transp ...
- ROS 用 roboware实现节点信息发送和接收
在ros下实现节点编程,实现一个节点发送消息,另一个节点接收.实现方式有多种,可以直接在命令窗口创建工作空间包以及节点,用catkin_make进行编译,添加.bash路径,然后执行rosrun p ...
- android player通过rtp协议接收h264视频数据播放
android recorder通过rtp发送h264视频数据给vlc播放 android player通过rtp协议接收h264视频数据播放 Android recorder通过rtp发送aac数据 ...
- RTP协议全解(H264码流和PS流)
1 视频编码的原理 1.1 一个图像或者一个视频序列进行压缩,产生码流. 对图像的处理即是:帧内预测编码 其预测值P,是由已编码的图像做参考,经运动补偿得到的.预测图像P和当前帧Fn相减,得到两图像的 ...
最新文章
- Oracle12c多租户如何启动关闭CDB或PDB (PDB自动启动)
- Spring事务嵌套引发的问题--Transaction rolled back because it has been marked as rollback-only...
- CF452F Permutations/Luogu2757 等差子序列 树状数组、Hash
- VUE Right-hand side of ‘instanceof’ is not an object 解决方案
- 六千字干货文:到底要怎么去学算法?
- django之开发环境关于settins.py里面的DEBUG的设置和静态文件的关系
- async和await用法
- 解决Win10强制更新的工具:show or hide updates
- 大学计算机python教材答案_大学计算机python答案
- docker网络端口映射
- 教你如何刻录极品CD音乐碟
- Vue3中数据更新函数effect的实现
- jawbone app for android,jawbone手环app
- 高斯滤波/高斯模糊(Gaussian blur)和高斯噪声(Gaussian noise)
- Java常见面试题(2)
- 71、Es(es和mysql的概念对比)
- ORB-SLAM2工作原理总结
- IDEA默认JDK版本号变成11了
- AURIX™ Development Studio 安装使用
- 食物链 (POJ-1182)
热门文章
- ClassPathResource详解
- android studio 上手使用 大水逼问题
- 浅谈C++ Lambda 表达式(简称LB)
- Struts2 - Action no cache
- MyEclipse 8.6.1下载|MyEclipse 8下载|MyEclipse 8.6.1官网下载
- 终结VC2005分发包版本问题
- python生存曲线_Python从零开始第五章生物信息学⑤生存分析(log-rank)
- python中创建类的作用_Python中类的创建与使用详解
- 拓端tecdat|R语言推特twitter网络转发可视化分析
- java 建立缓存_java动态缓存——创建一个简单的缓存