8.4 多媒体处理与应用
本节主要解答与地瓜 RDK 板卡上视频编解码、音频处理以及其他多媒体功能相关的常见疑问。
视频编解码
Q1: 开发板解码 RTSP 视频流时报错(如下图所示),可能是什么原因?
A: RTSP 视频流解码报错,常见原因及解决方法如下:
- 码流缺少 PPS 和 SPS 参数信息:
- 原因: 推流服务器推送的 RTSP 码流(尤其是 H.264 格式)中必须包含
PPS(Picture Parameter Set) 和SPS(Sequence Parameter Set) 参数信息,解码器需要这些信息来正确解析视频。 - 解决方法:
- 如果您使用
ffmpeg从视频文件(如.mp4,.avi)推流,建议在命令中添加-bsf:v h264_mp4toannexb(H.264 Bitstream Filter: MP4 to Annex B) 选项(注意:较新版本的 ffmpeg 中-vbsf已被-bsf:v替代)。这个过滤器会自动为码流添加PPS和SPS信息。ffmpeg推流命令示例:( 请将ffmpeg -re -stream_loop -1 -i xxx.mp4 -c:v copy -bsf:v h264_mp4toannexb -f rtsp rtsp://192.168.1.195:8554/h264_streamxxx.mp4替换为您的视频文件名,并将 RTSP 服务器地址rtsp://192.168.1.195:8554/h264_stream替换为实际地址。)
- 如果您使用
- 原因: 推流服务器推送的 RTSP 码流(尤其是 H.264 格式)中必须包含
- 分辨率支持限制:
- 目前 RDK 板卡对 RTSP 视频流的解码可能仅支持到特定的分辨率,例如 1080p (1920x1080)。请确认您的 RTSP 流分辨率是否在此支持范围内。查阅您板卡型号的具体文档以获取准确支持列表。
- 推流软件兼容性:
- 不推荐使用 VLC 直接推流: 使用 VLC 软件直接进行 RTSP 推流可能无法成功被 RDK 解码,原因是 VLC 在某些配置下可能不支持在推流时主动添加或确保
PPS和SPS信息。建议使用ffmpeg或其他能确保码流参数完整性的专业推流工具。
- 不推荐使用 VLC 直接推流: 使用 VLC 软件直接进行 RTSP 推流可能无法成功被 RDK 解码,原因是 VLC 在某些配置下可能不支持在推流时主动添加或确保