最简单的基于FFMPEG+SDL2.0 的视频播放器

最简单的基于FFMPEG+SDL2.0 的视频播放器

refer:
https://blog.csdn.net/leixiaohua1020/article/details/38868499

整体流程图:

FFmpeg解码一个视频流程如下图所示:

graph TD; id0["Start"] id1["av_register_all()"] id2["avformat_open_input()"] id3["avformat_find_stream_info()"] id4["avcodec_find_decoder()"] id5["avcodec_open2()"] id6["av_read_frame()"] id7{"Get Pocket?"} id8["AV Pocket"] id9{"Video Pocket"} id10["avcodec_decode_video2"] id11["END"] id0-->id1 id1-->id2 id2-->id3 id3-->id4 id4-->id5 id5-->id6 id6-->id7 id7-->|False|id11 id7-->|True|id8 id8-->id9 id9-->|True|id10 id9-->|False|id6 id10-->id6

SDL2.0显示YUV的流程图:

graph TD; id0["SDL_Init()"] id1["SDL_CreateWindow()"] id3["SDL_Window"] id4["SDL_CreateRenderer()"] id5["SDL_Renderer"] id6["SDL_CreateTexture()"] id7["SDL_Texture"] id8["SDL_UpdateYUVTexture()"] id9["SDL_RenderClear()"] id10["SDL_RenderCopy()"] id11["SDL_RenderPresent()"] id12{"Display"} id13["Decode()"] id14["YUV"] id0-->id1 id1-->id3 id3-->id4 id4-->id5 id5-->id6 id6-->id7 id7-->id8 id8-->id9 id9-->id10 id10-->id11 id11-->id12 id11-->id13 id13-->id14 id14-->id7
posted @ 2021-02-19 16:07  michaelchengjl  阅读(150)  评论(0编辑  收藏  举报