Code Monkey home page Code Monkey logo

framecapturer's People

Contributors

gatgui avatar guidet avatar i-saint avatar tasogare66 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

framecapturer's Issues

Editor crash on Unity 2017.1 Beta

This is Unity Editor's issue.
On Windows & Unity 2017.1 beta (b5, b4, b3. maybe also other versions), any components that implement OnAudioFilterRead() cause editor crash. The workaround is just comment out OnAudioFilterRead() in MovieRecorder. It disables audio recording but no other woraround for now.

DllNotFoundException: fccore

I'm sorry if I'm missing something obvious, but it looks like the current version of the project is not including the fccore.dll. Running the sample scene results in nothing but "DllNotFoundException: fccore" messages.

MP4: No audio track is created

I haven't been able to record audio to MP4 videos created with FrameCapturer.
The fcAPI.fcMP4AddAudioFrame(m_ctx, samples, samples.Length); method is called but an audio track is never created on the MP4 file. Is this a known issue?

Timeline for adding MP4 support on Mac?

On PC, exporting to MP4 is very smooth, but the WebM-only support on Mac is very rough/choppy. Any plans or timeline on improving video recording support on Mac?

PNGs do not have transparency

I am using MovieRecorder with output PNG:

My camera has a background of alpha 0 and has a render texture with transparency (RGBA32).

When I use a script to encode my 2D texture as PNG it saves with transparency. When I use FrameCapturer it does not save with transparency.

I set the capture target to both Frame Buffer and Render Texture and no difference.

Is there something I am missing? Could this be changed?

image

image

image

image

fcAPI.fcMP4AddVideoFramePixels - very bad performance

i was using an old version of this plugin that used "fcAPI.fcMP4AddVideoFrameTexture" to capture video. this seemed to work really well.

i updated to the latest yesterday, and this new method seems to be destroying my framerate after 1 second of recording - fcAPI.fcMP4AddVideoFramePixels. like my vr game goes down from 90fps to <1 fps.

any idea what's going on here?

FC Installed but can't capture anything . .

I am trying to capture a talking head in the game window but using the default video capture settings and hitting play, plays the talking head but nothing is saved in the capture dir - what am I missing?

Thanks,
Phil.

Feature Request: HEVC / h265 support

Since you are using the nvEncodeAPI for encoding, a good thing to have would be HEVC encoding. This is much faster and allows for higher output resolutions (up to 8k at near realtime speeds).

Resolution does not work as it should

I am trying the png recorder and I want it to record Large frames (6048x4023). It will create the frames in that size but they will contain only upscaled images. I imagine the framebuffer that is being captured should be sized up also?

Get resulting frame as byte[] or color[]?

Rather than writing to file, I'd like to have the captured frame put into a Queue<byte[]> or a Queue<Color[]>. I have managed to figure out how to do this, however, I am struggling to use the outputted frames. For example, I send the frame over the network, to a remote machine where the frame is to be displayed. How can I load the frame into a texture? I have tried Texture2D.SetPixels32 and Texture2D.LoadRawTexture, but neither of them work (they work when I send data across the network obtained using Texture2D.GetRawTextureData).

Does this plugin perhaps already have this capability? Perhaps I can stream the video being captured to a remote machine and if so, could I read in at a frame-by-frame basis?

Is there any to build for android and ios ?

I want to use this plugin for android and ios real time recorder; but i find this plugin is just for win and mac without rebuild source.
Can i build source for android and ios to record ?

Crash on FrameCapturer.fcAPI:fcReleaseStream when stopping recording

How to reproduce:

  1. Open the "cinemachine test.zip" in Unity 2018.3 (O
    ther versions may have namespace errors)
  2. Open Window - General - Recorder - Recorder Window
  3. Press "Start Recording"
  4. Press "Stop Recording"

cinemachine_test.zip

Result: Unity crashes

Top of stack trace:
========== OUTPUTTING STACK TRACE ==================

