如何录制直播视频?

时间:2015-08-11 23:24:40

标签: ios objective-c video-streaming http-live-streaming videocore

我正在使用VideoCore库来播放正常运行的实时视频。

我的要求是我想要直播视频记录并存储在文档目录中,这样任何人都可以告诉我该怎么做?

如何录制直播视频?

1 个答案:

答案 0 :(得分:0)

我检查了库,看起来记录功能的唯一方法就是创建自定义输出。

Split类允许将缓冲区推送到多个输出。因此,您需要使用文件保存功能创建新的IOuput实现,并使用该Split类将其添加到流中。

更新#1

我发现库(VCSimpleSession.mm文件)中有一个文件输出示例:

{
    m_h264Packetizer = std::make_shared<videocore::rtmp::H264Packetizer>(ctsOffset);
    m_aacPacketizer = std::make_shared<videocore::rtmp::AACPacketizer>(self.audioSampleRate, self.audioChannelCount, ctsOffset);

    m_h264Split->setOutput(m_h264Packetizer);
    m_aacSplit->setOutput(m_aacPacketizer);

}
{
    /*m_muxer = std::make_shared<videocore::Apple::MP4Multiplexer>();
     videocore::Apple::MP4SessionParameters_t parms(0.) ;
     std::string file = [[[self applicationDocumentsDirectory] stringByAppendingString:@"/output.mp4"] UTF8String];
     parms.setData(file, self.fps, self.videoSize.width, self.videoSize.height);
     m_muxer->setSessionParameters(parms);
     m_aacSplit->setOutput(m_muxer);
     m_h264Split->setOutput(m_muxer);*/
}

m_h264Packetizer->setOutput(m_outputSession);
m_aacPacketizer->setOutput(m_outputSession);

尝试取消注释并检查。