当前位置: 首页 > 知识库问答 >
问题:

视频传输时的方向

裴鸿熙
2023-03-14

我正在开发视频流应用程序,其中我需要捕获前置摄像头视频帧并编码然后传输到另一端,典型的流程是这样的

AVCapture会话-

它工作正常,我已将kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange设置为帧格式。

还可以预览用于显示预览的图层,

当设备方向发生变化时,问题就来了,如果设备从纵向移动到横向,那么在另一端的帧会被旋转90,我希望因为方向在预览层中得到支持,所以我会在捕获回调中自动接收旋转的缓冲区,但看起来,预览层只是向我显示捕获的缓冲区的预览并UI读取缓冲区,而在另一端我会得到咆哮的缓冲区,

所以我想知道,是否有任何配置可以更改它,或者是否需要在捕获缓冲区回调中旋转/转换缓冲区。

共有1个答案

冀子石
2023-03-14

谢谢你的研究,基本上解决方案是,连接的方向应该设置,我在玩预览层,所以它影响预览层,但不影响方向。

下面是代码片段

-(void) orientationChanged
{
    // get the new orientation from device 
    AVCaptureVideoOrientation newOrientation = [self videoOrientationFromDeviceOrientation];

    // set the orientation of preview layer :( which will be displayed in the device )
    [previewLayer.connection setVideoOrientation:newOrientation];

    // set the orientation of the connection: which will take care of capture
    [pCaptureConnection setVideoOrientation:newOrientation];

}
 类似资料:
  • 问题内容: 我正在做一个使用HTML和Javascript的项目,它将与本地文件一起在本地运行。我需要通过输入选择一个文件,获取文件信息,然后决定是否将其添加到列表中并进行复制。如果我决定使用它,则必须将其放在队列中以备后用。否则,我将丢弃并选择另一个文件。 我面临的问题是我无法找到一种仅通过在输入中选择视频持续时间来获得视频持续时间的方法。 我进行了很多搜索,但没有找到任何方法来获取持续时间。在

  • 问题内容: 是否有使用Java直播视频的良好库?理想情况下,管道的两端都应使用Java编写,但我最关心的是视频播放器。您会推荐什么软件? 更新 :似乎VLC引入了1-2秒的延迟。我需要真正的实时视频流。记录到播放的延迟必须小于300ms。 问题答案: 我见过的最好的视频播放/编码库是ffmpeg。它播放您扔给它的所有内容。(它是MPlayer使用的。)它是用C编写的,但是我发现了一些Java包装器

  • 问题内容: 我真的很想了解使用node.js将ffmpeg实时输出流到HTML5客户端的最佳方法,因为有很多变量在起作用,而且我在这个领域没有很多经验,花了很多小时尝试不同的组合。 我的用例是: 1)IP摄像机RTSP H.264流由FFMPEG采集,并使用节点中的以下FFMPEG设置重新混合到mp4容器中,并输出到STDOUT。这仅在初始客户端连接上运行,因此部分内容请求不会尝试再次产生FFMP

  • 接口说明 上传视频文件 API地址 POST /api/marker/1.0.0/uploadVideo 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 dataGuid string form 是 场景GUID file string form 是 视频文件 响应字段说明 参数 类型 说明 mp4UploadPath String 视频文件上传地址 响应成功示例 { "

  • 用户通过视频上传、管理视频、获取代码,实现本地视频在制定网站播放。 2.1视频上传 进入视频页面,点击上传视频 按钮,在弹出的页面点击添加视频 : 1)选择视频“分类”,添加视频“标签”(选填); 2)点击【添加视频】或者【选择文件并上传】按钮选择本地一个或多个视频,点击确认即开始视频上传;或者在本地选择一个或多个视频,将视频拖拽到视频上传区,即可进行视频上传; 3)上传过程中点击视频上传或者取消

  • 在一个涉及光学摄像机通信(OCC)的研究项目中,我需要主动分析视频帧,我目前正在我的pc上使用python和opencv进行离线分析(我用智能手机录制视频,然后进行处理)。我想用我的三星galaxy A40上的相机现场处理视频。我对android开发相当陌生,所以我只想创建一个用于捕获视频并将其传输到我的pc上进行分析的基本应用程序。我的应用程序要求在30 fps或更高的速度下捕获1080p。 任