View on GitHub

Lei Xiaohua's learning resource about video/audio technics

About me

I'm a PHD student in Communication University of China. I have focused on video/audio technics for several years. During these years I made some demos about FFmpeg and other multimedia projects. I share these demos here and wish they can help the beginnner of video/audio technics.

Info about me
Name: Lei Xiaohua
Education:
Bachelor: CUC - Radio and TV Engineering
Master: CUC - Digital TV Technics
Doctor: CUC - Digital Video Technics
Location: Chaoyang, Beijing, China
Email: leixiaohua1020@126.com
Site: http://blog.csdn.net/leixiaohua1020
SourceForge site: https://sourceforge.net/u/leixiaohua1020/wiki/Home/
Github site: http://leixiaohua1020.github.com/

Test picture


My projects List

My projects can be devided to following categories:


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:

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

Simplest ffmpeg audio player

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

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:

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:

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:

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:

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:

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 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.

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:

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

simplest encoder

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

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

simplest libRTMP example

Examples about usage of libRTMP
It contains following projects:

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

simplest libVLC example

Examples about libVLC
It contains following project:

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

simplest directshow example

Simple Examples about DirectShow
It contains following projects:

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:

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