
Recherche avancée
Autres articles (41)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (5791)
-
TypeError : must be real number, not NoneType using spyder anaconda
13 août 2023, par faisal2kimport moviepy.editor as mp
import tkinter as tk
from tkinter import filedialog
import math
from PIL import Image
import numpy


def zoom_in_effect(clip, zoom_ratio=0.02):
 def effect(get_frame, t):
 img = Image.fromarray(get_frame(t))
 base_size = img.size

 new_size = [
 math.ceil(img.size[0] * (1 + (zoom_ratio * t))),
 math.ceil(img.size[1] * (1 + (zoom_ratio * t)))
 ]

 # The new dimensions must be even.
 new_size[0] = new_size[0] + (new_size[0] % 2)
 new_size[1] = new_size[1] + (new_size[1] % 2)

 img = img.resize(new_size, Image.LANCZOS)

 x = math.ceil((new_size[0] - base_size[0]) / 2)
 y = math.ceil((new_size[1] - base_size[1]) / 2)

 img = img.crop([
 x, y, new_size[0] - x, new_size[1] - y
 ]).resize(base_size, Image.LANCZOS)

 #result = numpy.array(img)
 result = numpy.array(img, dtype=numpy.uint8)

 img.close()

 return result

 return clip.fl(effect)


 

def make_center_video():
 
 size = (1080, 1080)

 audio_file = '/home/faisal/pythonfiles/audio/tts_voice.wav'
 audio = mp.AudioFileClip(audio_file)
 
 root = tk.Tk()
 root.withdraw()
 
 print("waiting for Image Selection....")

 img = filedialog.askopenfilename()


 slide = mp.ImageClip(img).set_fps(29).set_duration(audio.duration).resize(size)
 slide = zoom_in_effect(slide, 0.02)
 slide.write_videofile('/home/faisal/pythonfiles/videos/zoom-short.mp4',codec='libx264', fps=29)
 
 
 size = (600, 600)

 


 slide = mp.ImageClip(img).set_fps(29).set_duration(audio.duration).resize(size)
 slide = zoom_in_effect(slide, 0.02)
 slide.write_videofile('/home/faisal/pythonfiles/videos/zoom-wide.mp4',codec='libx264', fps=29)
 
import traceback

try:
 make_center_video()
except Exception as e:
 traceback.print_exc()
 print(f"An error occurred: {e}")



I'm trying to make the zoom video using image but facing


TypeError: must be real number, not NoneType.



It used was to run but I don't remember if I might have updated numpy, ffmpeg, or any thing else that is now causing the error. I have tried the code on python 3.10 and 3.11 and get the same error in both. I was previously running it on python 3.10.


An error occurred: must be real number, not NoneType
Traceback (most recent call last):
 File "/home/faisal/pythonfiles/code/zoom_video.py", line 76, in <module>
 make_center_video()
 File "/home/faisal/pythonfiles/code/zoom_video.py", line 61, in make_center_video
 slide.write_videofile('/home/faisal/pythonfiles/videos/zoom-short.mp4',codec='libx264', fps=29)
 File "/home/faisal/anaconda3/envs/py-310/lib/python3.10/site-packages/decorator.py", line 232, in fun
 return caller(func, *(extras + args), **kw)
 File "/home/faisal/anaconda3/envs/py-310/lib/python3.10/site-packages/moviepy/decorators.py", line 54, in requires_duration
 return f(clip, *a, **k)
 File "/home/faisal/anaconda3/envs/py-310/lib/python3.10/site-packages/decorator.py", line 232, in fun
 return caller(func, *(extras + args), **kw)
 File "/home/faisal/anaconda3/envs/py-310/lib/python3.10/site-packages/moviepy/decorators.py", line 135, in use_clip_fps_by_default
 return f(clip, *new_a, **new_kw)
 File "/home/faisal/anaconda3/envs/py-310/lib/python3.10/site-packages/decorator.py", line 232, in fun
 return caller(func, *(extras + args), **kw)
 File "/home/faisal/anaconda3/envs/py-310/lib/python3.10/site-packages/moviepy/decorators.py", line 22, in convert_masks_to_RGB
 return f(clip, *a, **k)
 File "/home/faisal/anaconda3/envs/py-310/lib/python3.10/site-packages/moviepy/video/VideoClip.py", line 300, in write_videofile
 ffmpeg_write_video(self, filename, fps, codec,
 File "/home/faisal/anaconda3/envs/py-310/lib/python3.10/site-packages/moviepy/video/io/ffmpeg_writer.py", line 213, in ffmpeg_write_video
 with FFMPEG_VideoWriter(filename, clip.size, fps, codec = codec,
 File "/home/faisal/anaconda3/envs/py-310/lib/python3.10/site-packages/moviepy/video/io/ffmpeg_writer.py", line 88, in __init__
 '-r', '%.02f' % fps,
TypeError: must be real number, not NoneType
</module>


-
sws_scale performance comparison to media players real time resize
14 juillet 2018, par Andrey KatkovWhile playing 4K video user can resize players window - and result image will be scaled smoothly in run time.
On the other hand - program written with libav which reads 4k video file frame by frame and scale it down with sws_scale function do it less effective : it took more time then video duration to resize it.
Why is it so ? Maybe because player fps is less and some frames are skipped - but video still looks smooth ?
-
Revision 360c80cfb9 : Use fast HEX search in real time mode In good quality mode motion search, the b
15 février 2014, par Yunqing WangChanged Paths :
Modify /vp9/encoder/vp9_mcomp.c
Modify /vp9/encoder/vp9_mcomp.h
Modify /vp9/encoder/vp9_onyx_if.c
Modify /vp9/encoder/vp9_onyx_int.h
Modify /vp9/encoder/vp9_rdopt.c
Use fast HEX search in real time modeIn good quality mode motion search, the best matches are normally
found after searching in a large area. In real time mode, to make
encoding fast, a center-biased fast HEX search is used, which
converges quickly most of the time. A 4-point diamond search is
also carried out as the following refining search, which gives more
precise results, and maintains good motion search quality.At speed 5, the borg test on rtc set showed an overall PSNR loss of
0.936%. The encoding speed gain is 4% - 5%.Change-Id : I42cd68bb56a09ca1b86293c99d5f7312225ca7ae