Firefly开源社区

标题: 裸流文件保存到mp4 帧数问题 [打印本页]

作者: 动动    时间: 2024-10-10 11:26
标题: 裸流文件保存到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;
        }



tchip_askquestions

null.txt

4 Bytes, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1


作者: dengkx    时间: 2024-10-10 14:02
1. demo的-f选项只保存输入源模块输出的数据,如果你需要调整分辨率重新编码你可以用-m选项来保存

2. 内存读取模块的设置输入内存接口有设置时间戳的(pts),如果不设置那么视频的时间间隔都为0,而编码模块会根据设置的帧率产生时间戳,如果输入源没有时间戳编码模块就可以不要这行(setDuration(0))
作者: 动动    时间: 2024-10-10 17:11
dengkx 发表于 2024-10-10 14:02
1. demo的-f选项只保存输入源模块输出的数据,如果你需要调整分辨率重新编码你可以用-m选项来保存

2. 内 ...

非常感谢,可以了




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1