Jump to content

John

Members
  • Posts

    68
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by John

  1. It works now.

    I think part of the reason this thread becomes so lengthy is I didn't realize I need to have an event handler running by myself to supersede connect, so I kept asking how ftrack python api gets called.

    Thanks Steve and of cause Lorenzo!

  2. If I register and publish events using python api I can get the correct results. I didn't get any problem with that.

     

    And about FTRACK_EVENT_PLUGIN_PATH, here's what I tested:

    With Connect, Without FTRACK_EVENT_PLUGIN_PATH:

    Component Path correctly resolved. Custom resolver.py not picked up.(which is correct) 

    With Connect, With FTRACK_EVENT_PLUGIN_PATH:

    Component Path correctly resolved. Custom resolver.py correctly picked up.

    No Connect, Without FTRACK_EVENT_PLUGIN_PATH:

    Component Path RED. Custom resolver.py NOT picked up.

    No Connect, With FTRACK_EVENT_PLUGIN_PATH:

    Component Path RED. Custom resolver.py NOT picked up.

     

    So the question remains: how to get the component path resolved correctly without connect? (And again it's kind of fine if it not feasible)

    I hope by this way I have what I'm trying to express expressed clearly.

  3. Hi, @Lorenzo,

    Yes I read that before. Unfortunately it doesn't answer my question.

    Here are what I got so far:

    • The correctness of path resolution relies on resolve.py: Clear ✔️.
    • A customized resolve.py can be picked up by ftrack python api if I set FTRACK_EVENT_PLUGIN_PATH: Clear ✔️.

    But here's the confusing bit:

    • The environment is needed here is because we want ftrack-web to resolve the path correctly. I can write a tool using ftrack python api and I'm sure the environment variable will work like you said, but the path shown on the web is still RED. So the real question is, is it possible to let a costumized resolve.py picked by ftrack-web like ftrack-connect does 

    Anyway it's kind of fine if it's impossible.

     

  4.  

    On 6/17/2019 at 11:33 AM, John Su said:

    Thanks Lorenzo, it works after launching ftrack connect(don't know it has to be with connect before).

    Is there anyway I can get it work without ftrack-connect? We've wrapped all the publish/actions launcher entrace so except for this we don't need ftrack-connect. It would be great if there's a way we can do it without ftrack-connect. Cheers.

    On 6/18/2019 at 8:16 PM, Lorenzo Angeli said:

    Hi @John Su, sure you can ! 
    just extract the given script (or download it directly from here ) and drop it in a folder mapped in a  FTRACK_EVENT_PLUGIN_PATH environment variable.
    When the session start will look into that variable to see if there's any plugin to be discovered and run.
    I'd suggest having one folder on a shared server folder mapped so you can simply drop events in there.

    Hope it helps.
    If you need any further help just let us know !
    L.

    I thought we are talking about using FTRACK_EVENT_PLUGIN_PATH without ftrack-connect. How does ftrack-python-api get chance to handle the environment variable if there's no ftrack-connect?

  5. Hi Lorenzo, thanks for you patience.

    " ftrack event system" is a bit confusing to me.. (I know in ftrack-python-api the sesion object can publish event and register handler, but in this case ftrack-python-api doesn't get chance to do the work)

    Is it the ftrack web page gets the envionment variable and transmits it to the resolution server?

  6. /******************* Start **********************/
    Event Type: localencoder
    Timestamp: 2019-08-08 17:01:40.008026
    -------------- Event specific data ---------------
    >>>>>>>>>> Create ftrackreview components
    Encoding component u'f870ef4c-101e-4fab-bc01-ed7e6cd1482b' using local encoder.
    ERROR:ftserver.lib.ftrackreview.componenthelper:Encoding job failed.
    Traceback (most recent call last):
      File "/tmp/pip-install-ZcDoik/FTServer/ftserverb/ftrackreview/componenthelper.py", line 232, in create
      File "/tmp/pip-install-ZcDoik/FTServer/ftserverb/ftrackreview/encoder/ffmpeg.py", line 253, in updateComponents
      File "/tmp/pip-install-ZcDoik/FTServer/ftserverb/ftrackreview/encoder/ffmpeg.py", line 155, in encode
      File "/tmp/pip-install-ZcDoik/FTServer/ftserverb/ftrackreview/encoder/ffmpeg.py", line 77, in _runCmd
      File "/opt/ftrack/pythonb/python2.7/subprocess.py", line 710, in __init__
        errread, errwrite)
      File "/opt/ftrack/pythonb/python2.7/subprocess.py", line 1335, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory

    Happen to find this link. Above is the log found in /tmp/ftrack_reg_worker_00.log.

    The media path I used to be encoded is a windows local path, and the ftrack server is using linux, so the path cannot be accessed by the server directly(but can if there's upload process during version.encode_media()). Could it be the reason?

  7. So how does the environment variable affect the way the session object picks up its plugins? Environment variables can only affect local sessions as far as I know. But there's no local sessions in the case that the web browser is the only thing a use has, right?

  8. On 7/15/2019 at 4:53 PM, Lorenzo Angeli said:

    Hi @John Su, 
    please have a look in here, by the end you'll find instructions on how to access the logs.
    Cheers.
    L.

    Hi Lorenzo,

    Sorry for the late reply.

    The log mentioned in the link is ftrack-connect log and doen't appear to provide anything to do with encoding. (I closed ftrack-connect, deleted the log files, encode media using python and the log remains empty after failed.)

    If there's any log carrying encoding information I assume it's located on the server side.

  9. In regards to "The environment variable will tell the session object where to pick up its plugins (the resolve in this case)."  does the specific "session object" live in browser? Because it definitely doesn't start locally in any python intepreter as one can browse ftrack web without python installed.

  10. The environment variables can affect the local python created session object. But isn't the session that generate the web page on server end? So locally setting ftrack variables won't affect the web page. Is it right?

    Or did I misuse the word "web"? Just to be clear I mean the ftrack web page interface, not through customized python client.

  11. Sorry I have to bother you again. Because it still doesn't work, nor did I get the logic.

    Could you talk a little bit more detail about how the component path in ftrack web page get resolved by script under $FTRACK_EVENT_PLUGIN_PATH? I think that's the part confused me most. 

    ftrack web page is displayed in web browser, the browser might know the environment variable but how does the script get involved?( there's even no python interpreter on the machine that's running the web browser).

  12. Hello,

    ftrack fails to encode mov file using API.

    I tried mov encoded with Apple ProRes 4444 and Apple ProRes 422 HQ but both failed. The status shows up "Failed" in Jobs slider.

    The way I'm encoding it is:

    asset_version.encode_media(media_path)

    Also I tried encode a media on ftrack.server but didn't get any luck.

    It works with pictures though.

    Any clue? Thanks.

×
×
  • Create New...