How to save video from satelliteScenarioViewer?
63 ビュー (過去 30 日間)
古いコメントを表示
Is there a way to save the video when using the satelliteScenarioViewer in the Satellite or Aerospace Comm Toolbox?
I can play it fine on my workstation but I'd like to present some animated results in a slide presentation.
3 件のコメント
Brian LaRocca
2023 年 9 月 8 日
I would like the same functionality. But I am getting the same results as Mike. I tried using a for loop, e.g. for n = 1:10 ... end to get around that and just see some saved results. However, that does not work since the satellitescenario object does not have a "step" method.
採用された回答
Saffan
2023 年 9 月 14 日
Hi Mike,
Currently, there is no direct way to save a video from “satelliteScenarioViewer”, but there is a workaround using the “VideoWriter” class to combine each frame into a video. We can utilize the “screencapture” method from the File Exchange to obtain the required frames. Here is an example code snippet:
% Create a Scenario and a Viewer
sc = satelliteScenario(startTime,stopTime,sampleTime);
viewer = satelliteScenarioViewer(sc);
% Specify the name of the video file
videoFile = 'scenario_video.mp4';
% Create a VideoWriter object
videoWriter = VideoWriter(videoFile, 'MPEG-4');
% Set the frame rate of the video
videoWriter.FrameRate = 30;
% Open the video writer
open(videoWriter);
h=findall(0, 'Type', 'figure', 'Name', 'Satellite Scenario Viewer');
for time=startTime:minutes(1):stopTime
screencapture(h,'tempImg.png');
% Get the current frame as an image
frameImage = imread('tempImg.png');
% Write the frame to the video file
writeVideo(videoWriter, frameImage);
% Advance to the next frame
viewer.CurrentTime=time;
end
close(videoWriter);
You can choose the required playback speed of the simulation by setting the appropriate increment time in the ‘for’ loop.
Here is the link to “screencapture” method in File Exchange:
Please refer to the following documentation for more information on “VideoWriter” class:
Hope this helps!
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Spacecraft についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!