如何将视频从 iOS 设备发送到服务器?

2023-12-22

我必须将视频从 iPhone 实时发送到服务器。我创建捕获会话并使用 AVCaptureMovieFileOutput。

NSError *error = nil;

captureSession = [[AVCaptureSession alloc] init];
// find, attach devices
AVCaptureDevice *muxedDevice = [AVCaptureDevice defaultDeviceWithMediaType: AVMediaTypeMuxed];
if (muxedDevice) {
    NSLog (@"got muxedDevice");
    AVCaptureDeviceInput *muxedInput = [AVCaptureDeviceInput deviceInputWithDevice:muxedDevice
                                                                             error:&error];
    if (muxedInput) {
        [captureSession addInput:muxedInput];
    }
} else {
    AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType: AVMediaTypeVideo];
    if (videoDevice) {
        NSLog (@"got videoDevice");
        AVCaptureDeviceInput *videoInput = [AVCaptureDeviceInput deviceInputWithDevice:videoDevice
                                                                                 error:&error];
        if (videoInput) {
            [captureSession addInput: videoInput];
        }
    }
    AVCaptureDevice *audioDevice = [AVCaptureDevice defaultDeviceWithMediaType: AVMediaTypeAudio];
    if (audioDevice) {
        NSLog (@"got audioDevice");
        AVCaptureDeviceInput *audioInput = [AVCaptureDeviceInput deviceInputWithDevice:audioDevice
                                                                                 error:&error];
        if (audioInput) {
            [captureSession addInput: audioInput];
        }
    }
}

// create a preview layer from the session and add it to UI
AVCaptureVideoPreviewLayer *previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:captureSession];
previewLayer.frame = view.layer.bounds;
previewLayer.videoGravity = AVLayerVideoGravityResizeAspect;
previewLayer.orientation = AVCaptureVideoOrientationPortrait;
[view.layer addSublayer:previewLayer];

// create capture file output

captureMovieOutput = [[AVCaptureMovieFileOutput alloc] init];
if (! captureMovieURL) {
    captureMoviePath = [[self getMoviePathWithName:MOVIE_FILE_NAME] retain];
    captureMovieURL = [[NSURL alloc] initFileURLWithPath:captureMoviePath];
}
NSLog (@"recording to %@", captureMovieURL);
[captureSession addOutput:captureMovieOutput];

