【发布时间】:2023-03-09 11:07:01
【问题描述】:
我有一个项目,我需要从 rtsp 链接接收数据、解码、调整视频大小、对其进行编码并保存到 .mp4 文件。
- 我使用来自http://ffmpeg.zeranoe.com/builds/的ffmpeg
- 我使用的是 Visual Studio 2010,在 Windows 7 和 Windows 8 上运行。
- 这是我正在使用的 rtsp 链接:rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov
- 我解码并保存到 ppm 文件没问题。但编码不是。
- 我关注那里的教程:http://dranger.com/ffmpeg/tutorial01.html
这是我的代码:
AVPacket destPacket;
av_init_packet(&destPacket);
destPacket.data = NULL;
destPacket.size = 0;
while(av_read_frame(i_format_context, &packet)>=0) {
if(packet.stream_index==video_stream_index) {
int rest = avcodec_decode_video2(copyInputCodec, pFrame, &frameFinished, &packet);
if(frameFinished) {
av_init_packet(&destPacket);
destPacket.data = NULL;
destPacket.size = 0;
av_free_packet(&destPacket);
//deocde here
int ret_scale = sws_scale(sws_ctx,pFrame->data,pFrame->linesize,0,copyInputCodec->height,encodeFrame->data,encodeFrame->linesize);
encodeFrame->pts=i;
int ret_enc = avcodec_encode_video2(copyOutputCodec,&destPacket,encodeFrame,&encodeFinishsed);//<--- Problem here.
getchar();
}
}
}
这是输出错误
[swscaler @ 00607880] 警告:数据未对齐!这可能导致 速度损失 断言 avctx->codec->encode2 在 /home/kyle/software/ffmpeg/source/ffmp 失败 eg-git/libavcodec/utils.c:2134
我尝试运行许多示例代码来编码视频,结果是一样的。
感谢您的帮助。
PS:对不起我的英语水平。
【问题讨论】: