我正在寻找以下三个项目,我无法在STACKOVERFLOW或任何地方找到:
AVFoundation捕获到准备压缩的文件块(~10秒)的示例代码?
通过互联网压缩视频和音频以进行传输的示例代码? FFMPEG?
HTTP Live Streaming将文件从iPhone发送到Internet服务器的示例代码?
我的目标是将iPhone用作流式传输到远程服务器的高品质AV摄像机。 如果插入的数据速率陷入困境,文件应该在iPhone上缓冲。
感谢。
答案 0 :(得分:3)
您可以使用AVAssetWriter对所需长度的MP4文件进行编码。 AV媒体将在H264 / AAC中编码到容器中。然后,您可以将其上传到远程服务器。如果您希望可以将视频分段用于HLS流,但请记住,HLS被设计为服务器 - >客户端流协议。据我所知,没有推动的概念。您必须创建一个自定义服务器来接受推送分段视频流(考虑到HLS的设计方式,这并没有多大意义。请参阅RFC Draft。更好的方法可能是简单地上传MP4 (s)通过TCP套接字并让您的服务器细分视频以便流式传输到客户端查看器。这可以通过命令行上的FFmpeg或通过自定义程序轻松完成。
我还想补充一点,如果您尝试通过移动电话连接流式传输720p视频,那么您的应用很可能因过度使用数据而被拒绝。
答案 1 :(得分:0)
使用AVFouncation捕获视频和音频。您可以在AVCaptureformatDescription中将音频和视频编解码器指定为kCMVideoCodecType_H264和kAudioFormatMPEG4AAC,帧大小,帧速率。它将为您提供压缩H264视频和AAC aduio。
封装此内容并使用Live555 Media等任何RTP服务器传输到服务器。