NatronGitHub / Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
http://NatronGitHub.github.io
GNU General Public License v2.0
4.72k stars 343 forks source link

(Bug): Natron command line tries to render zero frame only #864

Open bazhutkin opened 1 year ago

bazhutkin commented 1 year ago

Make sure to follow our issue report guidelines

Natron version

2.5

Operating system

Windows 10

System specs

No response

Did you install Natron using the official installer?

Custom installation path

No response

What were you trying to do?

I tried to run render from the command line using a prebuilt build. But Natron tries to read the zero frame instead of the right one.

In my ntp-file, the Reed and Wright nodes are already created, but without specifying the paths.

When executing a command like this: NatronRenderer C:/Users/user/Documents/exr_to_mov.ntp -i Read //storage/test/ep001_sc001/ep001_sc001.####.exr -w Write //storage/test/mov/ep001_sc003.mov 10-20

An error is thrown: Persistent message: //storage/test/ep001_sc001/ep001_sc001.0000.exr: Cannot load frame

If you create a zero frame ep001_sc001.0000.exr from the first one, then there is no error, but in the resulting movie all frames will be from the zero frame.

What did you expect to happen? What happened instead?

I found a way how to solve the problem. I made a script exr_to_mov.py with the following code:

app.loadProject('C:/Users/user/Documents/exr_to_mov.ntp')
reader = app.createReader(readFileName)
reader.setScriptName('Read')

app.Slate.connectInput(0, reader)

writeFileName = '//storage/test/mov/ep001_sc003.mov'
app.Write.getParam('filename').setValue(writeFileName)

And running this command everything rendered correctly: NatronRenderer C:/Users/user/Documents/exr_to_mov.py -c "readFileName=\"//storage/test/ep001_sc001/ep001_sc001.####.exr\"" 1-10

This decision completely suits me, and I will transfer the calculation of the path for the output movie to the script.

But I decided to report this problem, since all the options for starting the render with a pre-created Read-node, Natron tried to render a zero frame. Only the command app.createReader(readFileName) creates a normally working Read-node.

Step-by-step reproduction instructions

-

Additional details

No response

devernay commented 1 year ago

@bazhutkin can you please attach exr_to_mov.ntp and exr_to_mov.py?

bazhutkin commented 1 year ago

@devernay, if you need a working solution, then here are the files: exr_to_mov.zip

devernay commented 1 year ago

@rodlie do you have some time to take a look at this one?

devernay commented 1 year ago

I can't repro the error... Here's the ntp where I added a Read node (yours was missing the Read), and it seems to work find. exr_to_mov_fixed.zip

I though this error would be due to bad handling of either the project range or the Read node range, but I didn't manage to make it fail either way.

bazhutkin commented 1 year ago

@devernay, I misunderstood you, since you asked for a Python-file as well. Here is the ntp-file and the command that results in the error: "C:\Program Files\Natron\bin\NatronRenderer.exe" C:\Users\mbazhutkin\Documents\natron_test\exr_to_mov.ntp -i Read C:\Users\mbazhutkin\Documents\natron_test\test\ep002_sc133.####.exr -w Write C:\Users\mbazhutkin\Documents\natron_test\ep002_sc133.mov 1-2

Screenshot 2023-04-15 110642

exr_to_mov.zip

bazhutkin commented 1 year ago

I repeated the test on a MacBook M1 Pro, the result is the same.

Screenshot 2023-04-16 221332
ALYEMENNET1 commented 1 year ago

تأكد من اتباع إرشادات تقرير المشكلة الخاصة بنا

  • [x] أنا أستخدم أحدث إصدار من Natron (غير مطلوب ولكن يوصى به)
  • [x] لقد قمت بإعادة تشغيل Natron ولا تزال المشكلة قائمة
  • [ ] لقد قمت بتشغيل Natron عبر سطر الأوامر ولا تزال المشكلة قائمة
  • [x] لقد اتبعت إرشادات المساهمة على قدر فهمي
  • [x] مشكلتي ليست في أداة تعقب المشكلات أو في طلب سحب بالفعل (ابحث عنها وابحث عنها قليلاً!)
  • [x] هذا الخطأ قابل للتكرار

نسخة النطرون

2.5

نظام التشغيل

ويندوز 10

مواصفات النظام

لا يوجد رد

هل قمت بتثبيت Natron باستخدام المثبت الرسمي؟

  • [x] نعم، لقد استخدمت المثبت الرسمي
  • [ ] لا، لقد قمت بالتثبيت من أرشيف ثنائي
  • [ ] لا، لقد جمعت النطرون من المصادر
  • [ ] لا، لقد قمت بتثبيت Natron عبر طريقة أخرى

مسار التثبيت المخصص

لا يوجد رد

ما الذي كنت تحاول القيام به؟

لقد حاولت تشغيل العرض من سطر الأوامر باستخدام بنية مسبقة الصنع. لكن ناترون يحاول قراءة الإطار الصفري بدلاً من الإطار الصحيح.

في ملف ntp الخاص بي، تم بالفعل إنشاء عقد Reed وWright، ولكن دون تحديد المسارات.

عند تنفيذ أمر مثل هذا: NatronRenderer C:/Users/user/Documents/exr_to_mov.ntp -i Read //storage/test/ep001_sc001/ep001_sc001.####.exr -w Write //storage/test/mov/ep001_sc003.mov 10-20

يتم طرح خطأ: Persistent message: //storage/test/ep001_sc001/ep001_sc001.0000.exr: Cannot load frame

إذا قمت بإنشاء إطار صفري ep001_sc001.0000.exr من الإطار الأول، فلن يكون هناك خطأ، ولكن في الفيلم الناتج ستكون جميع الإطارات من الإطار الصفري.

ماذا تتوقع أن يحدث؟ ماذا حدث بدلا من ذلك؟

لقد وجدت طريقة لحل المشكلة. لقد قمت بإنشاء برنامج نصي exr_to_mov.py بالرمز التالي:

app.loadProject('C:/Users/user/Documents/exr_to_mov.ntp')
reader = app.createReader(readFileName)
reader.setScriptName('Read')

app.Slate.connectInput(0, reader)

writeFileName = '//storage/test/mov/ep001_sc003.mov'
app.Write.getParam('filename').setValue(writeFileName)

وتشغيل هذا الأمر يتم تقديم كل شيء بشكل صحيح: NatronRenderer C:/Users/user/Documents/exr_to_mov.py -c "readFileName=\"//storage/test/ep001_sc001/ep001_sc001.####.exr\"" 1-10

هذا القرار يناسبني تماما، وسوف أقوم بنقل حساب مسار الفيلم الناتج إلى البرنامج النصي.

لكنني قررت الإبلاغ عن هذه المشكلة، نظرًا لأن جميع الخيارات لبدء العرض باستخدام عقدة قراءة تم إنشاؤها مسبقًا، حاول Natron تقديم إطار صفري. يقوم الأمر app.createReader(readFileName) فقط بإنشاء عقدة قراءة تعمل بشكل طبيعي.

تعليمات الاستنساخ خطوة بخطوة

تفاصيل اضافية

لا يوجد رد

ANDYELPINGON commented 8 months ago

lenaguje a español solo español por fabor la interfas es aburrida en ingles

ANDYELPINGON commented 8 months ago

compilen en español