ffmpeg将yuv文件编码为mp4

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg将yuv文件编码为mp4相关的知识,希望对你有一定的参考价值。

参考技术A 上一遍文件是将mp4的视频流数据解码,并且写入yuv的数据文件中,这篇文章是一个逆向操作,既将yuv数据文件编码为一个mp4文件

avformat_alloc_output_context2 根据文件名创建视频封装上下文对象
avio_open 打开视频文件
avcodec_find_encoder 查找编码器, 我们使用的是h264,参数就是AV_CODEC_ID_H264
avcodec_alloc_context3 创建编码器的上下文对象并且设置相关参数
avcodec_open2 打开编码器
avformat_new_stream 在视频文件中创建一个视频流对象
avformat_write_header 写入文件头
avcodec_send_frame 将yuv数据封装成帧并送入编码器
avcodec_receive_packet 从编码器中获取编码好的h264帧
av_interleaved_write_frame 将h264帧写入视频文件中
flush_encoder 写入剩余的帧数据
av_write_trailer 写入文件尾部信息

以上是关于ffmpeg将yuv文件编码为mp4的主要内容,如果未能解决你的问题,请参考以下文章

ffmpeg视频编解码 demo初探(包含下载指定windows版本ffmpeg)将YUV图片序列作为流读入,编码封装成x264 MP4视频

如何将yuv编码为h264,自己编码或者ffmpeg都可以。

FFmpeg4入门13:h264编码为mp4

视频编码技术——YUV的ffmpeg编码实战

视频编码技术——YUV的ffmpeg编码实战

基于FFmpeg的视频播放器之五:使用SDL2渲染yuv420p