The tutorial Script 2.6.5 3d postprocessing is giving error

Asked by Marcus Moravia

Hello, I was learning how to record a ' mpeg' file trying the tutorial's script 2.6.5 (Yade Documentation) but the script was returning the error below. It seems that makeVideo is not working. Can someone please help? I'm using Yade 1.20.0-151-0ecfcd0~trusty version.

##########
OSError Traceback (most recent call last)
/usr/bin/yadedaily in <module>()

/usr/bin/yadedaily in finish()
     45 # snapshot is label of qt.SnapshotEngine
     46 # the 'snapshots' attribute contains list of all saved files
---> 47 makeVideo(snapshot.snapshots,'3d.mpeg',fps=10,bps=10000)
     48 O.pause()
     49

/usr/lib/x86_64-linux-gnu/yadedaily/py/yade/utils.py in makeVideo(frameSpec, out, renameNotOverwrite, fps, kbps, bps)
    512 cmd=['mencoder','mf://%s'%frameSpec,'-mf','fps=%d'%int(fps),'-ovc','lavc','-lavcopts','vbitrate=%d:vpass=%d:threads=%d:%s'%(int(kbps),passNo,O.numThreads,'turbo' if passNo==1 else ''),'-o',('/dev/null' if passNo==1 else out)]
    513 print 'Pass %d:'%passNo,' '.join(cmd)
--> 514 ret=subprocess.call(cmd)
    515 if ret!=0: raise RuntimeError("Error when running mencoder.")
    516

/usr/lib/python2.7/subprocess.pyc in call(*popenargs, **kwargs)
    520 retcode = call(["ls", "-l"])
    521 """
--> 522 return Popen(*popenargs, **kwargs).wait()
    523
    524

/usr/lib/python2.7/subprocess.pyc in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags)
    708 p2cread, p2cwrite,
    709 c2pread, c2pwrite,
--> 710 errread, errwrite)
    711 except Exception:
    712 # Preserve original exception in case os.close raises.

/usr/lib/python2.7/subprocess.pyc in _execute_child(self, args, executable, preexec_fn, close_fds, cwd, env, universal_newlines, startupinfo, creationflags, shell, to_close, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite)
   1325 raise
   1326 child_exception = pickle.loads(data)
-> 1327 raise child_exception
   1328
   1329

OSError: [Errno 2] No such file or directory
##########

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jan Stránský
Solved:
Last query:
Last reply:
Revision history for this message
Best Jan Stránský (honzik) said :
#1

Hi Marcus,
as the error says, there is a problem with mencoder, an external linux
program. What happens if you type 'mencoder' into your terminal?

A workaround is to use snapshot engine and then create movie from resulting
pictures (so exactly what makeVideo does internally). I am sure you can
find some easy-to-use GUI picture2movie maker..

cheers
Jan

2016-05-31 4:37 GMT+02:00 Marcus Moravia <
<email address hidden>>:

> New question #294631 on Yade:
> https://answers.launchpad.net/yade/+question/294631
>
> Hello, I was learning how to record a ' mpeg' file trying the tutorial's
> script 2.6.5 (Yade Documentation) but the script was returning the error
> below. It seems that makeVideo is not working. Can someone please help? I'm
> using Yade 1.20.0-151-0ecfcd0~trusty version.
>
> ##########
> OSError Traceback (most recent call last)
> /usr/bin/yadedaily in <module>()
>
> /usr/bin/yadedaily in finish()
> 45 # snapshot is label of qt.SnapshotEngine
> 46 # the 'snapshots' attribute contains list of all saved files
> ---> 47 makeVideo(snapshot.snapshots,'3d.mpeg',fps=10,bps=10000)
> 48 O.pause()
> 49
>
> /usr/lib/x86_64-linux-gnu/yadedaily/py/yade/utils.py in
> makeVideo(frameSpec, out, renameNotOverwrite, fps, kbps, bps)
> 512
> cmd=['mencoder','mf://%s'%frameSpec,'-mf','fps=%d'%int(fps),'-ovc','lavc','-lavcopts','vbitrate=%d:vpass=%d:threads=%d:%s'%(int(kbps),passNo,O.numThreads,'turbo'
> if passNo==1 else ''),'-o',('/dev/null' if passNo==1 else out)]
> 513 print 'Pass %d:'%passNo,' '.join(cmd)
> --> 514 ret=subprocess.call(cmd)
> 515 if ret!=0: raise RuntimeError("Error when running
> mencoder.")
> 516
>
> /usr/lib/python2.7/subprocess.pyc in call(*popenargs, **kwargs)
> 520 retcode = call(["ls", "-l"])
> 521 """
> --> 522 return Popen(*popenargs, **kwargs).wait()
> 523
> 524
>
> /usr/lib/python2.7/subprocess.pyc in __init__(self, args, bufsize,
> executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env,
> universal_newlines, startupinfo, creationflags)
> 708 p2cread, p2cwrite,
> 709 c2pread, c2pwrite,
> --> 710 errread, errwrite)
> 711 except Exception:
> 712 # Preserve original exception in case os.close raises.
>
> /usr/lib/python2.7/subprocess.pyc in _execute_child(self, args,
> executable, preexec_fn, close_fds, cwd, env, universal_newlines,
> startupinfo, creationflags, shell, to_close, p2cread, p2cwrite, c2pread,
> c2pwrite, errread, errwrite)
> 1325 raise
> 1326 child_exception = pickle.loads(data)
> -> 1327 raise child_exception
> 1328
> 1329
>
> OSError: [Errno 2] No such file or directory
> ##########
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>

Revision history for this message
Marcus Moravia (mgmoravia) said :
#2

Thanks Jan Stránský, that solved my question.

Revision history for this message
Marcus Moravia (mgmoravia) said :
#3

Hi Jan,

You hit the bullseye! The mencoder program was not installed on my system. This solved my problem. I will just open a new topic about how to put together on a 'mpeg' file resulting pictures of 3D view and plot.plots as that performed by Václav Šmilauer in 'Periodic Triaxial Test With Clumps', it would be great if you could help again.

Thanks a lot!

Marcus.