Commit 9d2e64105e81b826496eb2f5753d22cc3bfecbcf
1 parent
a66e6c58
Exists in
master
Corrige módulo renderizar vídeo, insere imagem fix vetorizada
Showing
11 changed files
with
58 additions
and
37 deletions
Show diff stats
.gitignore
bpy_checkout.py
bpy_render.py
... | ... | @@ -3,13 +3,12 @@ |
3 | 3 | import bpy |
4 | 4 | import json |
5 | 5 | import os |
6 | -import sys | |
7 | 6 | import shutil |
7 | +import sys | |
8 | 8 | |
9 | 9 | def configure_output(): |
10 | 10 | bpy.context.scene.frame_start = 0 |
11 | - bpy.context.scene.frame_current = bpy.context.scene.frame_start | |
12 | - bpy.context.scene.frame_end = bpy.context.scene.frame_start | |
11 | + bpy.context.scene.frame_current = 0 | |
13 | 12 | bpy.context.scene.render.resolution_x = 640 |
14 | 13 | bpy.context.scene.render.resolution_y = 480 |
15 | 14 | bpy.context.scene.render.resolution_percentage = 100 |
... | ... | @@ -62,11 +61,7 @@ def main(): |
62 | 61 | sys.exit(3) |
63 | 62 | try: |
64 | 63 | configure_output() |
65 | - renamed_video = file_rename(render_video(video_output)) | |
66 | - base_path = os.path.splitext(renamed_video)[0] | |
67 | - if (convert_to_webm): | |
68 | - subprocess.call(["avconv", "-loglevel", "0", "-y", "-i", renamed_video, "-r", "24", "-vcodec", "libvpx", base_path + ".webm"]) | |
69 | - subprocess.call(["rm", renamed_video]) | |
64 | + file_rename(render_video(video_output)) | |
70 | 65 | except: |
71 | 66 | sys.exit(4) |
72 | 67 | else: | ... | ... |
checkout.py
1 | 1 | # -*- coding: UTF-8 -*- |
2 | 2 | |
3 | -import copy | |
4 | 3 | import json |
5 | -import math | |
6 | 4 | import os |
7 | -import sys | |
8 | 5 | import subprocess |
9 | 6 | |
10 | 7 | getcwd = os.path.dirname(os.path.abspath(__file__)) |
... | ... | @@ -43,7 +40,7 @@ def check_action(blend_file = "", action_name = "", action_fake_is_valid = True, |
43 | 40 | else: |
44 | 41 | return 3 |
45 | 42 | |
46 | -def render_video(blend_file = "", video_output = "", convert_to_webm = True, hide_output = False): | |
43 | +def render_video(blend_file = "", video_output = "", convert_to_webm = True, rm_original_video = True, hide_output = False): | |
47 | 44 | if (file_exists(blend_file)): |
48 | 45 | if not (isinstance(blend_file, str) and isinstance(video_output, str)): |
49 | 46 | return 1 |
... | ... | @@ -56,16 +53,24 @@ def render_video(blend_file = "", video_output = "", convert_to_webm = True, hid |
56 | 53 | ) |
57 | 54 | if (hide_output): |
58 | 55 | dev_null = open(os.devnull, 'w') |
59 | - return subprocess.call(['blender', '-b', blend_file, '-noaudio', '-P', bpy_script_render, "--", json_object], stdout = dev_null, stderr = dev_null) | |
56 | + result_code = subprocess.call(['blender', '-b', blend_file, '-noaudio', '-P', bpy_script_render, "--", json_object], stdout = dev_null, stderr = dev_null) | |
60 | 57 | else: |
61 | - return subprocess.call(['blender', '-b', blend_file, '-noaudio', '-P', bpy_script_render, "--", json_object]) | |
58 | + result_code = subprocess.call(['blender', '-b', blend_file, '-noaudio', '-P', bpy_script_render, "--", json_object]) | |
59 | + if (convert_to_webm): | |
60 | + video_mp4 = video_output.upper() + ".mp4" | |
61 | + video_webm = video_output.upper() + ".webm" | |
62 | + subprocess.call(["avconv", "-loglevel", "0", "-y", "-i", video_mp4, "-r", "24", "-vcodec", "libvpx", video_webm]) | |
63 | + if (rm_original_video): | |
64 | + subprocess.call(["rm", video_mp4]) | |
62 | 65 | except: |
63 | 66 | return 2 |
67 | + return result_code | |
64 | 68 | else: |
65 | 69 | return 3 |
66 | 70 | |
71 | +""" | |
67 | 72 | def main(): |
68 | - print("check_action return:", check_action("casa.blend")) | |
73 | + print("check_action return:", check_action("ENTANTO_AVATAR.blend", "ENTANTO")) | |
69 | 74 | # return codes |
70 | 75 | # 0: [OK] Blend file and Action Name exists |
71 | 76 | # 1: [ERROR] Args to check_action no match types |
... | ... | @@ -76,8 +81,7 @@ def main(): |
76 | 81 | # 6: [ERROR] Action is fake user |
77 | 82 | # 7: [ERROR] Timeline Frame Count is less than 10 |
78 | 83 | # 8: [ERROR] Args count no match |
79 | - | |
80 | - print("render_video return:", render_video("casa.blend", "casa")) | |
84 | + print("render_video return:", render_video("ENTANTO_AVATAR.blend", "ENTANTO")) | |
81 | 85 | # return codes |
82 | 86 | # 0: [OK] Video.mp4 generated |
83 | 87 | # 1: [ERROR] Args to check_action no match types |
... | ... | @@ -89,3 +93,4 @@ def main(): |
89 | 93 | |
90 | 94 | if __name__ == "__main__": |
91 | 95 | main() |
96 | +""" | |
92 | 97 | \ No newline at end of file | ... | ... |
corretor.py
... | ... | @@ -91,11 +91,12 @@ class Corretor: |
91 | 91 | file.save(uploaded_file) |
92 | 92 | renamed_file = os.path.join(upload_dir, secure_filename(sign_name + ".blend")) |
93 | 93 | os.rename(uploaded_file, renamed_file) |
94 | - if (checkout.check_action(renamed_file, sign_name) == 0): | |
94 | + check_result = checkout.check_action(str(renamed_file), str(sign_name)) | |
95 | + if (check_result == 0): | |
95 | 96 | result_msg = "File " + filename + " was uploaded." |
96 | 97 | code = 200 |
97 | 98 | else: |
98 | - result_msg = "File " + filename + " has not expected structure of blend file." | |
99 | + result_msg = "File " + filename + " has not expected structure of blend file. " + str(check_result) | |
99 | 100 | code = 400 |
100 | 101 | pyutil.log(result_msg) |
101 | 102 | return make_response(result_msg, code) | ... | ... |
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |
3 | -<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="100px" height="100px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
4 | -viewBox="0 0 100 100" | |
2 | +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> | |
3 | +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="52px" height="48px" version="1.0" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
4 | +viewBox="0 0 52 48" | |
5 | 5 | xmlns:xlink="http://www.w3.org/1999/xlink"> |
6 | 6 | <defs> |
7 | 7 | <style type="text/css"> |
... | ... | @@ -12,6 +12,6 @@ viewBox="0 0 100 100" |
12 | 12 | </defs> |
13 | 13 | <g id="download"> |
14 | 14 | <metadata id="download"/> |
15 | - <path class="fil0" d="M78 57l0 18 -56 0 0 -18 -10 0 0 28 5 0 71 0 0 -28 -10 0zm-28 8l-18 -23 11 1 0 -28 15 0 0 27 10 0 -18 23z"/> | |
15 | + <path class="fil0" d="M44 29l0 12 -36 0 0 -12 -7 0 0 19 3 0 47 0 0 -19 -7 0zm-18 5l-12 -15 7 0 0 -19 10 0 0 19 7 0 -12 15z"/> | |
16 | 16 | </g> |
17 | 17 | </svg> | ... | ... |
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |
3 | -<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="100px" height="100px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
4 | -viewBox="0 0 100 100" | |
2 | +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> | |
3 | +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="64px" height="48px" version="1.0" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
4 | +viewBox="0 0 63 48" | |
5 | 5 | xmlns:xlink="http://www.w3.org/1999/xlink"> |
6 | 6 | <defs> |
7 | 7 | <style type="text/css"> |
... | ... | @@ -12,6 +12,6 @@ viewBox="0 0 100 100" |
12 | 12 | </defs> |
13 | 13 | <g id="finish"> |
14 | 14 | <metadata id="finish"/> |
15 | - <path class="fil0" d="M44 79c-4,4 -10,4 -13,0l-20 -20c-2,-2 -3,-4 -3,-6 0,-3 1,-5 3,-7 3,-3 9,-3 13,0l12 12c0,1 2,1 3,0l37 -37c2,-2 5,-3 7,-3l0 0c2,0 5,1 6,3 2,1 3,4 3,6 0,3 -1,5 -3,7l-45 45z"/> | |
15 | + <path class="fil0" d="M27 45c-3,3 -7,3 -9,0l-15 -14c-1,-2 -2,-3 -2,-5 0,-2 1,-3 2,-5 3,-2 7,-2 10,0l8 9c1,1 2,1 3,0l26 -27c2,-1 3,-2 5,-2l0 0c2,0 3,1 5,2 1,1 2,3 2,5 0,1 -1,3 -2,4l-33 33z"/> | |
16 | 16 | </g> |
17 | 17 | </svg> | ... | ... |
... | ... | @@ -0,0 +1,17 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |
3 | +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="64px" height="58px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
4 | +viewBox="0 0 64 58" | |
5 | + xmlns:xlink="http://www.w3.org/1999/xlink"> | |
6 | + <defs> | |
7 | + <style type="text/css"> | |
8 | + <![CDATA[ | |
9 | + .fil0 {fill:#5EC7BD} | |
10 | + ]]> | |
11 | + </style> | |
12 | + </defs> | |
13 | + <g id="skip"> | |
14 | + <metadata id="skip"/> | |
15 | + <path class="fil0" d="M32 14c0,3 0,3 1,5l-31 28c-1,1 -1,1 -1,3 0,1 1,1 1,2l5 4c1,1 1,1 3,1 1,0 1,-1 2,-1l30 -28c2,1 6,1 9,1 2,-1 3,-1 5,-2 0,0 1,-1 1,-1l3 -2c1,-1 1,-1 2,-2 1,-3 1,-5 1,-9 -1,1 -13,7 -14,7 0,0 -5,-9 -6,-10l10 -5c1,-1 1,-1 2,-1 0,0 1,-1 1,-1 0,-1 -5,-2 -7,-2 -3,0 -5,0 -8,1 0,0 -1,1 -2,1 -4,3 -7,7 -7,11z"/> | |
16 | + </g> | |
17 | +</svg> | ... | ... |
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |
3 | -<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="100px" height="100px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
4 | -viewBox="0 0 100 100" | |
2 | +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> | |
3 | +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="47px" height="48px" version="1.0" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
4 | +viewBox="0 0 47 48" | |
5 | 5 | xmlns:xlink="http://www.w3.org/1999/xlink"> |
6 | 6 | <defs> |
7 | 7 | <style type="text/css"> |
8 | 8 | <![CDATA[ |
9 | + .str0 {stroke:white;stroke-width:0.132195} | |
9 | 10 | .fil0 {fill:#5EC7BD;fill-rule:nonzero} |
10 | 11 | ]]> |
11 | 12 | </style> |
12 | 13 | </defs> |
13 | 14 | <g id="paperclip"> |
14 | 15 | <metadata id="paperclip"/> |
15 | - <path class="fil0" d="M35 83c-4,0 -8,-2 -11,-5 -6,-6 -8,-16 0,-24 5,-5 24,-23 33,-33 4,-3 8,-5 12,-3 4,1 7,4 8,8 2,4 0,8 -3,12l-32 31c-2,2 -4,3 -6,3 -2,1 -4,0 -5,-1 -2,-3 -3,-8 1,-12l23 -22c0,-1 2,-1 3,0 1,1 1,3 0,3l-22 23c-2,2 -2,3 -2,4 1,1 1,1 2,1 1,0 2,-1 3,-2l32 -32c2,-2 3,-4 2,-7 -1,-2 -3,-4 -5,-5 -3,-1 -5,0 -7,2 -10,10 -29,29 -33,33 -6,7 -5,14 -1,18 4,4 11,5 17,-1l33 -33c1,-1 3,-1 3,0 1,1 1,2 0,3l-33 33c-3,4 -8,6 -12,6z"/> | |
16 | + <path class="fil0 str0" d="M13 48c-4,0 -7,-1 -9,-3 -4,-4 -5,-12 1,-18 3,-3 17,-17 24,-24 2,-2 6,-3 9,-3 2,1 5,4 6,7 0,3 0,6 -3,8l-23 23c-1,2 -3,2 -4,3 -2,0 -3,-1 -4,-2 -2,-2 -2,-5 1,-8l16 -16c1,-1 2,-1 2,0 1,0 1,2 0,2l-16 17c-1,1 -2,2 -1,3 0,0 1,0 1,0 1,0 2,0 2,-1l24 -23c1,-2 2,-4 1,-6 0,-1 -2,-3 -3,-3 -2,-1 -4,0 -6,1 -7,7 -20,21 -24,25 -4,4 -3,9 0,12 2,3 8,4 12,0l24 -24c1,-1 2,-1 3,0 1,0 1,1 0,2l-24 24c-3,3 -6,4 -9,4z"/> | |
16 | 17 | </g> |
17 | 18 | </svg> | ... | ... |
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |
3 | -<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="100px" height="100px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
4 | -viewBox="0 0 100 100" | |
2 | +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> | |
3 | +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="53px" height="48px" version="1.0" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
4 | +viewBox="0 0 53 48" | |
5 | 5 | xmlns:xlink="http://www.w3.org/1999/xlink"> |
6 | 6 | <defs> |
7 | 7 | <style type="text/css"> |
... | ... | @@ -12,6 +12,6 @@ viewBox="0 0 100 100" |
12 | 12 | </defs> |
13 | 13 | <g id="skip"> |
14 | 14 | <metadata id="skip"/> |
15 | - <path class="fil0" d="M10 24c1,-1 23,-17 45,0 8,6 12,15 13,26l22 0 -34 34 -34 -34 22 0c0,-1 1,-3 1,-4 -2,-29 -19,-26 -35,-22z"/> | |
15 | + <path class="fil0" d="M0 6c1,0 15,-11 30,1 5,4 8,9 9,17l14 0 -23 22 -22 -22 15 0c0,-1 0,-2 0,-3 -1,-19 -13,-17 -23,-15z"/> | |
16 | 16 | </g> |
17 | 17 | </svg> | ... | ... |