首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

FFmpeg 4.x 从入门到精通(一)—— QT 中如何用 FFmpeg 实现软件解码

流程分析 在开始看代码之前,我们必须先了解下ffmpeg软解的常规流程: 在以前的教程中我们经常见到av_regeister_all,这是旧版ffmpeg的用法,必须在开始进行初始化,新版的ffmpeg4.0...8、av_read_frame 读取码流中的音频若干帧或者视频一帧,av_read_frame()函数是新型ffmpeg的用法,对 av_read_packet 进行了封装,旧用法之所以被抛弃,就是因为以前获取的数据可能不是完整的...内部会缓存帧,在av_read_frame读不到数据的时候,需要通过packet.data = NULL;packet.size = 0;给ffmpeg发送一包空数据,即再avcodec_send_packet...[iVideoIndex]->avg_frame_rate.den; qDebug() <<"fps:" << fps_; } int64_t video_length_sec..._ = pAVFormatCtx->duration/AV_TIME_BASE; qDebug() <<"video_length_sec_:" << video_length_sec_;

95720

FFmpeg 工程之路-多媒体文件处理

章节 FFmpeg 代码结构 FFmpeg日志系统的使用 c 调用 FFmpeg 库avutil 的avlog 函数->testavlog.c 运行结果 FFmpeg 文件的删除与重命名 FFmpeg删除文件...-avpriviodelete() FFmpeg 重命名文件-avpriviomove() FFmpeg处理流数据 多媒体文件的基本概念 几个重要的结构体 FFmpeg 打印音/视频信息(Meta) 获取视频文件...FFmpeg 代码结构 ? 2....、 如视频编码 通常采用HR64 HR65编码、 从流中 Stream 读取的数据称为包 Packet 多帧压缩成的包、 一个包中包含着一个或多个帧 Frame 没有被压缩的数据、 4.2 几个重要的结构体...判断文件句柄是否仍然存在,存在则关闭 if (dst_fd) { fclose(dst_fd); } return 0; } 运行结果如下所示 ?

63730

08——FFmpeg命令行添加字幕

上一讲我们讲了如何通过FFmpeg命令行进行去除水印的操作,这一讲来讲一下如何通过FFmpeg命令行为视频添加字幕。...好了,言归正传,如何通过FFmpeg命令行来添加字幕呢?首先,我们需要拥有一个字幕文件,为简单起见,本文中使用srt格式文件来说明(实际应用中字幕的使用可能更为复杂,如果感兴趣的朋友可以自行研究)。...一、创建字幕文件 1.srt文件格式 No Nohour:min:sec,ms --> hour:min:sec,ms content 2. srt文件格式说明 No: 表明字幕的编号...(一个字幕文件中可以有多条字幕) hour: 表示小时 min: 表示分钟 sec: 表示秒 ms: 表示毫秒 第二行用来记录字幕在视频文件中开始显示和结束显示的时间...(1)字幕文件中设置的时间不应该超过整个视频文件的总时长; (2)字幕文件中设置每条字幕的持续时间最好不要少于1s,否则可能无法显示(因为人眼捕捉不到这么快的速度); 二、使用FFmpeg

4.3K20
领券