0x000000005C9DAD93 (Mono JIT Code) (wrapper managed-to-native) UnityEditor.Recorder.FrameCapturer.fcAPI:fcReleaseStream (UnityEditor.Recorder.FrameCapturer.fcAPI/fcStream)
0x000000005C9DAC33 (Mono JIT Code) [C:\Users\G-PC\Downloads\cinemachine_test\Assets\Unity Recorder\Editor\Sources\Recorders_Legacy\FrameCapturer\Scripts\Encoder\fcAPI.cs:70] UnityEditor.Recorder.FrameCapturer.fcAPI/fcStream:Release ()
0x000000005C9DA803 (Mono JIT Code) [C:\Users\G-PC\Downloads\cinemachine_test\Assets\Unity Recorder\Editor\Sources\Recorders\GIFRecorder\GIFRecorder.cs:24] UnityEditor.Recorder.GIFRecorder:EndRecording (UnityEditor.Recorder.RecordingSession)

========== END OF STACKTRACE ===========

Poor performance with Gif

Thanks, I like the idea of this project.
This can be really convenient for some debugging tools and to advertise new features.

I did some test with a small project (unity2d)
image

But the performance of Gif recording is poor, I tried to set the resolution to 480p and the framerate is horrible and there are lot of Jittering.
The same king of setting with Mp4 Recorder is smooth at 60 fps

No preview and no record

Hi,

I have some issues, when I integrated a GifRecorder with MovieRecorderEditorUI.prefab or MovieRecorderUI.prefab, I had no preview in UI and it's impossible to save the record.
I taked the time to import FrameCapturer.Unitypackage and FAACSelfBuild.Unitypackage

Do you think it's because I'm on MacOS? If yes, there is a workaround?

Output inverted on Y axis

I have an issue when in every possible scenario video output is inverted along the Y axis (height).
It only happens when using the Movie Recorder with the framebuffer. Works fine with Render Texture and Gbuffer
image

Android support

Please make this awsome plugin usable on android devices.
Also it would be nice to have the possiblility to stream the frames
via upd to a server instead of saving it to disk.

Vertical mirrored renders

Extension on issue #38 where I found a way to save the renders to the same directory. Camera 2 gives me a proper render. For some reason, Camera 1, Camera 3, Camera 4, Camera 5 gives me vertically mirrored renders. Any ideas? I've attached the renders below.

camera1_framebuffer_0000
camera2_framebuffer_0000
camera3_framebuffer_0000
camera4_framebuffer_0000
camera5_framebuffer_0000

Massive FPS drop

Hi,

I have tested the unitypackage and it used to work great. Unfortunately now when I am trying to record video I receive massive FPS drop. While recording .mp4 video from Frame Buffer with audio FPS in my Unity application are around value of "Capture Every Nth Frame". If I left it by default set to 1 application works on 1FPS.

Unity Profiler says that in this case it takes around 1000 ms on PlayerEndOfFrame->MovieRecorder.OnPostRender(). Is it possible somehow to maintain at least 30 FPS?

Working on Windows 10, unitypackage downloaded from description.

Thanks in advance.

Using with Universal Render Pipeline

Hi,
I've used this on the build-in render pipeline and it works exactly as expected, but when trying to use it on a project with the universal render pipeline the video recorded is stored in the correspondent folder, but when I try to open it the video player shows an error.

Does the package support URP or HDRP?

Kind regards.

Performance on output 4K video(Only about 10FPS)

Dose GenericFrameRecorder Use Multi thread when Output 4K Mp4 file?

When I upgrade My computer device config:

Window10 64 bit
Intel Core i9-7900 @ 3.30GHZ
525GB ssd
Gtx 1080 ti 11GB

The Recorder process always output about 10fps (My scene just contains just One character)

When Look up Profiler window
I find that Texture2D.ReadPixels(); always about 50ms when I want to get 4K video.Or can we move this Texture2D.ReadPixels() into MultiThread?

Is there any way to promote the process of output 4K videos?

Thanks Very much.

Empty Capture

Hey guys,

Just tried the movie recorder in Unity 2020.1.0b5 using HDRP (Windows 10) - all I get is an empty .mp4 file of 0 bytes. The project is an unaltered standard HDRP demo scene created using the Unity Hub. I don't get any errors. Steps:

  1. Imported .unitypackage from link in documentation,
  2. Added a MovieRecorder to my camera,
  3. Set absolute path, format: mp4 and capture control: manual,
  4. Capture Target: Frame Buffer,
  5. Pressed "Start Recording" and then "End Recording after 5 seconds.

