Recherche avancée

Médias (1)

Mot : - Tags -/artwork

Autres articles (93)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (5078)

  • Trouble Executing ffprobe Binary in Node.js on Local Machine

    19 août 2023, par dzul.stellar

    I'm facing an issue executing the ffprobe binary within a Node.js script on my local machine. I have a Node.js script that uses the fluent-ffmpeg library to extract video metadata using ffprobe. While I can execute the ffprobe binary directly from my terminal and retrieve the expected output, I'm encountering issues when attempting to run it within my Node.js script.

    


    Project Structure :

    


    project-root/
├── assets/
│   └── video.mp4
├── node_modules/
├── src/
│   └── index.js
├── layers/
│   └── ffmpeg/
│       └── ffprobe   <-- This is the binary I'm trying to execute
├── package.json
├── package-lock.json


    


    Example Code :

    


    const { exec } = require('child_process');
const binaryPath = './layers/ffmpeg/ffprobe';

exec(binaryPath, (error, stdout, stderr) => {
    if (error) {
        console.error(`Error: ${error.message}`);
        return;
    }

    console.log('Command executed successfully');
    console.log('stdout:', stdout);
    console.error('stderr:', stderr);
});


    


    Error Message :

    


    Error: Command failed: ./layers/ffmpeg/ffprobe
./layers/ffmpeg/ffprobe: ./layers/ffmpeg/ffprobe: cannot execute binary file


    


    Troubleshooting :

    


      

    1. Ensured that the ffprobe binary has executable permissions using chmod +x.
    2. 


    3. Verified that the architecture of the ffprobe binary is arm64, which matches my local system.
    4. 


    5. Checked that the path to the binary is correct and doesn't contain special characters.
    6. 


    7. Tested the basic execution of ffprobe using the exec function, but it still fails.
    8. 


    



    


    I've tried various troubleshooting steps, including verifying permissions, checking the architecture, and testing basic execution. Despite these efforts, I'm still unable to execute the ffprobe binary within the Node.js environment. I expected the script to successfully run the ffprobe binary and provide the expected output, just like when I run the binary directly from the terminal.

    


    Could anyone provide insights into why the ffprobe binary fails to execute within the Node.js environment, even though it works perfectly when executed from the terminal ? Are there any additional considerations I might be missing ?

    


    Thank you for your help !

    


  • Background transparency lost on new machine using matplotlib and ffmpeg

    23 octobre 2023, par Jan Turowski

    I am creating animated physics graphs with a transparent background for later use in a NLE. On my old machine at work they display and render with background transparency just fine. The exact same code however loses background transparency in the ffmpeg render on both my Linux and my Windows machine at home. The animations are displayed just fine on all machines.

    


    As I first thought it was a Linux issue, I tried to run the code on my Windows machine expecting it to work again. Unfortunately it did not.

    


    Reduced code :

    


    import numpy as np
import matplotlib.pylab as plt
from matplotlib.animation import FuncAnimation
import matplotlib.animation as animation
from matplotlib.pyplot import figure
from matplotlib import style
import locale
from matplotlib.ticker import (MultipleLocator, AutoMinorLocator)
# Set to German locale to get comma decimal separater
locale.setlocale(locale.LC_NUMERIC, "de_DE")
# Tell matplotlib to use the locale we set above
plt.rcParams['axes.formatter.use_locale'] = True

# plt.clf()
# plt.rcdefaults()

# Style und Font definieren

style.use('dark_background')

