有没有办法从NetLogo创建视频?
我已经看过quicktime扩展,然而,这个接缝只允许你导入视频,而不是创建它们.
我想要做的是保存环境中发生的事情的视频.我有一个模型,有大量的乌龟跑来跑去,我想把它保存到一个视频,所以我可以在演示文稿中使用它.这可能吗(除了做屏幕截图)?
谢谢
我有一个骑在各种尺寸(大尺寸,如100x100)的棋盘上骑行的算法,我想为结果制作动画.每当骑士移动到一个新的方块时,(方形)画布中的相应像素将改变颜色,直到最终整个画布被着色.所得到的电影将可在网页上查看有关该算法的内容.
如果我想要广泛的浏览器支持,动画GIF似乎是最好的方法(尽管欢迎其他建议).使用它的最佳工具或库是什么?我很高兴使用Linux或Mac电脑上免费提供的任何东西.
实际的算法太长了,无法在这里做一个有用的例子(如果你真的好奇的话,请参阅本文),但这是一个8x8板上(无聊)国王之旅的伪代码:
movie = new Movie()
frame = new Frame()
frame.fillRectangle((1,1), 8, 8, BLUE)
for row in [1..8] {
if (row.isOdd()) { colrange = [1..8] } else { colrange = [8..1] }
for col in colrange {
frame.colourPixel(row, col, RED)
movie.addFrame(frame)
}
}
movie.saveAsGIF("tour.gif")
Run Code Online (Sandbox Code Playgroud)
额外信用问题:我们可以利用这部电影的特殊功能来减小文件大小吗?在维基百科的文章表明,我们也许能够做到这一点,如果我们只是改变一些像素-事实上,我们只更改每帧的一个!
任何人都可以建议一种方法,通过它您可以在iOS中实现视频剪辑的完全平滑和无缝循环?我尝试了两种方法,当视频循环时,这两种方法都会产生一个小暂停
1)AVPlayerLayer与playerItemDidReachEnd通知设置关闭seekToTime:kCMTimeZero
我更喜欢使用AVPlayerLayer(出于其他原因),但是这种方法会在循环之间产生明显的暂停.
2)带有setRepeatMode的MPMoviePlayerController:MPMovieRepeatModeOne
这导致较小的暂停,但仍然不完美.
我不知道从哪里开始.任何人都可以建议一个灵魂?
Matlab 有以下指南来制作 avi 格式的电影。我的目标是能够通过 powerpoint 在我的演示文稿中播放视频。
nFrames = 20;
% Preallocate movie structure.
mov(1:nFrames) = struct('cdata', [],...
'colormap', []);
% Create movie.
Z = peaks; surf(Z);
axis tight
set(gca,'nextplot','replacechildren');
for k = 1:nFrames
surf(sin(2*pi*k/20)*Z,Z)
mov(k) = getframe(gcf);
end
% Create AVI file.
movie2avi(mov, 'myPeaks.avi', 'compression', 'None');
Run Code Online (Sandbox Code Playgroud)
我理解这个例子,我应该没有压缩加载到 PowerPoint 中。但是我不明白如何使用 struct 正确预分配我的内存。
在WPF中,我希望为我的电影创建圆角,但是电影实际上将与边框重叠,我得到一个加载我的电影的普通矩形框.不知道如何解决这个问题?
<Border BorderBrush="#FF000000" BorderThickness="1,1,1,1" CornerRadius="20,20,20,20">
<Grid>
<MediaElement x:Name="movieLoader" HorizontalAlignment="Left" Height="128" VerticalAlignment="Top" Width="236" Source="../video/empty.mp4"/>
</Grid>
</Border>
Run Code Online (Sandbox Code Playgroud) 我试图在顶部添加效果来编辑现有的电影,因此我需要能够扫描所有电影帧,将它们作为UIImage,应用效果,然后更新该帧或将其写入新电影.我发现人们建议使用AVAssetImageGenerator.以下是我最后编辑的样本:
-(void)processMovie:(NSString*)moviePath {
NSURL* url = [NSURL fileURLWithPath:moviePath];
AVURLAsset *asset=[[AVURLAsset alloc] initWithURL:url options:nil];
float movieTimeInSeconds = CMTimeGetSeconds([movie duration]);
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
generator.requestedTimeToleranceBefore = generator.requestedTimeToleranceAfter = kCMTimeZero;
generator.appliesPreferredTrackTransform=TRUE;
[asset release];
// building array of time with steps as 1/10th of second
NSMutableArray* arr = [[[NSMutableArray alloc] init] retain];
for(int i=0; i<movieTimeInSeconds*10; i++) {
[arr addObject:[NSValue valueWithCMTime:CMTimeMake(i,10)]];
}
AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime, CGImageRef im, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error){
if (result == AVAssetImageGeneratorSucceeded) {
UIImage* img = …
Run Code Online (Sandbox Code Playgroud) 我必须创建多个缩略图并保存在 c# 中的 amazon s3 上。我找不到只能从源文件从内存流创建缩略图的库。但没有文件源,我只有上传的流,我不想在本地保存文件。
谢谢你的帮助!
import nltk
import random
from nltk.corpus import movie_reviews
documents=[(list(movie_reviews.words(fileid)),category)
for category in movie_reviews.categories()
for fileid in movie_reviews.fileids(category)]
random.shuffle(documents)
#print(documents[1])
all_words=[]
for w in movie_reviews.words():
all_words.append(w.lower())
all_words=nltk.FreqDist(all_words)
word_features = list(all_words.keys())[:3000]
def find_features(document):
words = set(document)
features=[]
for w in word_features:
features[w]= (w in words)
return features
print((find_features(movie_reviews.words('neg/cv000_29416.txt'))))
featuresets = [(find_features(rev), category) for (rev,category) in documents]
Run Code Online (Sandbox Code Playgroud)
运行后,我收到错误
features[w]= (w in words)
TypeError: list indices must be integers, not str
Run Code Online (Sandbox Code Playgroud)
请帮我解决一下......
我昨天发现,用于检索当前在许多热门流媒体服务上播放的节目/电影数据的Guidebox API将从8月开始转为付费,并且对我的预算来说太高了.
有没有人知道获取当前可用于各种服务的内容列表的任何替代方案?(Netflix不一定要包括在内).我没有太多运气就四处寻找.
非常感谢.
我有多个文件的录音.我正在使用com.googlecode.mp4parser:isoparser:1.0.2
库创建一个连续的音频文件.
以下是我的代码:
String mediaKey = isAudio ? "soun" : "vide";
List<Movie> listMovies = new ArrayList<>();
for (String filename : sourceFiles) {
listMovies.add(MovieCreator.build(filename));
}
List<Track> listTracks = new LinkedList<>();
for (Movie movie : listMovies) {
for (Track track : movie.getTracks()) {
if (track.getHandler().equals(mediaKey)) {
listTracks.add(track);
}
}
}
Movie outputMovie = new Movie();
if (!listTracks.isEmpty()) {
outputMovie.addTrack(new AppendTrack(listTracks.toArray(new Track[listTracks.size()])));
}
Container container = new DefaultMp4Builder().build(outputMovie);
FileChannel fileChannel = new RandomAccessFile(String.format(targetFile), "rw").getChannel();
container.writeContainer(fileChannel);
fileChannel.close();
Run Code Online (Sandbox Code Playgroud)
以上代码在Android手机上运行.由于其移动环境,每个应用程序都有内存限制.
上面代码的问题是当我从文件加载Movie并为小文件创建一个轨道列表时它工作正常.但随着文件大小的增加,操作开始变得无响应.它需要大量的内存.如何才能提高内存效率.他们是否可以像在Java中进行文件复制操作那样在小流中执行此操作?
更新:
为了在文件中录制音频,我使用androidMediaRecorder
进行此操作,输出格式为 …