私はビデオシーケンス(フォーマットY4M)を持っており、同じGoPサイズのセブラルセグメントに分割したいと思います。 GoP = 8; FFMPEGを使ってMatLabでどうすればいいですか?非圧縮ビデオをMatLab上でffmpegのセグメントに分割しますか?
0
A
答えて
1
Matlabでビデオを表現する標準的な方法の1つは、4Dマトリックスです。寸法は高さx幅xカラーチャネルxフレームです。行列を作成したら、好きなフレームの範囲を指定することでタイムスライスを取るのは簡単です。
たとえば、ビデオを表現するためのループ
%Loads video as 4D matrix
v = VideoReader('xylophone.mp4');
while hasFrame(v)
video = cat(4, video, readFrame(v));
end
%iterate over the length of the movie with step size of 8
for i=1:8:size(video, 4)-8
video_slice = video(:,:,:,i:i+7); %get the next 8 frames
% do something with the 8 frames here
% each frame is a slice across the 4th dimension
frame1 = video_slice(:,:,:,1);
end
%play movie
implay(video)
他の最も一般的な方法で一度に8つのフレーム構造アレイ内でつかむことができます。ある範囲の値を持つ構造体配列にインデックスを付けて、8つのフレームをスライスすることができます。私の例の実際のフレーム値は、構造要素cdata
に格納されています。構造に応じて、要素の名前は異なる場合があります。 3d行列値を持つ要素を探します。
% Loads video as structure
load mri
video = immovie(D,map);
%iterate over the length of the movie with step size of 8
for i=1:8:size(video, 4)-8
video_slice = video(i:i+7); %get the next 8 frames
% do something with the 8 frames here
% to access the frame values use cdata
frame1 = video_slice(1).cdata
end
%play movie
implay(video)
トリッキーな部分はあなたのビデオフォーマットです。 Y4MはMatlabのビデオをロードする最も一般的な方法であるVideoReader
によってサポートされていません。また、いくつかのメディアフォーマット(MP3、AAC、mpeg4、x264、アニメーションGIF)を提供するFFmpeg Toolbox
ではサポートされていません。
含め、この問題に対する解決策を探し夫婦他の質問は、私もthe Matlab File Exchangeにチェックだろうが、私は個人的な経験を持っていないがありますこれらの方法のいずれかを用いる。
関連する問題
- 1. ffmpegで圧縮ビデオのビデオサイズを取得するには?
- 2. ffmpegでビデオが圧縮されていません
- 3. 分割ビデオをffmpegで解析する
- 4. FFmpegビデオ分割中のフレーム損失
- 5. アップロードする前にiPhone上でALAssetビデオを圧縮/サイズ変更
- 6. Matlab - JPEG圧縮。ハフマンエンコーディング
- 7. アンドロイドでビデオを圧縮するには?
- 8. ビデオ圧縮はアンドロイド非対応のシリカ圧縮機を使用しています
- 9. 圧縮されていないy4mビデオのフレームをffmpegで抽出する
- 10. セグメント間でオーバーラップのあるビデオを分割する
- 11. MediaCodecのないビデオ圧縮
- 12. 非圧縮のオーディオとビデオをサポートするメディアcontaner
- 13. android-ビデオをfirebaseのストレージに圧縮
- 14. 圧縮ヘッダーを設定し、圧縮してヘッダーを圧縮しますか?
- 15. .gzファイルを複数の1GB圧縮ファイル(.gz)に分割する
- 16. 圧縮後にffmpegライブラリが回転します。Android
- 17. ビデオを分割して、元に戻してffmpegで元に戻す方法
- 18. AVAssetWriterを使用したビデオ圧縮
- 19. ffpmegを使用したビデオ圧縮
- 20. ビデオを圧縮せずに転送
- 21. UIImagePickerControllerは、ビデオを選択した後、iOS10シミュレータでビデオを圧縮しました。
- 22. firebase上でgzipで圧縮
- 23. 分散し「ダンプ」/「圧縮」データサンプル
- 24. はFFMPEGを使用したくない、私はビデオを圧縮し、Server.Iにアップロードする必要がAndroidの
- 25. 非対称Javaの圧縮
- 26. ファイルを複数のセグメントに分割しますか?
- 27. ffmpeg-android-javaライブラリを使用して圧縮されたビデオは、Webブラウザで再生されません
- 28. Androidスタジオ:ビデオとオーディオの圧縮
- 29. オーディオとビデオのファイル圧縮機
- 30. ffmpegを強制的にビデオストリームを圧縮する方法はありますか?
すべてのセグメントを8フレームにしたいのですか?申し訳ありませんが、私はあなたの専門用語に精通していません。 – Cecilia
はい、正確に@セシリアです。 – SenDjasni
FFMPEGを使用する特別な理由は何ですか? Matlabにはビデオを読み込んで処理するための他のメソッドがあります。 – Cecilia