# Pfeile erstellen
def arrowed_spines(fig, ax):

    xmin, xmax = ax.get_xlim()
    ymin, ymax = ax.get_ylim()

    # removing the default axis on all sides:
    for side in ['bottom','right','top','left']:
        ax.spines[side].set_visible(False)

    # removing the axis ticks
    # plt.xticks([]) # labels
    # plt.yticks([])
    # ax.xaxis.set_ticks_position('none') # tick markers
    # ax.yaxis.set_ticks_position('none')

    # get width and height of axes object to compute
    # matching arrowhead length and width
    dps = fig.dpi_scale_trans.inverted()
    bbox = ax.get_window_extent().transformed(dps)
    width, height = bbox.width, bbox.height

    # manual arrowhead width and length
    hw = 1./20.*(ymax-ymin)
    hl = 1./20.*(xmax-xmin)
    lw = 1. # axis line width
    ohg = 0.3 # arrow overhang

    # compute matching arrowhead length and width
    yhw = hw/(ymax-ymin)*(xmax-xmin)* height/width
    yhl = hl/(xmax-xmin)*(ymax-ymin)* width/height

    # draw x and y axis
    ax.arrow(xmin, 0, xmax-xmin, 0., fc='w', ec='w', lw = lw,
             head_width=hw, head_length=hl, overhang = ohg,
             length_includes_head= True, clip_on = False)

    ax.arrow(0, ymin, 0., ymax-ymin, fc='w', ec='w', lw = lw,
             head_width=yhw, head_length=yhl, overhang = ohg,
             length_includes_head= True, clip_on = False)

# Meine easing-Funktion
def ease(n):
    if n < 0.0:
        return 0
    elif n > 1.0:
        return 1
    else:
        return 3*n**2-2*n**3

# Meine Floor/Warte Funktion
def wait(n):
    if n < 0.0:
        return 0
    else:
        return n

# Canvas erstellen
fig = plt.figure()
ax = fig.add_subplot(111)
fig.set_size_inches([8,9])

def f(x):
    return -0.05*x**2+125
xlin = np.linspace(0,60,100)


# Beschriftung und Optik

plt.xlabel(r"$x$ in $\rm{m}$", horizontalalignment='right', x=1.0)
plt.ylabel(r"$y$ in $\rm{m}$", horizontalalignment='right', y=1.0)
ax.set_xlim(0,100)
ax.set_ylim(0,139)
plt.grid(alpha=.4)
plt.xticks(np.arange(0, 100, 20))
plt.yticks(np.arange(0, 140, 20))
ax.yaxis.set_minor_locator(MultipleLocator(10))
ax.xaxis.set_minor_locator(MultipleLocator(10))
ax.tick_params(axis='x', direction = "inout", length= 10.0, which='both', width=3)
ax.tick_params(axis='y', direction = "inout", length= 10.0, which='both', width=3)


xsub = np.array([0])

# statische Linien definieren
line2, = ax.plot(xsub,f(xsub),linewidth=5,zorder=0,c = 'b')
arrowed_spines(fig, ax)
plt.tight_layout()

# Linien animieren
def animate(i):

    xsub = xlin[0:wait(i-20)]
    global line2
    line2.remove()
    line2, = ax.plot(xsub, f(xsub), linewidth=5, zorder=0,c = "b")
    plt.tight_layout()

animation = FuncAnimation(fig, animate, np.arange(0, 130, 1), interval=100)

plt.show()

# animation.save(r"YOUR\PATH\HERE\reduced_x-y.mov", codec="png",
         dpi=100, bitrate=-1,
         savefig_kwargs={'transparent': True, 'facecolor': 'none'})



    


  • machine hangs during ffmpeg command execution [closed]

    15 décembre 2023, par Tejas

    I'm running this ffmpeg command that does multiple trims on input video and concats those trims to generate output.

    


    ffmpeg -i https://d8r14y803bnlk.cloudfront.net/usetldr/2736037/u/796/st/5a919413ff884892bbfffcd0671687a9/p/67c1a16438bf4bb78b785557f4cef7ef/OJx1SIKTNbbGHmQfKT4C_render.mp4 -filter_complex "[0:v:0]trim=start=0.0:end=4.289,setpts=PTS-STARTPTS,format=yuva420p[0v];[0:v:0]trim=start=4.84:end=1034.7,setpts=PTS-STARTPTS,format=yuva420p[1v];[0v][1v]concat=n=2:v=1:a=0" -crf 18 -an -preset ultrafast -y /tmp/8TZeqB3Z6h.mp4


    


    This command works fine on my M1 mac but hangs EC2 instances (c5.4xlarge).

    


    I'm using ffmpeg version 6.1-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2023 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) on EC2.

    


    Any idea why this could be happening ?