0

我正在寻找以下三个项目,在 STACKOVERFLOW 或任何地方都找不到:

  1. 用于将 AVFoundation 捕获到准备好压缩的文件块(约 10 秒)的示例代码?

  2. 压缩视频和音频以通过 Internet 传输的示例代码?ffmpeg?

  3. HTTP Live Streaming 将文件从 iPhone 发送到 Internet 服务器的示例代码?

我的目标是将 iPhone 用作流式传输到远程服务器的高质量 AV 摄像机。如果中间的数据速率停滞不前,文件应该在 iPhone 上缓冲。

谢谢。

4

2 回答 2

3

您可以使用 AVAssetWriter 对所需长度的 MP4 文件进行编码。AV 媒体将被编码到 H264/AAC 的容器中。然后,您可以简单地将其上传到远程服务器。如果您愿意,您可以为 HLS 流式传输视频分段,但请记住,HLS 被设计为服务器->客户端流式传输协议。据我所知,没有推送的概念。您必须创建一个自定义服务器来接受分段视频流的推送(考虑到 HLS 的设计方式,这并没有多大意义。请参阅RFC Draft。更好的方法可能是简单地上传 MP4(s)通过 TCP 套接字并让您的服务器将视频分段以流式传输到客户端查看器。这可以通过命令行或自定义程序使用 FFmpeg 轻松完成。

我还想补充一点,如果您尝试通过蜂窝连接流式传输 720p 视频,您的应用很可能会因过度使用数据而被拒绝。

于 2012-05-18T20:48:58.387 回答
0

使用 AVFoundation 捕获视频和音频。您可以在 AVCaptureformatDescription 中将音频和视频编解码器指定为 kCMVideoCodecType_H264 和 kAudioFormatMPEG4AAC、帧大小、帧速率。它将为您提供压缩的 H264 视频和 AAC 音频。

使用任何 RTP 服务器(如 Live555 Media)将其封装并传输到服务器。

于 2013-04-19T14:19:15.637 回答