https://github.com/jackeylea/ffmpeg_beginner
食铁兽 ffmpeg4/5/6入门系列教程代码
https://github.com/jackeylea/ffmpeg_beginner
audio codec decode demuxer encode ffmpeg ffmpeg4 ffmpeg5 ffmpeg6 filters h264 muxer qt5 video yuv
Last synced: 2 months ago
JSON representation
食铁兽 ffmpeg4/5/6入门系列教程代码
- Host: GitHub
- URL: https://github.com/jackeylea/ffmpeg_beginner
- Owner: JackeyLea
- License: mit
- Created: 2020-10-30T13:59:49.000Z (over 4 years ago)
- Default Branch: 4.x
- Last Pushed: 2023-11-30T13:26:32.000Z (over 1 year ago)
- Last Synced: 2025-03-30T07:09:08.009Z (3 months ago)
- Topics: audio, codec, decode, demuxer, encode, ffmpeg, ffmpeg4, ffmpeg5, ffmpeg6, filters, h264, muxer, qt5, video, yuv
- Language: C++
- Homepage: https://blog.jackeylea.com/ffmpeg/ffmpeg-learning-indexes
- Size: 896 KB
- Stars: 308
- Watchers: 6
- Forks: 112
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ffmpeg_beginner
FFmpeg5/6对应代码见其他分支
## 编译说明
- 使用FFmpeg-BuildsLatest Auto-Build (2023-09-04 12:49) 15d0b26 测试
- 尽量保证编译结果没有错误、没有警告、没有deprecated方法调用
- 如果提示系统没有mfx头文件,可以从Intel Media SDK下载,下载后把api/include目录重命名为mfx,然后复制到include目录中## 源码说明
### 10.02.get_lib_version
获取库版本信息并解析输出可读信息
### 10.03.get_stream_info
输出视频的基本信息(时长、码率、编码方式等等)
### 10.04.video_decode_flow
视频解码的基本流程
### 10.05.video_decode_frame_save
解码视频并保存其中的50帧画面为ppm格式图片
### 10.06.video_decode_mp42yuv
视频解码的基本流程并输出视频信息,将解码后的视频数据保存为YUV格式文件
分别解码为YUV420P/YUV420SP
### 10.07.video_decode_by_cpu_display_by_qwidget
使用CPU解码视频,然后使用Qt的QWidget显示画面
### 10.08.video_decode_by_cpu_display_by_qopengl
使用CPU解码视频,然后使用Qt的QOpenGL显示画面
两种方法仅供参考
### 10.09.video_decode_by_cpu_display_by_qml
使用CPU解码视频,然后使用QML显示画面
### 10.10.video_decode_by_cuda_display_by_qt
使用CUDA解码视频并使用Qt的QWidget/QOpenGL/QML显示视频
### 10.11.video_encode_yuv2h264
将yuv源视频文件编码为h264格式的文件
### 10.12.video_encode_h2642mp4
将h264编码为mp4格式文件
### 10.13.video_encode_camera2h264
将摄像头捕获的视频直接编码为H264格式
### 10.14.audio_decode_mp32pcm
将mp3文件解码为pcm文件
### 10.15.audio_decode_swr_mp32pcm
将mp3音频重采样解码为pcm
### 10.16.audio_player_decode_by_ffmpeg_play_by_qt
使用FFmpeg解码音频,使用Qt播放音频
### 10.17.audio_player_decode_from_mem_play_by_qt
解码内存中的mp3数据并使用Qt播放
### 10.18.audio_encode_pcm2mp3
将pcm格式文件编码为mp3格式
### 10.19.audio_video_sync
Qt简单视频播放器,带音视频同步
### 10.20.video_decode_add_filter_display_by_qwidget
使用CPU解码视频,并添加滤镜,然后使用QWidget显示画面
### 10.21.video_demuxer_mp42h264mp3
将mp4分解为h264和mp3
### 10.22.video_demuxer_mp42yuvpcm
将mp4分解为h264和mp3,并在此基础上将h264解码为yuv,将mp3解码为pcm
### 10.23.video_muxer_mp3h2642mp4
将h264和mp3合并为mp4
### RTSParser
收RTSP流,并解析流中的H264数据
### 待添加
本系列的目的就是将雷霄华同志的教程进行新版本适配,其在CSDN发布的所有文章涉及的代码都会进行适配