Recherche avancée

Médias (2)

Mot : - Tags -/media

Autres articles (23)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Other interesting software

    13 avril 2011, par

    We don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
    The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
    We don’t know them, we didn’t try them, but you can take a peek.
    Videopress
    Website : http://videopress.com/
    License : GNU/GPL v2
    Source code : (...)

Sur d’autres sites (7235)

  • Trying to get the current FPS and Frametime value into Matplotlib title

    16 juin 2022, par TiSoBr

    I try to turn an exported CSV with benchmark logs into an animated graph. Works so far, but I can't get the Titles on top of both plots with their current FPS and frametime in ms values animated.

    


    Thats the output I'm getting. Looks like he simply stores all values in there instead of updating them ?

    


    Screengrab of cli output
Screengrab of the final output (inverted)

    


    from __future__ import division
import sys, getopt
import time
import matplotlib
import numpy as np
import subprocess
import math
import re
import argparse
import os
import glob

import matplotlib.animation as animation
import matplotlib.pyplot as plt


def check_pos(arg):
    ivalue = int(arg)
    if ivalue <= 0:
        raise argparse.ArgumentTypeError("%s Not a valid positive integer value" % arg)
    return True
    
def moving_average(x, w):
    return np.convolve(x, np.ones(w), 'valid') / w
    

