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