热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

音视频相关研究英年早逝的雷宵骅在读博士的项目

CSDN的老朋友,博主雷霄骅,于2016年7月17日去世,时年26岁,CSDN博客排名第52位。两届CSDN博客之星、微软M

CSDN的老朋友,博主雷霄骅,于2016年7月17日去世,时年26岁,CSDN博客排名第52位。两届CSDN博客之星、微软MVP。中国传媒大学通信与信息系统专业在读博士。主要从事与广播电视有关的视音频技术的研究。包括视音频质量评价,视音频编解码,流媒体,媒资检索等。

虽然此前没拜读过此公的文章,盖因专业领域不同也;观其一生之成就,令我等望尘莫及,来自心底的唯有敬意!

Github:http://leixiaohua1020.github.io/

CSDN博客:http://blog.csdn.net/leixiaohua1020#


Experiment Projects


VideoEye

open-source stream analysis software
Project Page: https://github.com/leixiaohua1020/VideoEye

TIandSI

Tools used to calculate video's TI and SI
Project Page: https://github.com/leixiaohua1020/TIandSI



FFmpeg Development Examples

FFmpeg Examples can be used in different aspect of video / audio processing. The following picture shows the process of transcoding. It shows the position of these demos during the process of transcoding.Test picture


I also make some batch files for these FFmpeg demos:

Git

Git Clone All: simplest_ffmpeg_demos_git_clone_all.sh
Git Update All: simplest_ffmpeg_demos_git_pull_all.sh
Git Reset All: simplest_ffmpeg_demos_git_reset_all.sh
Git Archive All: simplest_ffmpeg_demos_git_archive_all.sh

Compile

VC++ Compile All: simplest_ffmpeg_demos_compile_devenv_all.bat
CL.exe Compile All: simplest_ffmpeg_demos_compile_cl_all.bat
MinGW Compile All: simplest_ffmpeg_demos_compile_mingw_all.sh
GCC (Linux/MacOS) Compile All: simplest_ffmpeg_demos_compile_gcc_all.sh



Simplest ffmpeg player

The simplest video player based on FFmpeg
It contains 3 project:

  • simplest_ffmpeg_player: Standard Version, suitable for biginner.
  • simplest_ffmpeg_player_su: SU(SDL Update)Version, Add SDL Event.
  • simplest_ffmpeg_decoder: A decoder that can demux container format. Uses libavcodec and libavformat.
  • simplest_ffmpeg_decoder_pure: A pure decoder. Only use libavcodec (Without libavformat).
  • simplest_video_play_sdl2. Example about using SDL2 play YUV data.
  • simplest_ffmpeg_helloworld: Output informations about FFmpeg libraries.

Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_player

Simplest ffmpeg audio player

The simplest audio player based on FFmpeg
It contains 3 project:

  • simplest_ffmpeg_audio_player: Audio player based on FFmpeg and SDL.
  • simplest_ffmpeg_audio_decoder: Audio decoder. Uses libavcodec and libavformat.
  • simplest_audio_play_sdl2: Example about using SDL2 play PCM data.

Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_audio_player

Simplest ffmpeg pic encoder

The simplest picture encoder based on FFmpeg
Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_picture_encoder

Simplest ffmpeg video encoder

The simplest video encoder based on FFmpeg
It contains 2 project:

  • simplest_ffmpeg_video_encoder: Simplest video encoder. It uses libavcodec and libavformat.
  • simplest_ffmpeg_video_encoder_pure: Pure video encoder. It only uses libavcodec to encode video (without libavformat).

Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_video_encoder

Simplest ffmpeg audio encoder

The simplest audio encoder based on FFmpeg
Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_audio_encoder

Simplest ffmpeg streamer

The simplest streamer based on FFmpeg
It contains 2 project:

  • simplest_ffmpeg_streamer: stream local media files to streaming media server.
  • simplest_ffmpeg_receiver: save streaming media to a file.

Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_streamer

Simplest ffmpeg mem handler

