うごくメモ帳3Dでは、3D立体視を表現に組み込むことができます。
立体視対応デバイスはあまり普及しているとは思えず、このサイトのゆるいアニメページでも立体視表現は削除しています。
ここでは、Newニンテンドー3DSで閲覧するつもりで作った立体視入りの動画ファイルを試験的に公開しています。
ニンテンドー3DSカメラと、フジフイルムの3Dカメラで作った動画も置いてあります。
互換性を優先した変換設定です。H.264です。2Dデバイスでは動画が縦長で左右に並びます。(SBS方式)
New3DSなら3Dで再生できます。
うごメモ3DのAVIを直アップです。乱暴ですね。
旧3DSで再生する方法もあります。このファイルをダウンロードして、3DSのSDカードのDCIM
フォルダーに「3桁の数字+5文字のアルファベット」を名付けたフォルダを作り、その中に入れれば3DSカメラで再生できます。
ニンテンドー3DSカメラで撮影したものを、H.264の3D動画に変換しました。
撮影日 2013/6/4 10:50:44
撮影日 2013/5/6 18:06:30
撮影日 2013/6/15 17:44:30
フジフイルムの3Dカメラ「FinePix REAL 3D W1」で撮影した動画を、H.264の3D動画に変換しました。
AVIコンテナ内に左目用ビデオ、オーディオ、右目用ビデオが格納されています。これは3DSのAVIと同じような構成です。ビデオはMotion JPEGで、解像度がVGAです。それが2画面分あります。音声はLPCMのステレオで、サンプリングレートが11025Hzです。ビデオにビットレートを振ったせいか、音声の品質が犠牲になっています。
撮影日 2024/6/29 18:55
撮影日 2024/12/17 夕方
New ニンテンドー3DSは、暗号化通信の検証に失敗した状態では動画の再生ができません。HTTP→HTTPSにリダイレクトを設定していると、知らず知らずのうちにこの問題にハマることがあります。
New ニンテンドー3DSなら、テストA~Dの動画が問題なく再生、立体視できました。
ffmpegを用意して、CUIを立ち上げて、以下のコマンドを打ちます。フレームレートはメモ速度に応じて変えます(colorフィルターのrとgとrのオプション)。
ffmpeg -i HNI_0003.AVI -strict unofficial -movflags +faststart -filter_complex color=s=768x480:r=8[base];[0:0]setpts=PTS-STARTPTS,scale=384:480[left],[0:2]setpts=PTS-STARTPTS,scale=384:480[right];[base][left]overlay=0:0:shortest=1[wh2];[wh2][right]overlay=w:0:shortest=1 -pix_fmt yuv420p -g 32 -sc_threshold 0 -c:v libx264 -x264opts "frame-packing=3" -profile:v main -level 3.2 -c:a libfdk_aac -b:v 512k HNI_0003.MP4
ffmpegを用意せず、CUIも立ち上げず、3DSからAVIを抜き取ってサーバーに上げるだけです。
ffmpegを用意して、CUIを立ち上げて、以下のコマンドを打ちます。うごメモAVIと解像度が異なるため、動画の並べ方を変えてあります。
ffmpeg -i HNI_0057.AVI -strict unofficial -movflags +faststart -filter_complex color=s=864x480:r=20[base];[0:0]setpts=PTS-STARTPTS,scale=860:240[left],[0:2]setpts=PTS-STARTPTS,scale=860:240[right];[base][left]overlay=2:0:shortest=1[wh2];[wh2][right]overlay=2:h:shortest=1 -pix_fmt yuv420p -g 60 -sc_threshold 0 -c:v libx264 -x264opts "frame-packing=4" -profile:v main -level 3.2 -c:a libfdk_aac -b:v 512k HNI_0057.MP4
テストCの変形です。縦横比をFinePixのファイルに合うように変えています。
1分を超えるものはHLSに変換しています。
ffmpeg -i DSCF9112.AVI -filter_complex color=s=640x480:r=30[base];[0:0]setpts=PTS-STARTPTS,scale=640:240[left],[0:2]setpts=PTS-STARTPTS,scale=640:240[right];[base][left]overlay=0:0:shortest=1[wh2];[wh2][right]overlay=0:h:shortest=1 -pix_fmt yuv420p -g 120 -sc_threshold 0 -c:v libx264 -x264opts "frame-packing=4" -profile:v main -level 3.2 -c:a libfdk_aac -b:v 860k -r 30 -f hls -hls_list_size 0 -master_pl_name freal3_2.m3u8 -master_pl_publish_rate 4 freal3_2_%v-movie.m3u8
任天堂ホームページの主な仕様によると、
となっています。
H.264のレベルが3.2なのは、おもちゃにしては頑張っていると思います(同時期のiPhone 6はレベル4.2を公式サポート)。60fpsの再生もできなくはないです。
実はHLSに対応しています。New3DS発売当時YouTubeが見れただけのことはあります。複数の画質を内包しておくと、通信状況に応じて画質を動的に変える機能もあります。
私のNew3DSがへたっているだけかもしれませんが、ブラウザで動画を見るとすごい勢いで電池が減っていきます。
各ファイルのMediaInfo出力を貼り付けておきます。
全般 形式 : AVI 形式/情報 : Audio Video Interleave サイズ : 4.92 MiB 長さ : 32秒 750ミリ秒 総ビットレート : 1,261 Kbps 映像 #1 ID : 0 形式 : JPEG コーデック ID : MJPG 長さ : 32秒 750ミリ秒 ビットレート : 496 Kbps 幅 : 384 ピクセル 高さ : 240 ピクセル モニターのアスペクト比 : 16:10 フレームレート : 8.000 fps 色空間 : YUV クロマサブサンプリング : 4:2:2 ビット深度 : 8 ビット 走査方式 : プログレシッブ (PPF) 圧縮方法 : 非可逆 ビット/(ピクセル*フレーム) : 0.673 ストリームのサイズ : 1.94 MiB (39%) 映像 #2 ID : 2 形式 : JPEG コーデック ID : MJPG 長さ : 32秒 750ミリ秒 ビットレート : 498 Kbps 幅 : 384 ピクセル 高さ : 240 ピクセル モニターのアスペクト比 : 16:10 フレームレート : 8.000 fps 色空間 : YUV クロマサブサンプリング : 4:2:2 ビット深度 : 8 ビット 走査方式 : プログレシッブ (PPF) 圧縮方法 : 非可逆 ビット/(ピクセル*フレーム) : 0.675 ストリームのサイズ : 1.94 MiB (39%) 音声 ID : 1 形式 : PCM 形式の設定 : Little / Signed コーデック ID : 1 長さ : 32秒 750ミリ秒 ビットレート種別 : 固定 (CBR) ビットレート : 262 Kbps チャンネル : 1 チャンネル サンプルレート : 16.4 KHz ビット深度 : 16 ビット ストリームのサイズ : 1.02 MiB (21%) アラインメント : インターリーブで整列 インターリーブの長さ : 125 ミリ秒 (1.00 個の映像フレーム) インターリーブの事前時間 : 124 ミリ秒
全般 形式 : AVI 形式/情報 : Audio Video Interleave サイズ : 55.4 MiB 長さ : 1分 35秒 総ビットレート : 4,891 Kbps 映像 #1 ID : 0 形式 : JPEG コーデック ID : MJPG 長さ : 1分 35秒 ビットレート : 2,436 Kbps 幅 : 480 ピクセル 高さ : 240 ピクセル モニターのアスペクト比 : 2.000 フレームレート : 20.000 fps 色空間 : YUV クロマサブサンプリング : 4:2:0 ビット深度 : 8 ビット 走査方式 : プログレシッブ (PPF) 圧縮方法 : 非可逆 ビット/(ピクセル*フレーム) : 1.057 ストリームのサイズ : 27.6 MiB (50%) 映像 #2 ID : 2 形式 : JPEG コーデック ID : MJPG 長さ : 1分 35秒 ビットレート : 2,381 Kbps 幅 : 480 ピクセル 高さ : 240 ピクセル モニターのアスペクト比 : 2.000 フレームレート : 20.000 fps 色空間 : YUV クロマサブサンプリング : 4:2:0 ビット深度 : 8 ビット 走査方式 : プログレシッブ (PPF) 圧縮方法 : 非可逆 ビット/(ピクセル*フレーム) : 1.033 ストリームのサイズ : 27.0 MiB (49%) 音声 ID : 1 形式 : ADPCM コーデック ID : 11 コーデック ID/ヒント : Intel 長さ : 1分 35秒 ビットレート種別 : 固定 (CBR) ビットレート : 64.0 Kbps チャンネル : 1 チャンネル サンプルレート : 16.0 KHz ビット深度 : 4 ビット ストリームのサイズ : 753 KiB (1%) インターリーブの長さ : 50 ミリ秒 (1.00 個の映像フレーム) インターリーブの事前時間 : 94 ミリ秒
全般 形式 : AVI 形式/情報 : Audio Video Interleave サイズ : 510 MiB 長さ : 3分 47秒 総ビットレート : 18.8 Mbps 映像 #1 ID : 0 形式 : JPEG コーデック ID : MJPG 長さ : 3分 47秒 ビットレート : 8,479 Kbps 幅 : 640 ピクセル 高さ : 480 ピクセル モニターのアスペクト比 : 4:3 フレームレート : 30.000 fps 色空間 : YUV クロマサブサンプリング : 4:2:2 ビット深度 : 8 ビット 走査方式 : プログレシッブ (PPF) 圧縮方法 : 非可逆 ビット/(ピクセル*フレーム) : 0.920 ストリームのサイズ : 229 MiB (45%) タイトル : FUJIFILM AVI STREAM 0200 映像 #2 ID : 2 形式 : JPEG コーデック ID : MJPG 長さ : 3分 47秒 ビットレート : 9,984 Kbps 幅 : 640 ピクセル 高さ : 480 ピクセル モニターのアスペクト比 : 4:3 フレームレート : 30.000 fps 色空間 : YUV クロマサブサンプリング : 4:2:2 ビット深度 : 8 ビット 走査方式 : プログレシッブ (PPF) 圧縮方法 : 非可逆 ビット/(ピクセル*フレーム) : 1.083 ストリームのサイズ : 270 MiB (53%) タイトル : FUJIFILM AVI STREAM 0200 音声 ID : 1 形式 : PCM 形式の設定 : Little / Signed コーデック ID : 1 長さ : 3分 47秒 ビットレート種別 : 固定 (CBR) ビットレート : 352.8 Kbps チャンネル : 2 チャンネル サンプルレート : 11.024 KHz ビット深度 : 16 ビット ストリームのサイズ : 9.55 MiB (2%) アラインメント : インターリーブで整列 インターリーブの長さ : 1000 ミリ秒 (30.00 個の映像フレーム) インターリーブの事前時間 : 1000 ミリ秒