Recherche avancée

Médias (91)

Autres articles (39)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

Sur d’autres sites (6215)

  • Decoding the h.264 stream from a COM port

    18 mars, par Peter

    I would like to know if there is a reliable way to decode an H.264 NAL stream coming through a serial port using software.

    


    So far, I have managed to decode a single frame using a python script. In this script, I first write the incoming data to a file, and when the end-of-frame marker 00_00_00_01 appears, I display the frame using ffplay.

    


    import serial
import subprocess
import os
import time

ser = serial.Serial('COM3', 115200, timeout=1)
output_file = "output.264"

# Variable to store the ffplay process
ffplay_process = None

# Open the file for writing in binary mode
with open(output_file, "wb") as file:

    print("Writing bytes to output.264. Waiting for the end-of-frame marker 0x00000001.")

    buffer = bytearray()
    marker = b'\x00\x00\x00\x01'

    try:
        while True:
            if ser.in_waiting:  # If there is data in the buffer
                data = ser.read(ser.in_waiting)  # Read all available bytes
                buffer.extend(data)

                # Check if the end-of-frame marker is in the buffer
                while marker in buffer:
                    index = buffer.index(marker) + len(marker)  # Position after the marker
                    frame = buffer[:index]  # Extract the frame
                    buffer = buffer[index:]  # Keep the remaining data

                    print(f"Frame recorded: {len(frame)} bytes")
                    file.write(frame)  # Write the frame to the file
                    file.flush()  # Force writing to disk

                    # Close the ffplay window if it is already open
                    if ffplay_process and ffplay_process.poll() is None:
                        ffplay_process.terminate()
                        ffplay_process.wait()  # Wait for the process to terminate

                    # Play the recorded frame, reopening the window
                    ffplay_process = subprocess.Popen(["ffplay", "-f", "h264", "-i", output_file])

    except KeyboardInterrupt:
        print("\nRecording stopped.")
    finally:
        # Close the serial port and the ffplay process
        ser.close()


    


    However, each time a new end-of-frame marker is detected, the ffplay window closes and reopens to show the next frame. It will flicker when transferring the video. Is there a way to display the frames in the same window for seamless playback when streaming video ?

    


    Or is there a better approach or software that is more suited for this task ? I do not know where to start, so I will be glad for any hints.

    


  • python imageio.get_reader() returns odd exception

    17 août 2020, par tristan_jia
    import imageio

reader = imageio.get_reader("./t.mp4")


    


    As shown above, with python 3.6.10, it returns :

    


    >>> reader = imageio.get_reader("../")&#xA;Traceback (most recent call last):&#xA;  File "<stdin>", line 1, in <module>&#xA;  File "/home/tristan_jia/workspace/py3.6/venv/lib/python3.6/site-packages/imageio/core/functions.py", line 129, in get_reader&#xA;    return format.get_reader(request)&#xA;  File "/home/tristan_jia/workspace/py3.6/venv/lib/python3.6/site-packages/imageio/core/format.py", line 168, in get_reader&#xA;    return self.Reader(self, request)&#xA;  File "/home/tristan_jia/workspace/py3.6/venv/lib/python3.6/site-packages/imageio/core/format.py", line 217, in __init__&#xA;    self._open(**self.request.kwargs.copy())&#xA;  File "/home/tristan_jia/workspace/py3.6/venv/lib/python3.6/site-packages/imageio/plugins/ffmpeg.py", line 357, in _open&#xA;    self._initialize()&#xA;  File "/home/tristan_jia/workspace/py3.6/venv/lib/python3.6/site-packages/imageio/plugins/ffmpeg.py", line 430, in _initialize&#xA;    shell=ISWIN)&#xA;  File "/usr/lib64/python3.6/subprocess.py", line 729, in __init__&#xA;    restore_signals, start_new_session)&#xA;  File "/usr/lib64/python3.6/subprocess.py", line 1364, in _execute_child&#xA;    raise child_exception_type(errno_num, err_msg, err_filename)&#xA;OSError: [Errno 8] Exec format error: &#x27;/home/tristan_jia/.imageio/ffmpeg/ffmpeg-linux64-v3.3.1&#x27;&#xA;&#xA;</module></stdin>

    &#xA;

    I searched everywhere but haven't seen any similar questions. The script runs on Opensuse Leap 15.1, is it related to the system I use ?

    &#xA;

  • FFmpeg returns' Output must be specified' when it has been acknowledged

    28 juillet 2019, par Syed Shah

    Here’s my command in python :

    ffmpeg -i concat:803.ts|804.ts|805.ts -c copy output.ts

    When I run the command it opens the output but it doesn’t save the file to the directory.
    I run the command in FFmpeg and it gave the same result - it opened the output but it gave me this error at the end :

    At least one output file must be specified

    I don’t understand what I did wrong as I specified the output clearly, I already checked for solutions but most of them are suited to OP’s needs