使用ffmpeg对元数据进行编码,可能比AVAssetExportSession更好。但是ffmpeg编码比AVAssetExportSession困难得多;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将视频从 iOS 设备发送到服务器? 的相关文章

  • 如何在 iOS 应用程序中通过其他应用程序共享内容/数据,就像我们在 Android 应用程序中使用 Intent.ACTION_SEND 所做的那样?

    在Android中 我们可以通过Intent ACTION SEND startactivity api轻松共享内容 文本 图像 视频等 我已经有一个应用程序可以完美地做到这一点 并且有一个并行的 iOS 应用程序 我希望它能够实现相同的功
  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt
  • iOS 上的 UIBezierPath 操作

    我从一条直线开始 我希望用户能够触摸并拖动该线 使其弯曲 实际上 他们有能力将线条操纵成波浪形状 我不确定从技术上实现这一目标的最简单方法 我首先创建了三次曲线的 UIBezierPaths 数组 目的是操纵控制点 但似乎一旦绘制了 UIB
  • AVCaptureSession 具有多个方向问题

    我正在尝试实现条形码扫描仪 我有一个 AVCaptureSession 它从 AVCaptureDevice 接收视频 我想支持所有方向 使用以下代码 当我运行应用程序时 纵向一切正常 然而 在横向方向上 视图会旋转 但视频输入不会旋转 所
  • 为什么在授予用户权限时,UIUserNotificationType.None 在当前设置中返回 true?

    我正在编写一种方法来检查当前用户设置是否包含某些通知类型 当检查当前设置是否包含 UIUserNotificationsType None 时 无论授予权限还是拒绝权限 它都会返回 true 有谁知道这是为什么吗 func register
  • Objective-c 中的块递归

    当执行涉及 Objective C 块的递归时 我在 iOS 应用程序中收到 EXC BAD ACCESS 信号 这是简化的代码 void problematicMethod FriendInfo friendInfo onComplete
  • 自定义 UITableViewCell 选择样式?

    当我点击我的UITableViewCell 当我单击单元格时 背景部分 我的背景图像未覆盖的区域 会变成蓝色 另外 所有的UILabel单击时单元格上的 s 变为白色 这就是我想要的 然而 我不想要的是当我点击它时的蓝色背景 但如果我这样做
  • HTML:如何强制链接在新选项卡而不是新窗口中打开[重复]

    这个问题在这里已经有答案了 I use target blank 在新选项卡中打开链接 但在 IE 中它会打开一个新窗口 这是完全合乎逻辑的 因为这就是 blank应该做的 我不知道如何target blank 在其他浏览器中的行为 有什么
  • iPhone UINavigationBar 使用 [UINavigationBar 外观] 更改所有控制器的字体样式

    我知道我可以单独更改导航栏的字体 如本答案所述 更改导航栏的字体 https stackoverflow com questions 5832036 change the navigation bars font 目前我正在使用一种更全局的
  • 检测 AvPlayer 何时切换比特率

    在我的应用程序中 我使用 AVPlayer 通过 HLS 协议读取一些流 m3u8 文件 我需要知道在流会话期间 客户端切换比特率多少次 我们假设客户端的带宽正在增加 因此客户端将切换到更高比特率的段 AVPlayer能检测到这个开关吗 T
  • SiriKit 错误:此应用程序不支持捐赠意图

    我在 Xcode 10 iOS 12 Beta 中捐赠自定义意图时遇到问题 我创建了一个在我的主应用程序目标和 OrderIntent 目标之间共享的自定义框架 我创建了一个 intentdefinition 文件 并将目标成员资格设置为我
  • UICollectionView 拖放文件夹创建

    我正在使用 UICollectionView 创建 iOS 画廊应用程序 我希望用户能够拖放图像来重新排序图库并创建文件夹 类似于 iPhone 上的主屏幕 我发现了以下内容tutorial http nshint io blog 2015
  • iOS 循环对象的属性并添加操作

    我有一个具有几个类似属性的类 UISliders 我想添加用户开始和结束使用每个滑块时的操作 每个滑块都将链接到同一个选择器 因此我考虑只是迭代它们 而不是编写 10 个几乎相同的代码块 问题是 最有效的方法是什么 我尝试过这样的事情 在运
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • 苹果企业程序分发问题[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 这个问题涉及到Apple iOS 开发者企业计划 http developer apple com programs ios enterprise 我
  • 如何反转 CGPath 的点顺序

    我想画一个圆圈 并用它打出字母 为此 我需要顺时针抚摸圆圈 逆时针抚摸字母 这一切都很好 但是当我使用 Core Text 获取字母路径时 我不知道如何从本质上反转该路径 不是镜像或旋转或任何东西 这很简单 我希望点笔画顺序是逆时针的 这实
  • 分发内部业务 IOS 应用程序

    我遇到了 IOS 应用程序分发的一个令人困惑的部分 因此 我需要简单细分一下我的限制 即仅将我的应用程序分发给我的员工 同事或任何被视为 内部 的人 这是表明我不希望该应用程序出现在应用程序商店中的另一种方式 我的情况是我为几家公司开发 他
  • RemoteIO 音频单元播放回调中的 AudioBufferList 内容

    我想 拦截 音频数据传送到 iOS 设备扬声器的过程 我相信这可以使用 RemoteIO 音频单元和回调来完成 在下面的playbackCallback中 ioData实际上包含任何音频数据吗 static OSStatus playbac
  • IPV6 快速可达性

    我是 swift 和 xcode 的新手 并且我的应用程序因 IPV6 而被拒绝 性能 2 1 当我们执行以下操作时 您的应用程序会在运行 iOS 9 3 5 并连接到 IPv6 网络的 iPad 和 iPhone 上崩溃 具体来说 当我们
  • 为什么使用 iPhone 或 iOS 设备在“iframe”中查看“position:fixed”时不起作用?

    我研究过 stackoverflow 似乎position fixed在 iOS 移动设备的 iframe 中 https stackoverflow com questions 15874910 position fixed and if

随机推荐

  • OpenCV Python:如何将一个图像叠加到另一个图像的中心

    如何将较小的图像粘贴到另一图像的中心 两个图像具有相同的高度 但较小的图像的宽度始终较小 生成的图像应该是较小的图像 周围有黑条 因此它是正方形的 resizedImg cv2 resize img newW 40 blankImg np
  • 如何将 QML 工具栏和菜单栏嵌入到 QMainWindow 中

    我在用QWT绘制数据的库 貌似不能嵌入QWidget into QML Quick 2 所以 我决定创建QMainWindow作为我的主窗口并使用创建其工具栏和菜单栏Quick Controls 我应该如何将该 qml 工具栏和菜单栏嵌入到
  • x86_64 汇编 Linux 系统调用混乱

    我目前正在 Linux 上学习汇编语言 我一直在使用 Programming From the Ground Up 一书 所有示例都是 32 位的 我的操作系统是 64 位 并且我一直尝试在 64 位中完成所有示例 但是我遇到了麻烦 sec
  • 加快 Xcode Swift 构建时间

    随着我的项目在过去一年中不断增长 其构建时间也不断增长 在过去的几个月里 它从 4 分钟缩短到了 7 分钟左右 时间包括 GitHub 拉取 单元测试等 我调查过 Xfrontend debug time function bodies找到
  • 过期时间为“会话结束时”的 cookie 何时过期?

    有一个带有过期时间的会话 cookie 其内容为 会话结束时 它到底什么时候过期还是会永远存在 饼干 会话结束时过期 从用户的角度来看 过期是不可预测的 在带有 Safari 的 iOS 上 只要您切换应用程序 它们就会过期 在带有 Chr
  • Mingw 和 Eclipse 无法找到库

    我遇到的问题与描述的类似here https stackoverflow com questions 9127623 mingw eclipse ld exe does not find libraries 我创建了一个新项目 在 Ecli
  • 单击“通知”后打开应用程序

    我的应用程序中有一条通知 代码如下 Notification Start notificationManager NotificationManager getSystemService Context NOTIFICATION SERVI
  • 如何使用 highchart 使两个图表使用 div 并排显示在同一行中

    我想使用 div 在同一行显示两个图表 你能帮忙吗 这是我正在尝试的 但它显示为两行 div div style width 200px height 200px div div style width 200px height 200px
  • Perl - 使用编码方法读取文件?

    我在编码方面不太好 我想弄清楚如何以与开始时相同的编码返回数据 我有一个文件 其中包含一些字符 例如 当我编辑并插入数据库时 它们已经变成了 decode entities 什么都不做 encode entities 再次对字符进行编码 因
  • Symfony2 Monolog 到电子邮件错误为什么 swiftmailer.transport.real 服务不存在

    更新 symfony 后2 3 to 2 4 i got ServiceNotFoundException Fatal error Uncaught exception Symfony Component DependencyInjecti
  • HTML5 视频,视频内无缝循环

    我正在编写一个交互式视频 一种游戏 用户在侧面板上进行操作 并且操作发生在视频中 对于一部分来说 视频正在等待用户在面板上执行操作 因此它必须循环播放 直到用户启动该操作 所以在 15 秒时 只要用户没有做出动作 我就会回到 11 秒 视频
  • 如何以编程方式检测 iPhone XS 或 iPhone X? [复制]

    这个问题在这里已经有答案了 我的一个应用程序连接到一项 Web 应用程序服务 该服务向用户提供设备特定的新闻 为了适应最新的 iPhone 版本 我需要以编程方式区分 iPhone XS 和 iPhone X 如何做到这一点 UIScree
  • ASP.NET AutoPostBack 正在清除表单数据

    我有一个单选按钮列表 我想在用户做出选择时执行一些操作
  • 通过 WSO2 ESB 访问 WSO2 数据服务服务

    我创建了一个服务 产品 它接受 ProductID 值并返回数据 我有此服务的 SOAP 和 HTTP 请求和响应 我可以通过执行 h p localhost 9763 services Products HTTPEndpoint Prod
  • 每次都是相同的随机数

    我正在通过命令行运行脚本R CMD BATCH script in R script out R 我有以下行 它选择 12 个随机行 id 并对它们进行排序 test index lt sort sample 1 nrow recoded
  • Base64 DataURL 图像的大小限制是多少?

    我想知道浏览器中加载的 Base64 DataURL 图像的最大长度是多少 Thanks Citing MDN 对此 https developer mozilla org en US docs data URIs Common probl
  • 为什么 Linux 服务器响应的 TCP 数据包多于客户端请求的 MSS

    嗯 我看到了一件奇怪的事情 这不是我所期望的 TCP 理论 客户端在握手时将 MSS 最大段大小 设置为 1360 窗口大小为 64K 但 Linux 服务器发送的 TCP 数据包包含 4KB 7KB 一些 8KB 的数据包 超过 1360
  • 具有队列基​​本功能的最快 Java 集合是什么?

    Java 中最快的集合是什么 我只需要添加和删除操作 顺序并不重要 equals元素不是问题 无非添加和删除很重要 没有限制的大小也很重要 这些集合里面都会有Object 目前我正在使用 ArrayDeque 因为我发现这是更快的队列实现
  • 设置 Android 日期选择器日期限制

    我在 android 中使用 datePicker 根据用户选择的日期显示图像 我需要将所述日期限制为某些日期 例如 2010 年 1 月 1 日至 2010 年 12 月 31 日 我想这很简单 但我在哪里可以找到有关如何限制这些日期的答
  • 如何将视频从 iOS 设备发送到服务器?

    我必须将视频从 iPhone 实时发送到服务器 我创建捕获会话并使用 AVCaptureMovieFileOutput NSError error nil captureSession AVCaptureSession alloc init