ffmpeg's example about read/write from memory
It contains 2 project:

  • simplest_ffmpeg_mem_player:Video Player that play video data in memory.
  • simplest_ffmpeg_mem_transcoder:Video Converter that convert video data in memory.

Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_mem_handler

Simplest ffmpeg device

FFmpeg's libavdevice examples
This Project contains 2 examples based on FFmpeg's libavdevice:

  • simplest_ffmpeg_grabdesktop: Screen Capture.
  • simplest_ffmpeg_readcamera: Read Camera.

Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_device

Simplest ffmpeg format

FFmpeg's mux/demux/remux examples
This Project contains examples about Video Fomat Processing based on FFmpeg:

  • simplest_ffmpeg_demuxer: Split Audio and Video bitstreams.
  • simplest_ffmpeg_demuxer_simple: Split Audio and Video bitstreams.
  • simplest_ffmpeg_muxer: Put Audio and Video bitstreams together.
  • simplest_ffmpeg_remuxer: Change Container Fomat of Video file.

Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_format

Simplest ffmpeg video filter

use FFmpeg's AVFilter to add watermark in a video file
This project contains 2 projects:

  • simplest_ffmpeg_video_filter: Put a PNG picture as watermark to a video file, use some libraries such as libavfilter and libavcodec.
  • simplest_ffmpeg_video_filter_pure:Add excellent effect to YUV raw data, only use libavfilter.Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_video_filter

Simplest ffmpeg swscale

Examples about handle pixel data using libswscale in FFmpeg
Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_swscale

Simplest FFmpeg AVUtil

Example about FFmpeg's libavutil
Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_avutil

Simplest ffmpeg Mobile

ffmpeg examples in Android / IOS
This project contains examples about handling multi-media data based on FFmpeg on mobile device.

  • [Android]
  • simplest_android_player: Video player based on Android API
  • simplest_ffmpeg_android_helloworld: Simplest HelloWorld program based on FFmpeg in Android.
  • simplest_ffmpeg_android_decoder: Simplest decoder based on FFmpeg in Android.
  • simplest_ffmpeg_android_decoder_onelib: Simplest decoder based on FFmpeg in Android - One Library.
  • simplest_ffmpeg_android_streamer: Simplest streamer based on FFmpeg in Android.
  • simplest_ffmpeg_android_transcoder: Transcoder transplant from ffmpeg.c in Android.
  • simplest_sdl_android_helloworld: Simplest program based on SDL in Android.
  • [IOS]
  • simplest_ios_player: Video player based on IOS API
  • simplest_ffmpeg_ios_helloworld: Simplest HelloWorld program based on FFmpeg in IOS.
  • simplest_ffmpeg_ios_decoder: Simplest decoder based on FFmpeg in IOS.
  • simplest_ffmpeg_ios_streamer: Simplest streamer based on FFmpeg in IOS.
  • simplest_ffmpeg_ios_transcoder: Transcoder transplant from ffmpeg.c in IOS.
  • simplest_sdl_ios_helloworld: Simplest program based on SDL in IOS.
  • [Win Phone]
  • simplest_ffmpeg_winphone_helloworld: Simplest HelloWorld program based on FFmpeg in Windows Phone.

Project Page: https://github.com/leixiaohua1020/simplest_ffmpeg_mobile



FFmpeg Transplant Projects


ffplay for MFC

ffplay transplant to MFC
Project Page: https://github.com/leixiaohua1020/ffplaymfc

ffmpeg for MFC

ffmpeg transplant to MFC
Project Page: https://github.com/leixiaohua1020/ffmpegmfc



Multimedia Projects Development Examples


simplest media play

Examples about video/audio's playing
It contains following programs:

  • simplest_audio_play_directsound:Play PCM raw audio data using DirectSound.
  • simplest_audio_play_sdl2:Play PCM raw audio data using SDL2.
  • simplest_video_play_direct3d:Play RGB/YUV raw video data using Direct3D's Surface.
  • simplest_video_play_direct3d_texture:Play RGB raw video data using Direct3D's Texture.
  • simplest_video_play_gdi:Play RGB/YUV raw video data using GDI.
  • simplest_video_play_opengl:Play RGB/YUV raw video data using OpenGL.
  • simplest_video_play_opengl_texture:Play YUV raw video data using OpenGL's Texture.
  • simplest_video_play_sdl2:Play RGB/YUV raw video data using SDL2.

