# ffmpeg_beginner **Repository Path**: wangdou2014/ffmpeg_beginner ## Basic Information - **Project Name**: ffmpeg_beginner - **Description**: 食铁兽(feater.top)ffmpeg4入门系列教程代码 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: 4.x - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2022-07-06 - **Last Updated**: 2024-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ffmpeg_beginner FFmpeg4入门系列教程代码 FFmpeg5/6对应代码见其他分支 ## 编译说明 - 使用FFmpeg-BuildsLatest Auto-Build (2023-09-04 12:49) 15d0b26 测试 - 尽量保证编译结果没有错误、没有警告、没有deprecated方法调用 - 如果提示系统没有mfx头文件,可以从Intel Media SDK下载,下载后把api/include目录重命名为mfx,然后复制到include目录中 ## 源码说明 ### 3.get_lib_version 获取库版本信息并解析输出可读信息 ### 4.get_stream_info 输出视频的基本信息(时长、码率、编码方式等等) ### 5.video_decode_flow 视频解码的基本流程 ### 6.video_decode_frame_save 解码视频并保存其中的50帧画面为ppm格式图片 ### 7.video_decode_mp42yuv 视频解码的基本流程并输出视频信息,将解码后的视频数据保存为YUV格式文件 分别解码为YUV420P/YUV420SP ### 8.video_decode_by_cpu_display_by_qwidget 使用CPU解码视频,然后使用Qt的QWidget显示画面 ### 9.video_decode_by_cpu_display_by_qopengl 使用CPU解码视频,然后使用Qt的QOpenGL显示画面 两种方法仅供参考 ### 10.video_decode_by_cpu_display_by_qml 使用CPU解码视频,然后使用QML显示画面 ### 11.video_decode_by_cuda_display_by_qt 使用CUDA解码视频并使用Qt的QWidget/QOpenGL/QML显示视频 ### 12.video_encode_yuv2h264 将yuv源视频文件编码为h264格式的文件 ### 13.video_encode_h2642mp4 将h264编码为mp4格式文件 ### 14.video_encode_camera2h264 将摄像头捕获的视频直接编码为H264格式 ### 15.audio_decode_mp32pcm 将mp3文件解码为pcm文件 ### 16.audio_decode_swr_mp32pcm 将mp3音频重采样解码为pcm ### 17.audio_player_decode_by_ffmpeg_play_by_qt 使用FFmpeg解码音频,使用Qt播放音频 ### 18.audio_player_decode_from_mem_play_by_qt 解码内存中的mp3数据并使用Qt播放 ### 19.audio_encode_pcm2mp3 将pcm格式文件编码为mp3格式 ### 20.audio_video_sync Qt简单视频播放器,带音视频同步 ### 21.video_decode_add_filter_display_by_qwidget 使用CPU解码视频,并添加滤镜,然后使用QWidget显示画面 ### 22.video_demuxer_mp42h264mp3 将mp4分解为h264和mp3 ### 23.video_demuxer_mp42yuvpcm 将mp4分解为h264和mp3,并在此基础上将h264解码为yuv,将mp3解码为pcm ### 24.video_muxer_mp3h2642mp4 将h264和mp3合并为mp4 ### RTSParser 收RTSP流,并解析流中的H264数据 ### 待添加 本系列的目的就是将雷霄华同志的教程进行新版本适配,其在CSDN发布的所有文章涉及的代码都会进行适配