tFix ffmpeg arguments - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
(HTM) git clone git://src.adamsgaard.dk/sphere
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit 500151199d40152b6de6a8c894a3c268b2f1a047
(DIR) parent 6478ba3c7f4f23cb7f122e51d963be379d758c27
(HTM) Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Mon, 2 Sep 2019 06:51:18 +0200
Fix ffmpeg arguments
Diffstat:
M python/sphere.py | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
---
(DIR) diff --git a/python/sphere.py b/python/sphere.py
t@@ -4676,8 +4676,8 @@ class sim:
:type verbose: bool
'''
- video(self.sid, out_folder, video_format, graphics_folder, \
- graphics_format, fps, qscale, bitrate, verbose)
+ video(self.sid, out_folder, video_format, graphics_folder,
+ graphics_format, fps, verbose)
def shearDisplacement(self):
'''
t@@ -7444,15 +7444,17 @@ class sim:
plt.show()
-def convert(graphics_format='png', folder='../img_out'):
+def convert(graphics_format='png', folder='../img_out', remove_ppm=False):
'''
- Converts all PPM images in img_out to graphics_format using Imagemagick. All
- PPM images are subsequently removed.
+ Converts all PPM images in img_out to graphics_format using ImageMagick. All
+ PPM images are subsequently removed if `remove_ppm` is `True`.
:param graphics_format: Convert the images to this format
:type graphics_format: str
:param folder: The folder containing the PPM images to convert
:type folder: str
+ :param remove_ppm: Remove ALL ppm files in `folder` after conversion
+ :type remove_ppm: bool
'''
#quiet=' > /dev/null'
t@@ -7464,7 +7466,8 @@ def convert(graphics_format='png', folder='../img_out'):
+ quiet + ' ; done', shell=True)
# Remove PPM files
- subprocess.call('rm ' + folder + '/*.ppm', shell=True)
+ if remove_ppm:
+ subprocess.call('rm ' + folder + '/*.ppm', shell=True)
def render(binary, method='pres', max_val=1e3, lower_cutoff=0.0,
graphics_format='png', verbose=True):
t@@ -7510,7 +7513,7 @@ def render(binary, method='pres', max_val=1e3, lower_cutoff=0.0,
def video(project, out_folder='./', video_format='mp4',
graphics_folder='../img_out/', graphics_format='png', fps=25,
- qscale=1, bitrate=1800, verbose=True):
+ verbose=True):
'''
Uses ffmpeg to combine images to animation. All images should be
rendered beforehand using :func:`render()`.
t@@ -7544,7 +7547,8 @@ def video(project, out_folder='./', video_format='mp4',
subprocess.call('ffmpeg -loglevel ' + loglevel + ' '
+ '-i ' + graphics_folder + project + '.output%05d.'
+ graphics_format
- + ' -qscale {} -r {} -b {} -y '.format(qscale, fps, bitrate)
+ + ' -c:v libx264 -profile:v high -pix_fmt yuv420p -g 30'
+ + ' -r {} -y '.format(fps)
+ outfile, shell=True)
if verbose:
print('saved to ' + outfile)