我要检测360度视频中,我发现,如果视频格式为360度,并基于该管理播放器支持的360度所以任何人都可以帮助吗?
我正在尝试使用ffmpeg转码360视频(目前在Gear VR上播放),主要是为了降低比特率(这是一项要求).但输出文件似乎删除了具有360视频元数据的"Side Data".
输入文件ffprobe结果(注意Side Data部分):
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2016-10-28T10:41:42.000000Z
Duration: 00:02:09.56, start: 0.000000, bitrate: 20116 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 2560x1280, 19797 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
Metadata:
creation_time : 2016-10-28T10:41:42.000000Z
handler_name : Alias Data Handler
encoder : AVC Coding
Side data:
spherical: equirectangular (0.000000/0.000000/0.000000)
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, …
Run Code Online (Sandbox Code Playgroud) 对于我正在处理的项目,我需要自动确定视频是否是 VR (360) 视频,如果是,它是什么格式。有什么办法可以告诉吗?我在考虑元数据,但找不到任何关于此的信息。
是否可以通过事件控制360度视频在时间上向前或向后移动(帧+/- 1),例如按下控制器按钮?
这里的想法是从视频中提取环境.视频不应该播放.按下按钮时,我们可以转到下一个/上一个帧.
有关于此的一些文件吗?我只找到了Skybox-PanoramicBeta.shader.
unity-game-engine virtual-reality 360-panorama 360-virtual-reality
最近我对YouTube上的360视频很着迷.我想开发一个示例Android应用程序,它可以播放360视频,并能够使用加速器/陀螺仪进行平移/滑动.
几个问题:
请提供代码示例.谢谢!
youtube android android-video-player android-videoview 360-virtual-reality
因此,使用ffmpeg,我将两个360视频连接成一个.问题是我丢失了最终视频中的所有360视频元数据(因此它不再被视为360视频).如果我在最终视频中使用exiftool,我缺少那些元数据:
我试图用ffmpeg注入那些metadatas,例如:
ffmpeg -i <input_video> -metadata Spherical="true" -codec copy <output_video>
Run Code Online (Sandbox Code Playgroud)
这样做我没有任何错误,但exiftool仍然没有显示metadatas.
我知道Google有一个Python脚本可以很好地完成这一点.
但我想在我的应用程序中注入metadatas,任何帮助将不胜感激,
谢谢 !
我正在渲染下面的Property Detail页面(可以在这里访问)
我有一个图像滑块和一个360图像查看器.目前,用户手动上传两种类型的图像,即来自一个界面的普通图像和来自其他界面的360图像.我检查属性是否有360个图像并使用全景查看器显示它们.
我使用以下Controller上传360图像,类似于上传普通图像.
public function upload_360_images()
{
if($this->session->userdata['id'] && $this->session->userdata['type']=='user')
{
if($_FILES)
{
if(isset($_FILES['files'])){
$data['errors']= array();
$extensions = array("jpeg","jpg","png");
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
$file_name = $key.$_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
/*$file_ext=explode('.',$_FILES['image']['name'][$key]) ;
$file_ext=end($file_ext);*/
$i=1;
if($file_size > 7097152){
$data['errors'][$i]='File '.$i.' size must be less than 7 MB';
$i++;
}
$desired_dir="uploads";
if(empty($data['errors'])==true){
if(is_dir($desired_dir)==false){
mkdir("$desired_dir", 0700); // Create directory if it does not exist
}
if(is_dir("$desired_dir/".$file_name)==false){
move_uploaded_file($file_tmp,"uploads/".$file_name);
$this->post_model->add360Image('property_360_images',$file_name,$this->uri->segment(3));
}else{ //rename the file if another one exist
$new_dir="uploads/".$file_name.time(); …
Run Code Online (Sandbox Code Playgroud) php codeigniter image 360-panorama-viewer 360-virtual-reality
我想将 360 度视频从等距柱状投影转换为立方投影。我怎样才能用 ffmpeg 做到这一点?什么是其他有效的开源方法?
有谁知道如何在three.js 中创建360º 相机?
我正在尝试将整个场景渲染为 360º 全景图,就像使用 go pro 360 装备一样。
我试图通过将几个屏幕排列成一个圆圈并在所有屏幕上拉伸一个 Threejs 窗口来重新创建全景图。
为此,我需要一个非常宽的窗口,它有一个 tree.js 相机,可以 360º 捕捉整个场景
这可能吗?
camera panoramas three.js virtual-reality 360-virtual-reality
我在 Unity 2018.2.10f1 中有一个时间线项目。我使用Unity Recorder
到出口360°视频。这是设置:
但输出不是等距矩形,不能作为 360° 视频播放:
有什么问题以及如何解决?谢谢
2:1 视频
免费相机设置
我正在使用陀螺仪在 iOS 上实现 360 度视频查看器,我需要为视频进行两次旋转,我使用了这个;
self.motionManager.deviceMotionUpdateInterval = 1.0/60.0;
if (self.motionManager.isDeviceMotionAvailable) {
CMDeviceMotion *deviceMotion = self.motionManager.deviceMotion;
CMAttitude *currentAttitude = deviceMotion.attitude;
//[self.motionManager startDeviceMotionUpdates];
[self.motionManager startDeviceMotionUpdatesUsingReferenceFrame:CMAttitudeReferenceFrameXArbitraryZVertical];
}
Run Code Online (Sandbox Code Playgroud)
然后我这样做:
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
CMDeviceMotion *currentDeviceMotion = self.motionManager.deviceMotion;
CMAttitude *currentAttitude = currentDeviceMotion.attitude;
float roll = currentAttitude.roll;
float pitch = currentAttitude.pitch;
float yaw = currentAttitude.yaw;
if (isLandscape)
{
_player.rotation = -yaw + currentLocation.x;
// 0 roll is phone flat, so we need to rotate -90 degrees to adjust vertical phone
if (orientation == UIDeviceOrientationLandscapeLeft) …
Run Code Online (Sandbox Code Playgroud) 我想我在这里找到了我面对的问题.当我下载360视频时,它们看起来像这样的普通视频文件:
但是要使VR View正常工作,视频需要像这样拆分:
有什么方法可以将下载的360视频转换为VR(双屏)格式,还是可以通过编程方式将我的应用程序设置为接受360 mp4文件并显示,而不会过度放大或缩小视频的某些区域?
从我的xml文件中提取:
<com.google.vr.sdk.widgets.video.VrVideoView
android:id="@id/video_view"
android:layout_width="match_parent"
android:layout_height="250dip"
android:scrollbars="null" />
Run Code Online (Sandbox Code Playgroud) android ×3
ffmpeg ×3
360-degrees ×2
360-panorama ×2
camera ×1
codeigniter ×1
devicemotion ×1
google-vr ×1
image ×1
ios ×1
metadata ×1
objective-c ×1
panoramas ×1
php ×1
portrait ×1
projection ×1
three.js ×1
video ×1
youtube ×1