完全に機能しているライブビデオをストリーミングするためにVideoCoreライブラリを使用しています。
私の要件は、ライブ ストリーミング ビデオを録画してドキュメント ディレクトリに保存し、誰でもその方法を教えてくれるようにすることです。
ライブ ストリーミング ビデオを録画するにはどうすればよいですか?
完全に機能しているライブビデオをストリーミングするためにVideoCoreライブラリを使用しています。
私の要件は、ライブ ストリーミング ビデオを録画してドキュメント ディレクトリに保存し、誰でもその方法を教えてくれるようにすることです。
ライブ ストリーミング ビデオを録画するにはどうすればよいですか?
ライブラリを確認したところ、記録機能を持つ唯一の方法はカスタム出力の作成のようです。
Split
バッファを複数の出力にプッシュできるクラスがあります。IOuput
そのため、ファイル保存機能を備えた新しい実装を作成し、そのSplit
クラスを使用してフローに追加する必要があります。
更新 #1
ライブラリ( file )内にファイル出力の例があることがわかりました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);
コメントを外して確認してみてください。