Segmentation fault
来源:5-14 调试extra_audio程序

慕尼黑2215515
2025-04-14
使用老师的代码在本地调试,会在这句下面代码出现Segmentation fault。avcodec_parameters_copy(outStream->codecpar, inStream->codecpar);
其中,使用av_dump_format
输出的视频信息如下,视频可正常播放,并且av_find_best_stream
获取到的idx的值为1,说明inStream获取到了正确的音频流。
但是inStream->codecpar
获取不到原视频的信息,导致一调用inStream->codecpar
就会出现Segmentation fault。
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp41isom
creation_time : 2025-03-09T12:28:10.000000Z
artist : Microsoft Game DVR
title : Monster Hunter Wilds
Duration: N/A, bitrate: N/A
Stream #0:0[0x1](und), 0, 1/30000: Video: h264, 1 reference frame (avc1 / 0x31637661), none, 2560x1440, 0/1, 17576 kb/s, 27.78 fps, 30k tbn (default)
Metadata:
creation_time : 2025-03-09T12:28:10.000000Z
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : AVC Coding
Stream #0:1[0x2](und), 0, 1/48000: Audio: aac (mp4a / 0x6134706D), 48000 Hz, 2 channels, 128 kb/s (default)
Metadata:
creation_time : 2025-03-09T12:28:10.000000Z
handler_name : SoundHandler
vendor_id : [0][0][0][0]
尝试了很多方法
- 更换视频文件
- 在
avformat_open_input(&pFmtCtx, src, NULL, NULL);
之后使用avformat_find_stream_info(pFmtCtx, NULL);
- 给
avformat_find_stream_info
设置超时时间
这些方法都无法解决问题,inStream->codecpar
始终获取不到原视频的信息,导致会在调用avcodec_parameters_copy(outStream->codecpar, inStream->codecpar);
时出现Segmentation fault。
希望老师能帮忙看看是什么原因
写回答
2回答
-
慕尼黑2215515
提问者
2025-04-14
重新拉取编译了最新的ffmpeg,问题已解决
012025-04-15 -
李超
2025-04-14
你用的我上传的代码吗?
012025-04-14
相似问题