gpt4 book ai didi

ffmpeg - 为什么 av_write_trailer 失败?

转载 作者:行者123 更新时间:2023-12-04 23:17:19 25 4
gpt4 key购买 nike

我正在处理一个视频文件。
我使用 ffmpeg 读取每个数据包。

如果是音频数据包,我使用 av_interleaved_write_frame 将数据包写入输出视频文件。

如果是视频包,我将包解码,获取视频帧的数据,处理图像,压缩回包。然后我使用 av_interleaved_write_frame 将处理后的视频帧数据包写入输出视频文件。

通过调试,正确读取了音频包和视频包。
但是,当它转到“av_write_trailer”时,它会退出。但输出视频文件存在。

错误信息是:

*** glibc detected *** /OpenCV_videoFlatten_20130507/Debug/OpenCV_videoFlatten_20130507: corrupted double-linked list: 0x000000000348dfa0 ***

使用 Movie Player(在 Ubuntu 中),输出的视频文件可以正确播放音频,但没有视频信号。
使用VLC播放器,它可以显示第一帧视频(保持相同的视频画面),并正确播放音频。

我试图调试到“av_write_trailer”,但由于它在 ffmpeg 库中,我无法获得详细的信息是什么错误。

还有一条信息:之前版本的项目只是处理视频帧,没有添加音频流;它运作良好。

任何提示或线索?

最佳答案

我找到了解决方案。我没有使用 rescale 来根据流的 time_base 设置 pts。实际上,相关代码在示例 muxing.c 中。

关于ffmpeg - 为什么 av_write_trailer 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16514339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com