裸流文件保存到mp4 帧数问题
./demo rtsp:xxxxxxxx --rtsp_transport tcp -o 2560x1440-s-e h265 -f out.h265我是用上面的命令保存了一段视频文件
然后使用 ./demo_memory_read out.h265 2560 1440 并且在代码里加入如下代码 并且保存到test.mp4文件中,保存成功后使用播放器播放速度很快,应该怎么设置test.mp4的帧数呢?我的out.h265 大概有30秒的长度 mp4一秒就播放完了,这个帧数是怎么控制的呢?
shared_ptr<ModuleMppEnc> enc = make_shared<ModuleMppEnc>(EncodeType::ENCODE_TYPE_H265, 25);
enc->setProductor(dec);
enc->setBufferCount(8);
enc->setDuration(0); // Use the input source timestamp
ret = enc->init();
if (ret < 0)
{
ff_error("Enc init failed\n");
return ret;
}
auto file_writer = make_shared<ModuleFileWriter>(enc->getInputImagePara(), "test.mp4");
file_writer->setProductor(enc);
ret = file_writer->init();
if (ret < 0)
{
ff_error("ModuleFileWriter init failed\n");
return ret;
}
1. demo的-f选项只保存输入源模块输出的数据,如果你需要调整分辨率重新编码你可以用-m选项来保存
2. 内存读取模块的设置输入内存接口有设置时间戳的(pts),如果不设置那么视频的时间间隔都为0,而编码模块会根据设置的帧率产生时间戳,如果输入源没有时间戳编码模块就可以不要这行(setDuration(0)) dengkx 发表于 2024-10-10 14:02
1. demo的-f选项只保存输入源模块输出的数据,如果你需要调整分辨率重新编码你可以用-m选项来保存
2. 内 ...
非常感谢,可以了
页:
[1]