Project Page: https://github.com/leixiaohua1020/simplest_media_play

simplest encoder

Examples about video encoders
This solutions contains examples about video encoders:

  • simplest_vpx_encoder: simplest encoder based on libvpx
  • simplest_x264_encoder: simplest encoder based on libx264
  • simplest_x265_encoder: simplest encoder based on libx265

Project Page: https://github.com/leixiaohua1020/simplest_encoder

simplest libRTMP example

Examples about usage of libRTMP
It contains following projects:

  • simplest_librtmp_receive: Receive RTMP streams and save as FLV file.
  • simplest_librtmp_send_flv: Stream FLV file to RTMP streaming server.
  • simplest_librtmp_send264: Stream H.264 raw data to RTMP streaming server.

Project Page: https://github.com/leixiaohua1020/simplest_librtmp_example

simplest libVLC example

Examples about libVLC
It contains following project:

  • playerGUI: Simplest libVLC Player GUI.
  • simplest_libvlc_example: Simplest libVLC Player.
  • simplest_libvlc_streamer: Simplest libVLC Streamer.

Project Page: https://github.com/leixiaohua1020/simplest_libvlc_example

simplest directshow example

Simple Examples about DirectShow
It contains following projects:

  • simplest_directshow_player: Simplest DirectShow Player.
  • simplest_directshow_player_custom: Simplest DirectShow Player (Custom).
  • playerGUI: Simplest DirectShow Player GUI.
  • simplest_directshow_info: Simplest DirectShow Info.
  • simplest_directshow_filter: Unfinished yet.

Project Page: https://github.com/leixiaohua1020/simplest_directshow_example

simplest flashmedia example

simple examples about using flash player to play RTMP/HTTP/HLS
This project contains following examples about Flash streaming media:

  • simplest_as3_rtmp_player: Simplest RTMP Player(ActionScript)
  • simplest_as3_rtmp_streamer: Simplest RTMP Streamer (ActionScript)
  • rtmp_sample_player_adobe: Sample Player extracted from Adobe Flash Media Server
  • rtmp_sample_player_wowza: Sample Player extracted from Wowza Server
  • rtmp_sample_player_flowplayer: RTMP/HTTP Player based on FlowPlayer (with RTMP plugin)
  • rtmp_sample_player_videojs: RTMP/HTTP Player based on VideoJS
  • rtmp_sample_player_jwplayer: RTMP/HTTP Player based on JWPlayer
  • hls_sample_player_flowplayer: HLS Player based on FlowPlayer (with HLS plugin)
  • hls_video_player_html5: HLS/HTTP Player based on HTML5
  • activex_vlc_player: Video Player based on VLC ActiveX

Note: Some example couldn't work directly. You should upload them to web server such as Nginx or Apache.

Project Page: https://github.com/leixiaohua1020/simplest_flashmedia_example

simplest_video_website

simplest video website based JavaEE and FFmpeg
This software is the simplest video website.It support live broadcast and VOD

Project Page: https://github.com/leixiaohua1020/simplest_video_website



Small Analysis Tools


H264 Analysis

A H.264 stream analysis software based on MFC
Project Page: https://github.com/leixiaohua1020/h264_analysis



推荐阅读
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • tcpdump 4.5.1 crash 深入分析
    tcpdump 4.5.1 crash 深入分析 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 本文介绍了一个视频转换软件MyVideoConverter,该软件支持将mpg转换成swf格式,支持多种格式的转换,转换速度快,还能转换成3GP格式,同时具有音频分离提取功能。欢迎使用MyVideoConverter进行视频转换和音频提取。 ... [详细]
  • scrcpy通过adb调试的方式来将手机屏幕投到电脑上,并可以通过电脑控制您的Android设备。它可以通过USB连接,也可以通过Wifi连接(类似于隔空投屏),而且不需要任何ro ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
author-avatar
大开先生_615
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有