parser = argparse.ArgumentParser(
    description = "Example Usage python frame_scan.py -i mangohud -c '#fff' -o mymov",
    formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("-i", "--input", help = "Input data set from mangohud", required = True, nargs='+', type=argparse.FileType('r'), default=sys.stdin)
parser.add_argument("-o", "--output", help = "Output file name", required = True, type=str, default = "")
parser.add_argument("-r", "--framerate", help = "Set the desired framerate", required = False, type=float, default = 60)
parser.add_argument("-c", "--colors", help = "Colors for the line graphs; must be in quotes", required = True, type=str, nargs='+', default = 60)
parser.add_argument("--fpslength", help = "Configures how long the data will be shown on the FPS graph", required = False, type=float, default = 5)
parser.add_argument("--fpsthickness", help = "Changes the line width for the FPS graph", required = False, type=float, default = 3)
parser.add_argument("--frametimelength", help = "Configures how long the data will be shown on the frametime graph", required = False, type=float, default = 2.5)
parser.add_argument("--frametimethickness", help = "Changes the line width for the frametime graph", required = False, type=float, default = 1.5)
parser.add_argument("--graphcolor", help = "Changes all of the line colors on the graph; expects hex value", required = False, default = '#FFF')
parser.add_argument("--graphthicknes", help = "Changes the line width of the graph", required = False, type=float, default = 1)
parser.add_argument("-ts","--textsize", help = "Changes the the size of numbers marking the ticks", required = False, type=float, default = 23)
parser.add_argument("-fsM","--fpsmax", help = "Changes the the size of numbers marking the ticks", required = False, type=float, default = 180)
parser.add_argument("-fsm","--fpsmin", help = "Changes the the size of numbers marking the ticks", required = False, type=float, default = 0)
parser.add_argument("-fss","--fpsstep", help = "Changes the the size of numbers marking the ticks", required = False, type=float, default = 30)
parser.add_argument("-ftM","--frametimemax", help = "Changes the the size of numbers marking the ticks", required = False, type=float, default = 50)
parser.add_argument("-ftm","--frametimemin", help = "Changes the the size of numbers marking the ticks", required = False, type=float, default = 0)
parser.add_argument("-fts","--frametimestep", help = "Changes the the size of numbers marking the ticks", required = False, type=float, default = 10)

arg = parser.parse_args()
status = False


if arg.input:
    status = True
if arg.output:
    status = True
if arg.framerate:
    status = check_pos(arg.framerate)
if arg.fpslength:
    status = check_pos(arg.fpslength)
if arg.fpsthickness:
    status = check_pos(arg.fpsthickness)
if arg.frametimelength:
    status = check_pos(arg.frametimelength)
if arg.frametimethickness:
    status = check_pos(arg.frametimethickness)
if arg.colors:
    if len(arg.output) != len(arg.colors):
        for i in arg.colors:
            if re.match(r"^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", i):
                status = True
            else:
                print('{} : Isn\'t a valid hex value!'.format(i))
                status = False
    else:
        print('You must have the same amount of colors as files in input!')
        status = False
if arg.graphcolor:
    if re.match(r"^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", arg.graphcolor):
        status = True
    else:
        print('{} : Isn\'t a vaild hex value!'.format(arg.graphcolor))
        status = False
if arg.graphthicknes:
    status = check_pos(arg.graphthicknes)
if arg.textsize:
    status = check_pos(arg.textsize)
if not status:
    print("For a list of arguments try -h or --help") 
    exit()


# Empty output folder
files = glob.glob('/output/*')
for f in files:
    os.remove(f)


# We need to know the longest recording out of all inputs so we know when to stop the video
longest_data = 0

# Format the raw data into a list of tuples (fps, frame time in ms, time from start in micro seconds)
# The first three lines of our data are setup so we ignore them
data_formated = []
for li, i in enumerate(arg.input):
    t = 0
    sublist = []
    for line in i.readlines()[3:]:
        x = line[:-1].split(',')
        fps = float(x[0])
        frametime = int(x[1])/1000 # convert from microseconds to milliseconds
        elapsed = int(x[11])/1000 # convert from nanosecond to microseconds
        data = (fps, frametime, elapsed)
        sublist.append(data)
    # Compare last entry of each list with the 
    if sublist[-1][2] >= longest_data:
        longest_data = sublist[-1][2]
    data_formated.append(sublist)


max_blocksize = max(arg.fpslength, arg.frametimelength) * arg.framerate
blockSize = arg.framerate * arg.fpslength


# Get step time in microseconds
step = (1/arg.framerate) * 1000000 # 1000000 is one second in microseconds
frame_size_fps = (arg.fpslength * arg.framerate) * step
frame_size_frametime = (arg.frametimelength * arg.framerate) * step


# Total frames will have to be updated for more then one source
total_frames = int(int(longest_data) / step)


if True: # Gonna be honest, this only exists so I can collapse this block of code

    # Sets up our figures to be next to each other (horizontally) and with a ratio 3:1 to each other
    fig, (ax1, ax2) = plt.subplots(1, 2, gridspec_kw={'width_ratios': [3, 1]})

    # Size of whole output 1920x360 1080/3=360
    fig.set_size_inches(19.20, 3.6)

    # Make the background transparent
    fig.patch.set_alpha(0)


    # Loop through all active axes; saves a lot of lines in ax1.do_thing(x) ax2.do_thing(x)
    for axes in fig.axes:

        # Set all splines to the same color and width
        for loc, spine in axes.spines.items():
            axes.spines[loc].set_color(arg.graphcolor)
            axes.spines[loc].set_linewidth(arg.graphthicknes)

        # Make sure we don't render any data points as this will be our background
        axes.set_xlim(-(max_blocksize * step), 0)
        

        # Make both plots transparent as well as the background
        axes.patch.set_alpha(.5)
        axes.patch.set_color('#020202')

        # Change the Y axis info to be on the right side
        axes.yaxis.set_label_position("right")
        axes.yaxis.tick_right()

        # Add the white lines across the graphs; the location of the lines are based off set_{}ticks
        axes.grid(alpha=.8, b=True, which='both', axis='y', color=arg.graphcolor, linewidth=arg.graphthicknes)

        # Remove X axis info
        axes.set_xticks([])

    # Add a another Y axis so ticks are on both sides
    tmp_ax1 = ax1.secondary_yaxis("left")
    tmp_ax2 = ax2.secondary_yaxis("left")

    # Set both to the same values
    ax1.set_yticks(np.arange(arg.fpsmin, arg.fpsmax + 1, step=arg.fpsstep))
    ax2.set_yticks(np.arange(arg.frametimemin, arg.frametimemax + 1, step=arg.frametimestep))
    tmp_ax1.set_yticks(np.arange(arg.fpsmin , arg.fpsmax + 1, step=arg.fpsstep))
    tmp_ax2.set_yticks(np.arange(arg.frametimemin, arg.frametimemax + 1, step=arg.frametimestep))

    # Change the "ticks" to be white and correct size also change font size
    ax1.tick_params(axis='y', color=arg.graphcolor ,width=arg.graphthicknes, length=16, labelsize=arg.textsize, labelcolor=arg.graphcolor)
    ax2.tick_params(axis='y', color=arg.graphcolor ,width=arg.graphthicknes, length=16, labelsize=arg.textsize, labelcolor=arg.graphcolor)
    tmp_ax1.tick_params(axis='y', color=arg.graphcolor ,width=arg.graphthicknes, length=8, labelsize=0) # Label size of 0 disables the fps/frame numbers
    tmp_ax2.tick_params(axis='y', color=arg.graphcolor ,width=arg.graphthicknes, length=8, labelsize=0)


    # Limits Y scale
    ax1.set_ylim(arg.fpsmin,arg.fpsmax + 1)
    ax2.set_ylim(arg.frametimemin,arg.frametimemax + 1)

    # Add an empty plot
    line = ax1.plot([], lw=arg.fpsthickness)
    line2 = ax2.plot([], lw=arg.frametimethickness)

    # Sets all the data for our benchmark
    for benchmarks, color in zip(data_formated, arg.colors):
        y = moving_average([x[0] for x in benchmarks], 25)
        y2 = [x[1] for x in benchmarks]
        x = [x[2] for x in benchmarks]
        line += ax1.plot(x[12:-12],y, c=color, lw=arg.fpsthickness)
        line2 += ax2.step(x,y2, c=color, lw=arg.fpsthickness)
    
    # Add titles with values
    ax1.set_title("Avg. frames per second: {}".format(y2), color=arg.graphcolor, fontsize=20, fontweight='bold', loc='left')
    ax2.set_title("Frametime in ms: {}".format(y2), color=arg.graphcolor, fontsize=20, fontweight='bold', loc='left')  

    # Removes unwanted white space; also controls the space between the two graphs
    plt.tight_layout(pad=0, h_pad=0, w_pad=2.5)
    
    fig.canvas.draw()

    # Cache the background
    axbackground = fig.canvas.copy_from_bbox(ax1.bbox)
    ax2background = fig.canvas.copy_from_bbox(ax2.bbox)


# Create a ffmpeg instance as a subprocess we will pipe the finished frame into ffmpeg
# encoded in Apple QuickTime (qtrle) for small(ish) file size and alpha support
# There are free and opensource types that will also do this but with much larger sizes
canvas_width, canvas_height = fig.canvas.get_width_height()
outf = '{}.mov'.format(arg.output)
cmdstring = ('ffmpeg',
                '-stats', '-hide_banner', '-loglevel', 'error', # Makes ffmpeg less annoying / to much console output
                '-y', '-r', '60', # set the fps of the video
                '-s', '%dx%d' % (canvas_width, canvas_height), # size of image string
                '-pix_fmt', 'argb', # format cant be changed since this is what  `fig.canvas.tostring_argb()` outputs
                '-f', 'rawvideo',  '-i', '-', # tell ffmpeg to expect raw video from the pipe
                '-vcodec', 'qtrle', outf) # output encoding must support alpha channel
pipe = subprocess.Popen(cmdstring, stdin=subprocess.PIPE)

def render_frame(frame : int):

    # Set the bounds of the graph for each frame to render the correct data
    start = (frame * step) - frame_size_fps
    end = start + frame_size_fps
    ax1.set_xlim(start,end)
     
     
    start = (frame * step) - frame_size_frametime
    end = start + frame_size_frametime
    ax2.set_xlim(start,end)
    

    # Restore background
    fig.canvas.restore_region(axbackground)
    fig.canvas.restore_region(ax2background)

    # Redraw just the points will only draw points with in `axes.set_xlim`
    for i in line:
        ax1.draw_artist(i)
        
    for i in line2:
        ax2.draw_artist(i)

    # Fill in the axes rectangle
    fig.canvas.blit(ax1.bbox)
    fig.canvas.blit(ax2.bbox)
    
    fig.canvas.flush_events()

    # Converts the finished frame to ARGB
    string = fig.canvas.tostring_argb()
    return string




#import multiprocessing
#p = multiprocessing.Pool()
#for i, _ in enumerate(p.imap(render_frame, range(0, int(total_frames + max_blocksize))), 20):
#    pipe.stdin.write(_)
#    sys.stderr.write('\rdone {0:%}'.format(i/(total_frames + max_blocksize)))
#p.close()

#Signle Threaded not much slower then multi-threading
if __name__ == "__main__":
    for i , _ in enumerate(range(0, int(total_frames + max_blocksize))):
        render_frame(_)
        pipe.stdin.write(render_frame(_))
        sys.stderr.write('\rdone {0:%}'.format(i/(total_frames + max_blocksize)))


    


  • Unknown input format : 'rawvideo' when trying to save animation

    8 juin 2022, par John Klint

    So, I get a strange error trying to save animations created with matplotlib.FuncAnimation using FFMpegWriter.

    


    /home/j/PycharmProjects/venvtest/venv/bin/python /home/j/PycharmProjects/venvtest/main.py&#xA;MovieWriter stderr:&#xA;Unknown input format: &#x27;rawvideo&#x27;&#xA;&#xA;Traceback (most recent call last):&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/animation.py", line 234, in saving&#xA;    yield self&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/animation.py", line 1093, in save&#xA;    writer.grab_frame(**savefig_kwargs)&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/animation.py", line 351, in grab_frame&#xA;    self.fig.savefig(self._proc.stdin, format=self.frame_format,&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/figure.py", line 3046, in savefig&#xA;    self.canvas.print_figure(fname, **kwargs)&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/backend_bases.py", line 2319, in print_figure&#xA;    result = print_method(&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/backend_bases.py", line 1648, in wrapper&#xA;    return func(*args, **kwargs)&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/_api/deprecation.py", line 415, in wrapper&#xA;    return func(*inner_args, **inner_kwargs)&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py", line 486, in print_raw&#xA;    fh.write(renderer.buffer_rgba())&#xA;BrokenPipeError: [Errno 32] Broken pipe&#xA;&#xA;During handling of the above exception, another exception occurred:&#xA;&#xA;Traceback (most recent call last):&#xA;  File "/home/j/PycharmProjects/venvtest/main.py", line 24, in <module>&#xA;    anim.save(&#x27;basic_animation.mp4&#x27;, writer=FFwriter)&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/animation.py", line 1093, in save&#xA;    writer.grab_frame(**savefig_kwargs)&#xA;  File "/usr/lib/python3.9/contextlib.py", line 137, in __exit__&#xA;    self.gen.throw(typ, value, traceback)&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/animation.py", line 236, in saving&#xA;    self.finish()&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/animation.py", line 342, in finish&#xA;    self._cleanup()  # Inline _cleanup() once cleanup() is removed.&#xA;  File "/home/j/PycharmProjects/venvtest/venv/lib/python3.9/site-packages/matplotlib/animation.py", line 373, in _cleanup&#xA;    raise subprocess.CalledProcessError(&#xA;subprocess.CalledProcessError: Command &#x27;[&#x27;/usr/bin/ffmpeg&#x27;, &#x27;-f&#x27;, &#x27;rawvideo&#x27;, &#x27;-vcodec&#x27;, &#x27;rawvideo&#x27;, &#x27;-s&#x27;, &#x27;640x480&#x27;, &#x27;-pix_fmt&#x27;, &#x27;rgba&#x27;, &#x27;-r&#x27;, &#x27;5&#x27;, &#x27;-loglevel&#x27;, &#x27;error&#x27;, &#x27;-i&#x27;, &#x27;pipe:&#x27;, &#x27;-vcodec&#x27;, &#x27;h264&#x27;, &#x27;-pix_fmt&#x27;, &#x27;yuv420p&#x27;, &#x27;-y&#x27;, &#x27;basic_animation.mp4&#x27;]&#x27; returned non-zero exit status 1.&#xA;&#xA;Process finished with exit code 1&#xA;</module>

    &#xA;

    I am confident it has nothing to do with the animation data, the error occurs even when I create a simple test animation :

    &#xA;

    import numpy as np&#xA;from matplotlib import pyplot as plt&#xA;from matplotlib import animation&#xA;# plt.rcParams[&#x27;animation.ffmpeg_path&#x27;] = &#x27;/usr/bin/ffmpeg&#x27;&#xA;&#xA;fig = plt.figure()&#xA;ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))&#xA;line, = ax.plot([], [], lw=2)&#xA;&#xA;&#xA;def init():&#xA;    line.set_data([], [])&#xA;    return line,&#xA;&#xA;&#xA;def animate(i):&#xA;    x = np.linspace(0, 2, 1000)&#xA;    y = np.sin(2 * np.pi * (x - 0.01 * i))&#xA;    line.set_data(x, y)&#xA;    return line,&#xA;&#xA;&#xA;anim = animation.FuncAnimation(fig, animate, init_func=init,&#xA;                           frames=200, interval=20, blit=True)&#xA;&#xA;FFwriter = animation.FFMpegWriter()&#xA;anim.save(&#x27;basic_animation.mp4&#x27;, writer=FFwriter)&#xA;

    &#xA;

    I am currently using PyCharm in LinuxMint and I have a fairly new version of FFMpeg (4.2.4) installed. Given that FFMpeg complains about 'rawvideo' which as far as I understand it is just a bunch of images in series, it seems unlikely this has anything to do with codecs. If I run ffmpeg -formats, sure enough rawvideo is in the list.

    &#xA;

    I have tried manually setting plt.rcParams, like in the commented line in the code above, with no success. I have also tried setting up both anaconda and venv environments, but I get the same error.&#xA;Annoyingly, I did not have this problem a few months ago when I was using Ubuntu. I have also verified that it works on my friends Ubuntu desktop, using the same simple venv as I set up for myself.

    &#xA;

    Any ideas ?

    &#xA;

    EDIT : I use the fish shell, if that is relevant...

    &#xA;

    Well this is peculiar. If I start a terminal from within PyCharm and check supported formats, I get the following :

    &#xA;

    (venv) ffmpeg -formats&#xA;ffmpeg version 4.3.4 Copyright (c) 2000-2021 the FFmpeg developers&#xA;  built with gcc 11.3.0 (GCC)&#xA;  configuration: --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --disable-debug --disable-doc --disable-static --enable-optimizations --enable-shared --disable-everything --enable-ffplay --enable-ffprobe --enable-gnutls --enable-libaom --enable-libdav1d --enable-libfdk-aac --enable-libmp3lame --enable-libfontconfig --enable-libfreetype --enable-libopus --enable-libpulse --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-openal --enable-opengl --enable-sdl2 --enable-vulkan --enable-zlib --enable-libv4l2 --enable-libxcb --enable-vdpau --enable-vaapi --enable-encoder=&#x27;ac3,alac,flac,libfdk_aac,g723_1,mp2,libmp3lame,libopus,libspeex,pcm_alaw,pcm_mulaw,pcm_f32le,pcm_s16be,pcm_s24be,pcm_s16le,pcm_s24le,pcm_s32le,pcm_u8,tta,libvorbis,wavpack,&#x27; --enable-encoder=&#x27;ass,ffv1,libaom_av1,libvpx_vp8,libvpx_vp9,mjpeg_vaapi,rawvideo,theora,vp8_vaapi,libopenh264&#x27; --enable-decoder=&#x27;adpcm_g722,alac,flac,g723_1,g729,libfdk_aac,libopus,libspeex,mp2,mp3,m4a,pcm_alaw,pcm_mulaw,pcm_f16le,pcm_f24le,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_s16be,pcm_s16be_planar,pcm_s24be,pcm_s16le,pcm_s16le_planar,pcm_s24le,pcm_s24le_planar,pcm_s32le,pcm_s32le_planar,pcm_s64be,pcm_s64le,pcm_s8,pcm_s8_planar,pcm_u8,pcm_u24be,pcm_u24le,pcm_u32be,pcm_u32le,tta,vorbis,wavpack,&#x27; --enable-decoder=&#x27;ass,ffv1,mjpeg,mjpegb,libaom_av1,libdav1d,libvpx_vp8,libvpx_vp9,rawvideo,theora,vp8,vp9,libopenh264&#x27; --enable-encoder=&#x27;bmp,gif,jpegls,png,tiff,webp,&#x27; --enable-decoder=&#x27;bmp,gif,jpegls,png,tiff,webp,&#x27; --enable-hwaccel=&#x27;vp8_vaapi,mjpeg_vaapi,&#x27; --enable-parser=&#x27;aac,ac3,flac,mjpeg,mpegaudio,mpeg4video,opus,vp3,vp8,vp9,vorbis,&#x27; --enable-muxer=&#x27;ac3,ass,flac,g722,gif,matroska,mp3,mpegvideo,rtp,ogg,opus,pcm_s16be,pcm_s16le,wav,webm,&#x27; --enable-demuxer=&#x27;aac,ac3,ass,flac,g722,gif,image_jpeg_pipe,image_png_pipe,image_webp_pipe,matroska,mjpeg,mov,mp3,mpegvideo,ogg,pcm_mulaw,pcm_alaw,pcm_s16be,pcm_s16le,rtp,wav,&#x27; --enable-filter=&#x27;crop,scale,overlay,amix,amerge,aresample,format,aformat,fps,transpose,pad,&#x27; --enable-protocol=&#x27;crypto,file,pipe,rtp,srtp,rtsp,tcp,udp,unix,&#x27; --arch=x86_64 --enable-libopenh264&#xA;  libavutil      56. 51.100 / 56. 51.100&#xA;  libavcodec     58. 91.100 / 58. 91.100&#xA;  libavformat    58. 45.100 / 58. 45.100&#xA;  libavdevice    58. 10.100 / 58. 10.100&#xA;  libavfilter     7. 85.100 /  7. 85.100&#xA;  libswscale      5.  7.100 /  5.  7.100&#xA;  libswresample   3.  7.100 /  3.  7.100&#xA;File formats:&#xA; D. = Demuxing supported&#xA; .E = Muxing supported&#xA; --&#xA; D  aac             raw ADTS AAC (Advanced Audio Coding)&#xA; DE ac3             raw AC-3&#xA; D  alaw            PCM A-law&#xA; D  asf             ASF (Advanced / Active Streaming Format)&#xA; DE ass             SSA (SubStation Alpha) subtitle&#xA; DE flac            raw FLAC&#xA; DE g722            raw G.722&#xA; DE gif             CompuServe Graphics Interchange Format (GIF)&#xA; D  jpeg_pipe       piped jpeg sequence&#xA;  E matroska        Matroska&#xA; D  matroska,webm   Matroska / WebM&#xA; D  mjpeg           raw MJPEG video&#xA; D  mov,mp4,m4a,3gp,3g2,mj2 QuickTime / MOV&#xA; DE mp3             MP3 (MPEG audio layer 3)&#xA; D  mpegts          MPEG-TS (MPEG-2 Transport Stream)&#xA; D  mpegvideo       raw MPEG video&#xA; D  mulaw           PCM mu-law&#xA; DE ogg             Ogg&#xA;  E opus            Ogg Opus&#xA; D  png_pipe        piped png sequence&#xA; D  rm              RealMedia&#xA; DE rtp             RTP output&#xA; DE s16be           PCM signed 16-bit big-endian&#xA; DE s16le           PCM signed 16-bit little-endian&#xA; D  sdp             SDP&#xA; DE wav             WAV / WAVE (Waveform Audio)&#xA;  E webm            WebM&#xA; D  webp_pipe       piped webp sequence&#xA;&#xA;

    &#xA;

    As is evident, there is no support for 'rawvideo' in the list above ! Very strange indeed, I do not know which ffmpeg this list belongs to, perhaps it is a version integrated into matplotlib's animation class ?

    &#xA;

    Anyway, if I uncomment the line setting the ffmpeg_path I am back at the old error. I did get it to work however, by changing the path from '/usr/bin/ffmpeg' to '/home/j/.conda/envs/venvtest/bin/ffmpeg'. Then I get the file to run, create the animation and save it. This works for my real files as well, which do not even run that particular conda-environment. They do not recognize or find the ffmpeg I have in /usr/bin though. I have no clue why but at least I have a workaround now.

    &#xA;

    Final edit :&#xA;It is solved. It was flatpak's fault. Lesson is, don't use flatpak (or snap for that matter) to install Pycharm.

    &#xA;

  • Looking for doing a small animation with gnuplot and ffmpeg

    17 octobre 2022, par youpilat13

    I am trying to do a small animations from multiples images (generated by the plot of input files test_matter_power_xxx.dat).

    &#xA;

    Here the script :

    &#xA;

    #!/bin/bash&#xA;&#xA;for i in {1..398}; do&#xA;gnuplot -p &lt;&lt;-EOFMarker&#xA;set terminal jpeg;&#xA;set logscale x;&#xA;set title "Matter Abgular power spectrum";&#xA;set xlabel "scale (k)";&#xA;set ylabel "P(k)";&#xA;set key top left;&#xA;set grid;&#xA;set ytics out nomirror;&#xA;set xtics out nomirror;&#xA;set logscale x;&#xA;set format x "10^{%L}";&#xA;set yrange [0:30000];&#xA;plot "test_matterpower_$i.dat" u 1:2 w l > pic$i.jpeg;&#xA;EOFMarker&#xA;done&#xA;&#xA;# Build movie with ffmpeg&#xA;ffmpeg -start_number 1 -i pic%d.jpeg  movie.mpeg&#xA;

    &#xA;

    But I get the following output at execution :

    &#xA;

     ./script_movie_gnuplot.sh&#xA;����JFIF``��;CREATOR: gd-jpeg v1.0 (using IJG JPEG v90), quality = 90&#xA;��C&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;��C&#xA;�����&#xA;&#xA;���}!1AQa"q2��#B��R��$3br�&#xA;%&amp;&#x27;()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz���������������������������������������������������������������������������&#xA;&#xA;���w!1AQaq"2B����   #3R�br�&#xA;$4�%�&amp;&#x27;()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������&#xA;                                       ?�S��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��1l�m��C�7����˟i�$�&lt;7���lW���He� ��@���@������7�o�hb�?�}�~�?���/w˿��lu�2��N�i/ڤ�&#x2B;}���7oT���l���s���(/ľ(Ѽ��k^!��t-���5;����&#xA;&#xA;��*�����CĚN����R���N�m,~�p��fVu�,��ʣ�U�!X��4h��(h:����V�u&#x2B;M_J�A-����.���|m�&#xA;            ~�����uY:e�i�Č��o"�&lt;�n����������y�Y���jZm޵&#x2B;�e��݅��JȬ��y�������f���ŏ�����n�ږ���-*&#x2B;{��D�>���h�[��d$��@&lt;��x�f�/e9Ϗ&lt;@�Mu�yR���yp,e�ć웊˴�,��;ld;J�vw_����0�n�]w�iZ�垍�]&#x2B;���f�ikt�2M��>Q��.#b��v��e�u�x���kq�;������!ӭ�.4�g�&#x27;��ip@�k&#x2B;X&#x2B;�T��5�#ž9�m�X��o�;wu&#x27;�&lt;i��^j�}��m�k�[���&#x2b;��s�@<ok�g�|y�w�w�m�[�#ƾ�o�{�cv�$��"�o�6�mkp�ᤳh�q*����p���㧏�k6�v��x��&#x2b;}�_�s���5{��&amp;�88�����0dpi��o�~)��ĝo��x�oӾ��*Ү������u]�uw��@�&gt;�M�>&amp;x���ޘ���/�_ͬE�E�����2��bB[�&#x2B;���q@��V��oٓ�t����}i�-�3�i��&#xA;!2M0ayrTGN���K���w��~O�rx"�T��,��p����aP�%�9�m����~.j���?ٿ�Z���q�M&#xA;                                                                   ��徵wo��0���3F��Yܠ����&#x2B;o��^�*ռc���m;ƶ��zj�����&amp;�-�=�D��&lt;@&#460388;&#x27;r�e�@�Wŏ��&#x27;�o�uǪXx��H���zi��gkg��q&#xA;                                                                              YU�h|��2H��\m\�r�(�~"xGG�n�.��z��_���>-�͖�9Ӧ�V(~�z�����q�Ϸ!B/�@�v?��7�����&#x27;���O��f/&#xA;                                                                  x��v�n�gw&#xA;                                                                           ,������[���J&amp;2�����6��S��4����.�mn�}���ޣ٘�\Lj64��V&#xA;>m���y&amp;�1�eg�����@��)�>"�q��|oc���2_i��G���{;;Ƕo����/���Sz�@&lt;&#x27;&#xB7;�&lt;�4�~!��&amp;��s��ˋ�&#xA;a2�[�>)�6��J�xQ�ƻ��xO�&lt;˻kx��K�Ȥ��Q��(��܅��xǀ�.�O��2/I�7��|Q6��Z�oq"�]D���4h�J!���m Pxs� �l�Ri�A��.��s�;ޗH\�8��3�h�j(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;N�T���?&amp;h�ڛhDp�l|���j�_̠�P]c�L��c���_I�����i�2�-���n,B�G٣���N   ���u����U�nj&lt;s�xi.!��x��1$3@���j�x�a1�\�a�a�&#xa;&gt;�]�z6٭q]n�E��nw۾����d\&#xA;.��I#01�dq��TG%��q�}�O�z_��i�_YOw%��.mn�����Ak�P@)���$����n��|O�G����[��,�$[�F����HR(PUY��s6Y�y�ğ���_�!O���hz���v���E&#xA;                                  f��m�>h���\�?6� ����s�Ӿ��W�g�|I5���歫�a��=��`hg�����h��$of�O�g���⯊�]��_˥j�>{_�6��2�^l����&#xA;                                        A@Q��r�̓�@;�    ~�:?�KDV(#���ܙ   Eː1@i?�W�|3��&#xA;�&#xDE;&amp;�7�5?i�h�~�a=�]�g&#x2B;#I&#xA;                       �[w�Դh���AR(��#��VV�b���-��nbr�X�3��8߄�e����f��kZ���Oi"�L��˸g��̐�s�>\j]���ZJ��9w��d�&#xA;                        xz����x��&#xBE;����ȟLӮ�DɈ�α3K&#x2B;�6����s�Q�?�|S�C^���k���:躴K2yQD!��.ϒVT�,Kd���&#xA;���l&lt;&#x27;�-#E�����kM#�zu�?�&#xA;                        ��_2&#x27;�_4�����`@�    ��ٓ&#xBA;u���������u&#x2B;��{�OR0�&#xA;                                                                       Ir�0T���@q��ҼG���mP�g�������t۩-nb&#xA;                     1�9c!��P�A�&lt;&#x27;�o��q�xǷ��|B�σuo�G�h-����a�t�4�尣.ho���e�����ֿ�-W&#xFA;H��4�n���s$&#x2B;���m���JҰL�l�x�P�LJ�t&#x2B;d������?������V1��T��㹸I�}"I/�|�X��BGݸ�@�~�^��.��6�Ն��x��]4�h��:���xy�ّ�?5z�P@P@P@P@P@P@��D��.�v��mzi"�l�De�Y�8��,�#�*���r�����7�#ӵ�/V�&amp;��iˬ�i�$H�����^  e��)��R�`������|y�-#G���"���匚��6�i1��鴻&#xF2;We`��c�G&amp;����&#xA;v�]/F�]լK��wI��q0�ʻ��6&lt;��I��f����Ԟ�5�J�M#^���^�����-b:U��2&#x27;�#D�&#x2B;Ȉ�,M1�:�pc������{]����Gs�L�!Y&amp;�dԴ�F�Xӭo�g����$� �m�$l&#x2B;) ��@h��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��&#xA;(��ߏt�~�%�^���5���eX���;W{�.p�X�    ��>������경�U�ŤI�u�9&#xA;�=�Z_��G��z����wK���R3XI�[E�&lt;��M��)^�쿳>���k�r�[�����c�}2��A�k�6{�(>1|g��9�j�����x���V�.��k$�o�mJ�*����VeH�a#`C  9��.O�  �������&lt;]�D&#x27;��x{������w�������Z��&#xA;                                                                          ����B~ �w���k@�.O�    �������&lt;]�D&#x27;��x{������w�������Z��&#xA;                                                  ����B~ �w���k@�.O�    ������G����$�{#��$U�&lt;:J6��o�pp�p{{���&lt;]�D&#x27;��x{������w�������Z��&#xA;                                                      ����B~ �w���k@�.O�    �������&lt;]�D&#x27;��x{������w�������Z��&#xA;                               ����B~ �w���k@�.O�   ������F�R�  ���;�:�u�eR?��@,�=�Z��&#x27;����@����ր�\�.�����=��Z?�rx���O�����-h������!??�;����&#x27;����@����ր�\�.�����=��Z?�rx���O�����-h������!??�;������T7��ą�I�xuAf`�9պ�@� P��&lt;]�D&#x27;��x{������w�������Z��&#xA;       ����B~ �w���k@�.O�   �������&lt;]�D&#x27;��x{������w�������Z��&#xA;                                                                  ����B~ �w���k@�.O�    �������&lt;]�D&#x27;��x{���St�����P3!h��&#xA;                                     �U��PAv ���&#x27;����@����ր�\�.�����=��Z?�rx���O�����-h������!??�;����&#x27;����@����ր�\�.�����=��Z?�rx���O�����-h������!??�;���&#xA;�����jY/�߈��g����S��\rc��P��\�.�����=��Z?�rx���O�����-h������!??�;����&#x27;����@����ր�\�.�����=��Z?�rx���O�����-h������!??�;����&#x27;����@����ր&#x2B;�|s�>�&#xA;�s�7�q����|>r�:�5^��?h��.O� �������&lt;]�D&#x27;��x{������w�������Z��&#xA;                                                                  ����B~ �w���k@�.O�    �������&lt;]�D&#x27;��x{������w�������Z��&#xA;                                       ����B~ �w���k@�%��_��5���(�^�{�]궒�r��0���W^&#221933;�kn���t�n&amp;�9�bwR�s��Ett�_�����O�5��!��=V�&#xA;(��&#xA;~.�?V��čdzM����Ş�s�\�ڝ D)��b�I�X�$!ʳ6����We�������/��hK��c�:Z%�0�d���kr�[͇(���$*&#xA;�8�N���V��v:Uռ�#�m|��S�l�m�9�[~��H�n#,��]��(w�/����                           .@&#xA;                             �r.��n�>�B�p�� �|�����5����O&#xD8;��0^k���i����퍼^C���3"��C��Z���x���:�,�?��VM"���^Q�$W�A0[��j4��&#xA;                          w�x�K�-�S&#xA;1U��&amp;�ܣ���I:���4���\�2�sf3���|O�Dk������&lt;[c���߼�Wlgh�mf��L�C�&#x2B;�&#xA;                                                                              �9��?�ޡ��.��xG�V�^ғL��ķz����O��&amp;��@ŝD�Y���$�Pg���u������~��|��t{][�en�-&#x27;��E�!1o$ʈ$n9Fh�t��?k&#x2B;�/��>}C�g��)��C�#T   z�o1������"X#�d��ȍ��� �&amp;��V�&#xA;                                                            ~�A�߅$���SCU��Z��&#x2B;��W��6�&lt;�v��]��6->�O��� $�#��[i��&#x2B;�`��\����,��&lt;��*ֵ�~Κ��˯��z�Z��>e��V��d�P��Pp��(�������&#x27;��7�~�X��n�=������;�.���&#x2B;e���9"v-$X&#x27;&#xA;Y�(-7㞹�|/�sk�e��/�t�kP��5���SAv���]F��ѵ����?�o��)x��q�|eio�/��6�ey�4N�E%F���Y8w��V�>X��w���/�M�׼I���hr[k&amp;�>�q:)�U7rlq�tv�����E��@ݷ���uԾfm���|A���� �|��m�>�۹ߌ&#xA;                                                                             d�~(����_����3��A��_h��*�H~���|��tc8��%��,~�پ.֬���׃u;�/�z;�m�X��wly�&#xA;                                                             ��;B�  U�Y���a�x�����k]^^Ov��k:\������^8�3��yW&#xA;                             ��[��{�&#xA;                                    ��>"�G�u�w�>��3ް�ީ>��=��#K���V���v�v�6wr�M�Z�HbH��9X�(,�Y��$�ܒhJ(��&#xA;(��3�ݯ�[��k�c��nyG���������P�P@P@����,��}�7V��W��tȾ^;o���&#xFB;=�B�&#xA;(��&#xA;(�*��?���&lt;k���z�p@p@p@�_�����o�5��!��=v�&#xa;(��&#xa;(��&gt;5�&#x27;��:��V��ۛ9]�3,L�����Z�u�h    �={�>�O�|�������F�jR%Y�i-Y��L&#xA;���$��>b��g������F��/���}f]CS�h�c�}��$v�K&#xA;                                         gM���x$g���r6���|)�:S�gG���՟�l&lt;)��hzl0"��Epa.��$��C>`s@��e�P†_�_VR�z��l����2?&#xA;��?�ڟ�|5�E��zև�i�t�O^�t�A��d�Y%tB63����2��PK{�[\����^MF����~��&#x2B;��G�G�r,�rB6`��BK&lt;����xk�C���������|�M;Y���.��Ao)/$�ۏ*VV/6�rh�ֿf��7��&#x27;��4tv�����O��Z\�&#x27;;eC.쌢�&#xA;�;�n� x��:g��x��b�ݛ����B��&#xA;                          ����0�-d3C�-��=/���c�~&lt;�k�:�L�[�[%�&#xA;                                                               i�[�H�Q�P�`�|�H�:�>�������[E�n|?o�-6{q��f���n&lt;�{F��#�    =҉X��)9��5�B�Ή�i����m�-B�Q��,�U��on{�T��m�̩)�p��@6ϡ�mGDb�yu����e��%�Il�#�=@�h�μ>&#xA;x[O�]ׅ�c�&#xA;        F�����6�u��ʖ��-��>�?��$�� ?�>�{������j^ ԴI�to&#xA;                                                     i���Y���Cs&#x27;�w�S\� �U;�˱�|t�m��W]&#x2B;ş�&#x2B;�Q�YŎ��[ZNc$��$um���J��o�^�ף��3���M��t4-R&#xA;                                                ߳�ݳ������3�㡠C�&#xFF;����Z�-��y--���i�n.cV��wLG2�DM�&#xA;            �h����U�ŋ�מ����y5ˋ����d�KY��#��&#xBA;Ef�kg���0��f?�o�>נ�|�K�?��g���2ϳE��V\Y�o&#x27;�����,|���@�/�~xs�j���:߀���|˙�༵�ys4L!b%Uto(��w/�&#xA;                                                  @>���&#xCF;�|q�����G����~���X&lt;��&#x27;��6ٜ�ٛ�~��c����_Zjz���>��p�c%̲��#�F89#�-��MR���~ ��F����o�漵�X.ݻ�����|O�➭����~��Z7�$���=��$&#xA;  lvn��&#xA;       S�`&#xA;�Z8Y.����\���&#992730;�����34���U�&#xA;                         �=_P��S�����Hn"h]��xd&#xA;��RD!��ᔂ �WNn���k�}Rk��^MY�*2p�������q�|;�A��i��U{�����i���[�a�����!�&#xA;G&#xFF;������%Q��Z�&amp;�� �5���.��"�|;�A��i��U�����i��[�a�����!�&#xA;G&#xFF;������%Q��Z�&amp;�� �5���.��"�|;�A��i��U�����i��[�a�����&#x27;^!�P@�\���-�ٿ˵�O��X�&lt;����~�m����B�&#xA;(��&#xA;(�&#xA;  �r��Q��>&#xDB;�x��&#x2B;�ݺd_/��f��ݞ��@P@P�x��N����%���&#xA;�=V�&#xA;(��&#xA;(��&#xA;(��&#xA;����Mc�&#x27;�����@�@P@P@�eϟ{�&#x27;�>���,~W���������wo��M1�4�@P@P|�;u�;�l�-g��~V|ݯ�7�ٻ��Р�&#xA;(��&#xA;(?\��%�o�ϰ���?7��7n���m�ٻ�wg�hP@P@P~�s�)�n���~o����3����1�w�m�zР�&#xA;(��&#xA;(>&#xA;  �����7�v�I�?&#x2B;V�y���ۍ����hP@P@��\��7�g�suo��y��L�������;�ڀ4(��&#xA;(��&#xA;�����&lt;��3Ŀ�]�P��@P@P@P@U�X�ɬ|d��3Y����h��&#xA;(��&#xA;(?L���ud�gڼ�����}��17�������?��4(��&#xA;(��&#xA;Ϟ�n�go�͞e��}��ϛ��f��7co3?�@P@P@g�?d������[���^f��"�x�;7��&#xA;(��&#xA;(��&#xA;���~�e#��غ���&#774011;fu���f6n�-��@P@P@g�s�_���f�.�    >��c���3}�q�����&#xA;(��&#xA;(��3�˟�YF�l�n���|�3v�|�vߝ���v{P�P@P@U�?�:���&amp;x��K�*�Z(��&#xA;(��&#xA;(��&#xA;(ʿk�5����&amp;k?�C5z�P@P@g�>}l�W�t��^Vϳ��&amp;���yݿw�4����P@P@�������ٳ̵�O��Y�v�C���f�m��g�hB�&#xA;(��&#xA;(�&#xA;  �r��Q��>&#xDB;�x��&#x2B;�ݺd_/��f��ݞ��@P@P@�����}�W�W��lξ^;����ŷ=�B�&#xA;(��&#xA;(�&#xA;  �.wk��l����&#x27;��y[�Q�o�n6����T�@P@P~�s�K(��a�ռ~o��n�2/����w���jР�&#xA;(��&#xA;(ʼG�&#x27;O�������v�@�@P@P@P@yW�c�&amp;�����g�Hf�U��&#xA;(��&#xA;(�&#xA;  �2�ϽՓ�j�n�?&#x2B;������^�;������Р�&#xA;(��&#xA;hP@P@��\��7�g�suo��y��L�������;�ڀ4(��&#xA;(��&#xA;(?C��]���Ϸb��?7�������}�ٻ��hP@P@���~����X$���&#x2B;s�&lt;�������^��4(��&#xA;(��&#xA;��.~�e��9������ۦE���~vn���@P@P@yW�����ؙ�_�.Ш�h��&#xA;(��9����o�~��.�$ɧژ��m�i��E�(�A�;��=Xt�@Dž>=iZ��΅��&#x27;_Ӵ���|C�&#xA;                                                          U�#{y���[&#xA;�~�,��dP_&#xA;>7�|Z�еK_�~/�|;�Y&amp;�i���B&#xA;                        ��"-7�N�Ԯ� ��o8����I�k�5�ZF�i�k���z7��b]/S�M�����U��ɱ�M�#6Fg��Ɖ�jV�i����T��/�kҬoY�&lt;��%!^DF�bhюԃ�&#xA;�i�h�ȥէ�";��d)                       ?�/�����/&#x27;�mc��&#xA;��0�@# ���6�Ɲkc&lt;wvwq$�oni#`yopaz�?���mc�&#x27;�����@�@p@p@�eϟ{�&#x27;�&gt;���,~W���������wo��M1�4�@P@P|�;u�;�l�-g��~V|ݯ�7�ٻ��Р�&#xA;(��&#xA;(?\��%�o�ϰ���?7��7n���m�ٻ�wg�hP@P@P~�s�)�n���~o����3����1�w�m�zР�&#xA;(��&#xA;(>&#xA;  �����7�v�I�?&#x2B;V�y���ۍ����hP@P@��\��7�g�suo��y��L�������;�ڀ4(��&#xA;(��&#xA;�����&lt;��3Ŀ�]�P��@P@ax���    �^%�&amp;�����y�R�K31&#xA;�,�  P�7����O��Σ��;Q�ރa�YFd��47Y�Q$��VB��#"a�j�L��m㿃^�W�o�_����K�;Q�%ԭ�N�Of��5v&#x2B;m�U��F��������Yk�/���:h��#Oxj�����\���r&#xA;                                      Ko9|�;�&#xA;� ����~7x:�h����}{F6��&#x27;���e{0��H����*r8�z�������]��&#xA;                                                   {[��Y���&#xA;v�����������gg��uo5f��s�����)6T{����o?������������������ӹ��M��z��~��&lt;?�}�����w?�    ���_?������Ͽ��?۠�N���7������~����Y�����ti���&amp;��=|������>����n��;���ǯ��������g������s�@�������?�x����s�?���y��߇�������@���o?�����������������?L�.g�Փ췗^N�&lt;�����ɉ�˟3�s�~���o�hC�N���7������~����Y�����ti���&amp;��=|������>����n��;���ǯ��������g������s�@�������?�x����s�?���y��߇�������@���o?������������������ӹ��M��z��~��&lt;?�}�����w?�   ���_?������Ͽ��?۠&#xA;                       ��˕�����x�f�=����|�W�l��p����4?���y��߇�������@���o?������������������ӹ��M��z��~��&lt;?�}�����w?�   ���_?������Ͽ��?۠�N���7������~����Y�����ti���&amp;��=|������>����n��;���ǯ��������g������s�@�������?�x����s���5˛K(�췖9�&lt;�n�d��2/�q�p�����(C�N���7������~����Y�����ti���&amp;��=|������>����n��;���ǯ��������g������s�@�������?�x����s�?���y��߇�������@���o?������������������ӹ��M��z��~��&lt;?�}�����w?�  ���_?������Ͽ��?۠�N���7������~����Y�����t���7vR?�o/��&lt;ݰǵ�g_�����}�۝������o?������������������ӹ��M��z��~��&lt;?�}�����w?�    ���_?������Ͽ��?۠�N���7������~����Y�����ti���&amp;��=|������>����n��;���ǯ��������g������s�@�������?�x����s�?���y��߇�������@�k�-��[���2&#xA;          ���yN�(ٿ���n1����5hi���&amp;��=|������>����n��;���ǯ��������g������s�@�������?�x����s�?���y��߇�������@���o?������������������ӹ��M��z��~��&lt;?�}�����w?�  ���_?������Ͽ��?۠�N���7������~����Y�����t��k�6�Q��o,s�y&lt;ݰɹ�d_�����;7}�ݝ�P����o?������������������ӹ��M��z��~��&lt;?�}�����w?�    ���_?������Ͽ��?۠�N���7������~����Y�����ti���&amp;��=|������>����n��;���ǯ��������g������s�@�������?�x����s�?���y��߇�������@e���q�S�;�-&amp;�ρ�G!�J3_hyO��̸��&#xA;                           �=v�&#xA;(��&#xA;(��&#xA;M���M"GY�W���e9Rc�J� ���g��5Iu? |?��)aki/4]��g��cx�IRUI\�*=hxS��|}}{�   h^��9���t�md�9��5������>&#x2B;��E���[/�)[�f�O�;���`��p:��]|6���]υ�[�[�Hu�t�Z�5�0���8�4x�᷄|a��ڮ��m[�4��c{����Mjs��矔���ʿk�5����&amp;k?�C5z�P@P@g�>}l�W�t��^Vϳ��&amp;���yݿw�4����P@P@�������ٳ̵�O��Y�v�C���f�m��g�hB�&#xA;(��&#xA;(�&#xA;  �r��Q��>&#xDB;�x��&#x2B;�ݺd_/��f��ݞ��@P@P@�����}�W�W��lξ^;����ŷ=�B�&#xA;(��&#xA;(�&#xA;  �.wk��l����&#x27;��y[�Q�o�n6����T�@P@P~�s�K(��a�ռ~o��n�2/����w���jР�&#xA;(��&#xA;(ʼG�&#x27;O�������v�@�@P@P@P@yW�c�&amp;�����g�Hf�U��&#xA;(��&#xA;(�&#xA;  �2�ϽՓ�j�n�?&#x2B;������^�;������Р�&#xA;(��&#xA;hP@P@��\��7�g�suo��y��L�������;�ڀ4(��&#xA;(��&#xA;(?C��]���Ϸb��?7�������}�ٻ��hP@P@���~����X$���&#x2B;s�&lt;�������^��4(��&#xA;(��&#xA;��.~�e��9������ۦE���~vn���@P@P@yW�����ؙ�_�.Ш�h��&#xA;(��&#xA;(��&#xA;(�*���>2ؙ���&#xA;             ��P@P@��\��}��^M���y[>������v�����@P@P@g�s�_���f�2�y>��g���3m�������&#xA;(��&#xA;(��3�˟�YF�l�n���|�3v�|�vߝ���v{P�P@P@g�w?k������]\G��^^ݳ:�x���&#xA;(��&#xA;(��3�ݯ�[��k�c��nyG���������P�P@P@����,��}�7V��W��tȾ^;o���&#xFB;=�B�&#xA;(��&#xA;(�*��?���&lt;k���z�p@p@p@�_�����o�5��!��=v�&#xa;(��&#xa;...&#xa;<&gt;code>

    &#xA;

    Where is my error ?

    &#xA;