No start code is found.

简介: No start code is found.

[h264 @ 0x833680] No start code is found. [h264 @ 0x833680] Error

splitting the input into NAL units.


执行avcodec_send_packet(decodec_ctx_v, &read_pkt);

这个有两个原因:

一是解码器上下文decodec_ctx_v结构体内参数配置缺少

二是解码器上下文decodec_ctx_v结构体内参数配置与read_pkt内的数据不匹配,比如视频,width不同。

如果从输入流中获取decodec_ctx_v内的各种参数,这两中错误就可以避免,如下

avformat_open_input(&ic, URL, NULL, NULL);
...//伪代码
avcodec_parameters_to_context(decodec_ctx_v, ic->streams[video_index]->codecpar);


注意:

当decodec_ctx_v是视频的解码上下文,而read_pkt是音频数据时,也会发生错误,其实就是错误二。

这时候要判断从av_read_frame(ic, &read_pkt);中读取的数据是视频还是音频。

判断read_pkt是视频还是音频帧,详见另一篇文章:AVPacket结构体内几个变量分析


 

相关文章
|
Ubuntu 开发工具 计算机视觉
RK3588 RGA 图像操作
RK3588 RGA 图像操作
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
1087 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
人工智能 前端开发 搜索推荐
|
10月前
|
人工智能 Java API
Java 生态大模型应用开发全流程实战案例与技术路径终极对决
在Java生态中开发大模型应用,Spring AI、LangChain4j和JBoltAI是三大主流框架。本文从架构设计、核心功能、开发体验、性能扩展性、生态社区等维度对比三者特点,并结合实例分析选型建议。Spring AI适合已有Spring技术栈团队,LangChain4j灵活性强适用于学术研究,JBoltAI提供开箱即用的企业级解决方案,助力传统系统快速AI化改造。开发者可根据业务场景和技术背景选择最适合的框架。
2246 2
|
9月前
|
人工智能 开发者
AI-Compass宝藏资源库:构建最全面的AI学习
AI-Compass宝藏资源库:构建最全面的AI学习
|
物联网 Linux 流计算
EasyLogger--不一样的打印输出
EasyLogger--不一样的打印输出
|
Java 编译器 数据库
异步日志方案——spdlog
异步日志方案——spdlog
|
安全 数据安全/隐私保护
ffmpeg的线程安全问题
ffmpeg的线程安全问题
571 0
|
数据采集 文件存储
给h264帧增加start code和sps/pps
给h264帧增加start code和sps/pps
1091 0
给h264帧增加start code和sps/pps
|
安全 Java 索引
让星星⭐月亮告诉你,(示例实战)enum枚举类九大特性详解
本文详细解析了Java枚举类的九大特性,包括定义枚举、迭代、Switch语句、枚举操作方法、构造函数和方法、抽象方法等,并通过实战示例展示了如何在Java中定义和使用枚举。通过阅读本文,你将能够掌握枚举类的使用技巧,提升编码水平。关键词:Java, 枚举类, Enum, 特性, 实战示例。
277 0

热门文章

最新文章