I get an appropriate Console Log on recording end:
GBufferRecorder: EndRecording()
UnityEngine.Debug:Log(Object)

Thanks!
David

iOS / Android

Is this supported for Unity iOS or Unity Android?

Velocity gbuffer result is strange

Velocity Gbuffer is strangely captured.
I didn't change code.
I upload framebuffer image and its corresponding velocity image.
To check how to calculate velocity vector, please tell me where I have to check.
(like where _CameraMotionVectorsTexture is coming from...)

FrameBuffer_0110

Velocity_0110

FrameCapturer does not work in unity 2019

Hi, I am trying to record but it does not work yet, it told me some message that

DllNotFoundException: fccore
UTJ.FrameCapturer.ExrEncoder.Initialize (System.Object config, System.String outPath) (at Assets/UTJ/FrameCapturer/Scripts/Encoder/ExrEncoder.cs:22)
UTJ.FrameCapturer.MovieEncoder.Create (UTJ.FrameCapturer.MovieEncoderConfigs c, System.String path) (at Assets/UTJ/FrameCapturer/Scripts/Encoder/MovieEncoder.cs:158)
UTJ.FrameCapturer.MovieRecorder.BeginRecording () (at Assets/UTJ/FrameCapturer/Scripts/MovieRecorder.cs:127)
UTJ.FrameCapturer.RecorderBase.Update () (at Assets/UTJ/FrameCapturer/Scripts/RecorderBase.cs:265)
image

and my version is unity 2019 .2
many thanks

Cannot import package if Unity Recorder is installed.

I'm using Unity 2020.3.11f1. If Unity Recorder is pre-installed, installing the FrameCapturer package fails.

Opening file /path/to/project/Library/PackageCache/[email protected]/Editor/Sources/Recorders/_Legacy/FrameCapturer.meta. The system can't find the path.

After that, Unity can only be force-quit. Removing the Unity Recorder package fixes the issue.

Accent in path not manage

Hi,

I have a problem with the exporting path.
If I choose a path with an accent in a folder name, all accents are transform into different characters (ex : รฉ -> รƒยฉ), then the transformed path does not exists and the export fails.
I can't access myself in your code, because the path is manage in your fccore.dll.

Can you check in your side in order to manage the accent please.

Multiple cameras issue

Hi,
I have a somewhat weird question, and I'm not an expert in scripting at all. Here's my issue: I have an empty gameobject in my scene with 5 cameras as children of this empty gameobject. Each child has the G Buffer Recorder script attached to it as a component with the exact same settings. When i press play I will only get 1 .exr file render instead of 5. Is it because the cameras overwrite eachothers render? And if so, which script should I look at for defining the filename of the render, so that I can configure it to use the current camera name that the script is attached to as the filename? Or is there another problem? Help is very much appreciated.

No video output in the first seconds

Oftenly, during the first seconds of the record, it displays a black screen with nothing. After a few seconds, at last, the camera's display is shown

No Depth Map in custom scene

I try to record the Depth map of a custom scene but the image is completly white when in the Test Scene everithings is recorded well.
I set the camera with the same settings as the test Scene one (Deferred etc.) but this pass is always white. Seems like the Depth is not normalized and so you must be very close to a subject to effectively see the depth data. There is something to tweak?

Can't render Global fog as seperate layer

Hello
I use the Global fog script from standard asset and i try to render it as seperate layer. Alpha layer work fine with Depth of Field script but i can't get nothing with global fog. any idea ? thank you

Steps for linux build?

What steps do I need to follow to make this work on linux?
Are there any dependencies?
thnx

mp4 video bitrate setting has no effect

video bitrate for mp4 encoder has no effect at all on the encoded video's bitrate

tested using the h264 win7 x64

maybe expose more of the h264 encoder settings on the MP4Recorder

MP4 encoder cannot see any "video" in the final output?

I have the example scene setup, and have gbufferRecorder & AudioRecorder removed, only the MovieRecorder is left, and the encoder format is set to MP4.
In the final output file, no frames can be rendered, but the video player still shows its length.
It works fine when I set the encoder format to Web M.
What could possibly go wrong?

I'm testing on PC, windows 10 (64bit) with Unity 5.6.4.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.