Size of .hfr recoding files


#1

I hope that the size of the .hfr files can be much smaller than they currently are. I have been fooling around with them again, now that they seem to work with some avatars.

But I’ve noticed a trend in file size that is a problem. An early recording I made months ago consisted of an avatar pacing back and forth for a short distance. The .hfr file size was 115kb. A similar one I made later was 473kb.

But then the recording and playback broke for awhile because of the change in animation here. When this was fixed a week or so ago, I recorded a new version, which I admit was 4 or 5 times longer but the file size had ballooned up to 7mb.

Then that one got obsoleted by the next upgrade to the animation system so I had to record a new one that was very similar to the 7mb recording. In fact I recorded it with the same avatar by just following the broken folded AC-avatar-bot that was running the 7mb recording.

This new recording works again, no folded avatar but the .hfr file is now 30mb, which I think might be unaccecptable for use.


#2

I wish they could be edited externally as an audio file and a fbx anim he says in a size unrelated reply.Then I wouldn’t mind the size


#3

It shouldn’t be hard to build a tool on top of the Recording library we’re using to allow editing of the files. Our primary driver for resurrecting recording of avatars is to allow us to record large sessions for playback so we can do performance analysis and optimization of the rendering engine, so it doesn’t have a lot of features, but it was designed with the idea that we or someone else might want to use it to add more functionality later, like a full post-production editing suite.

What exactly is your concern over the size? Why is a 30 MB file unacceptable?


#4

A couple of avatars with a few recordings each could easily become 100’s of mb. Or trying to make a recording of a meeting or performance with more than a couple of avatars or even just making a recording of one that was many minutes long.

In the case of the simple recording I had made, there was no sound, no head movement, no hand controller IK, only a simple walk loop between waypoints.

I can understand the need for recording full joint rotations and sound, and don’t get me wrong, it is very cool, but it would be nice if one could either specify the data saved or have the option of post processing it to do the same.

Maybe the solution would be to make a different type of recording that just saved avatar position, rotation, animation etc. for cases when you did not need anything more.


#5

On the one hand I’d like to say it’s really simple to take the recording and avatar library and create a tool that will let you manipulate recording files, but on the other hand I do realize that ‘simple’ for someone who actually wrote most of the code may not be simple for everyone else.

Let me see if I can spend some time next weekend creating a tool that will let you strip some of the data from an existing recording file. At the very least it should be able to remove joint rotation, resulting in a significantly smaller file. I can also limit the number of frames per second written to the output file, since depending on your use case, you may not need the original rate (which is usually locked to whatever the rendering rate is).

P.S. I’m still not totally convinced that 100’s of MB is actually a concern in the era of portable terabyte drives, but I’m not going to argue the point. I do want to point out that if there’s a concern over memory usage, the playback code does not actually load a recording into memory. Instead it memory maps the file, so to the application it appears as a contiguous block of memory, but the OS is actually responsible for determining how much of the file is actually paged into RAM at a given moment.


#6

This part alone is worth it’s weight in gold.


To add: if it cannot be reduced manually via some form of UserData or something similar, can we get that reduction to some factor or multiple of 90Hz? My reasoning behind the request should be pretty obvious. Thanks.


#7

I’ll be sure to put up a Patreon page then. :wink:


#8

I was more concerned about network bandwidth than RAM size.

One thing I want to try here is to make recordings of RL performances and then go “on tour” with them. A good performance could make RL $ by “renting” them out to different venues. The band “HiFiVE” will be playing thursday nights at the “FStop lounge on the Earth domain”.

But playing a large recording at a venue with 8 or 10 audience avatars present would require gbs of bandwidth.


#9

Im wondering if thats my problem . I built a scene of 5 avatars it looops for like 5 mins then one by one they stop