Recherche avancée

Médias (0)

Mot : - Tags -/objet éditorial

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (109)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains 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 ;

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

Sur d’autres sites (14814)

  • WARN : Tried to pass invalid video frame, marking as broken : Your frame has data type int64, but we require uint8

    5 septembre 2019, par Tavo Diaz

    I am doing some Udemy AI courses and came across with one that "teaches" a bidimensional cheetah how to walk. I was doing the exercises on my computer, but it takes too much time. I decided to use Google Cloud to run the code and see the results some hours after. Nevertheless, when I run the code I get the following error " WARN : Tried to pass
    invalid video frame, marking as broken : Your frame has data type int64, but we require uint8 (i.e. RGB values from 0-255)".

    After the code is executed, I see into the folder and I don’t see any videos (just the meta info).

    Some more info (if it helps) :
    I have a 1 CPU (4g), SSD Ubuntu 16.04 LTS

    I have not tried anything yet to solve it because I don´t know what to try. Im looking for solutions on the web, but nothing I could try.

    This is the code

    import os
    import numpy as np
    import gym
    from gym import wrappers
    import pybullet_envs


    class Hp():
       def __init__(self):
           self.nb_steps = 1000
           self.episode_lenght =   1000
           self.learning_rate = 0.02
           self.nb_directions = 32
           self.nb_best_directions = 32
           assert self.nb_best_directions <= self.nb_directions
           self.noise = 0.03
           self.seed = 1
           self.env_name = 'HalfCheetahBulletEnv-v0'


    class Normalizer():
       def __init__(self, nb_inputs):
           self.n = np.zeros(nb_inputs)
           self.mean = np.zeros(nb_inputs)
           self.mean_diff = np.zeros(nb_inputs)
           self.var = np.zeros(nb_inputs)

       def observe(self, x):
           self.n += 1.
           last_mean = self.mean.copy()
           self.mean += (x - self.mean) / self.n
           #abajo es el online numerator update
           self.mean_diff += (x - last_mean) * (x - self.mean)
           #abajo online computation de la varianza
           self.var = (self.mean_diff / self.n).clip(min = 1e-2)  

       def normalize(self, inputs):
           obs_mean = self.mean
           obs_std = np.sqrt(self.var)
           return (inputs - obs_mean) / obs_std

    class Policy():
       def __init__(self, input_size, output_size):
           self.theta = np.zeros((output_size, input_size))

       def evaluate(self, input, delta = None, direction = None):
           if direction is None:
               return self.theta.dot(input)
           elif direction == 'positive':
               return (self.theta + hp.noise * delta).dot(input)
           else:
               return (self.theta - hp.noise * delta).dot(input)

       def sample_deltas(self):
           return [np.random.randn(*self.theta.shape) for _ in range(hp.nb_directions)]

       def update (self, rollouts, sigma_r):
           step = np.zeros(self.theta.shape)
           for r_pos, r_neg, d in rollouts:
               step += (r_pos - r_neg) * d
           self.theta += hp.learning_rate / (hp.nb_best_directions * sigma_r) * step


    def explore(env, normalizer, policy, direction = None, delta = None):
       state = env.reset()
       done = False
       num_plays = 0.
       #abajo puede ser promedio de las rewards
       sum_rewards = 0
       while not done and num_plays < hp.episode_lenght:
           normalizer.observe(state)
           state = normalizer.normalize(state)
           action = policy.evaluate(state, delta, direction)
           state, reward, done, _ = env.step(action)
           reward = max(min(reward, 1), -1)
           #abajo sería poner un promedio
           sum_rewards += reward
           num_plays += 1
       return sum_rewards

    def train (env, policy, normalizer, hp):
       for step in range(hp.nb_steps):
           #iniciar las perturbaciones deltas y los rewards positivos/negativos
           deltas = policy.sample_deltas()
           positive_rewards = [0] * hp.nb_directions
           negative_rewards = [0] * hp.nb_directions
           #sacar las rewards en la dirección positiva
           for k in range(hp.nb_directions):
               positive_rewards[k] = explore(env, normalizer, policy, direction = 'positive', delta = deltas[k])
           #sacar las rewards en dirección negativo
           for k in range(hp.nb_directions):
               negative_rewards[k] = explore(env, normalizer, policy, direction = 'negative', delta = deltas[k])
           #sacar todas las rewards para sacar la desvest
           all_rewards = np.array(positive_rewards + negative_rewards)
           sigma_r = all_rewards.std()
           #acomodar los rollauts por el max (r_pos, r_neg) y seleccionar la mejor dirección
           scores = {k:max(r_pos, r_neg) for k, (r_pos, r_neg) in enumerate(zip(positive_rewards, negative_rewards))}
           order = sorted(scores.keys(), key = lambda x:scores[x])[:hp.nb_best_directions]
           rollouts = [(positive_rewards[k], negative_rewards[k], deltas[k]) for k in order]
           #actualizar policy
           policy.update (rollouts, sigma_r)
           #poner el final reward del policy luego del update
           reward_evaluation = explore (env, normalizer, policy)
           print('Paso: ', step, 'Lejania: ', reward_evaluation)

    def mkdir(base, name):
       path = os.path.join(base, name)
       if not os.path.exists(path):
           os.makedirs(path)
       return path
    work_dir = mkdir('exp', 'brs')
    monitor_dir = mkdir(work_dir, 'monitor')

    hp = Hp()
    np.random.seed(hp.seed)
    env = gym.make(hp.env_name)
    env = wrappers.Monitor(env, monitor_dir, force = True)
    nb_inputs = env.observation_space.shape[0]
    nb_outputs = env.action_space.shape[0]
    policy = Policy(nb_inputs, nb_outputs)
    normalizer = Normalizer(nb_inputs)
    train(env, policy, normalizer, hp)
  • Nodejs couldn't find the ffmpeg module for some reason

    29 décembre 2020, par Chawchawchaw

    I need to display the live streaming vidoe(rtsp) on a website(http, vue framework) with nodejs and vue framework.

    


    I've looked it up a lot and got the basic logic of what they are and how it works.
So I'm planning on to convert rtsp to hls with nodejs using socket.io and display it on a web.(let me know if there's more efficient way way to do it)

    


    The thing is, for some reason, when I try to develop it in my backend(nodejs), node just keep sends me an error that FFMpeg module wasn't found. It's been over a week.. please help.

    


    Btw, all works with ffmpeg cmd(window powerShell).

    


    How I set up(ffmpeg) :

    


      

    1. downloaded ffmpeg from https://ffmpeg.org/

      


    2. 


    3. added to system path : C :\Users\Marie\Desktop\ffmpeg-4.3.1-2020-11-19-full_build\bin

      


    4. 


    5. tested with window powerShell and converted rstp to m3u8 :

      


      ffmpeg -i 'rtsp ://ip.ip.ip/media/video1' -hls_time 3 -hls_wrap 10 'C :\Users\Marie\Desktop\tmp\hls/streaming.m3u8'

      


    6. 


    


    below is a screen shot of no. 3 result
enter image description here

    



    


    how I set up(nodejs)

    


      

    1. npm i ffmpeg fluent-ffmpeg rtsp-ffmpeg
    2. 


    3. I've just copied and pasted the example working code and changed rtsp link to mine. e.g : (https://www.npmjs.com/package/rtsp-ffmpeg)
    4. 


    


    => didn't work out, error says can't find ffmpeg module

    


      

    1. set up path manually e.g.) ffmpeg.setFfmpegPath(path)
    2. 


    


    => didn't work out. error says can't find ffmpeg module

    


    ...
I've seriously tried almost everything like delete, re-install ffmpeg, changed path, added path manyally, .. Please help....

    


    Edited :
package.json

    


    {
  "name": "streaming",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node app.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1",
    "ffmpeg": "0.0.4",
    "fluent-ffmpeg": "^2.1.2",
    "jsmpeg": "^1.0.0",
    "node-media-server": "^2.2.4",
    "node-onvif": "^0.1.7",
    "node-rtsp-stream": "0.0.9",
    "rtsp-ffmpeg": "0.0.15",
    "socket.io": "^3.0.4",
    "ws": "^7.4.1"
  }
}


    


    app.js

    


    const Stream = require('node-rtsp-stream')

// let path = 'C:/Users/Marie/Desktop/ffmpeg-4.3.1-2020-11-19-full_build/bin/ffmpeg.exe'
// let path = 'C:/Users/Marie/Desktop/ffmpeg-4.3.1-2020-11-19-full_build/bin/'
let path = 'C:/Users/Marie/Desktop/ffmpeg-4.3.1-2020-11-19-full_build/bin'
const ffmpeg = require('fluent-ffmpeg')

ffmpeg.setFfmpegPath(path)

stream = new Stream({
  name: 'name',
  streamUrl: 'rtsp://ip.ip.ip.ip/media/video1',
  wsPort: 9999,
  ffmpegOptions: { // options ffmpeg flags
    '-stats': '', // an option with no neccessary value uses a blank string
    '-r': 30 // options with required values specify the value after the key
  }
})


    


    Error : spawn ffmpeg ENOENT

    


    app.js (for another test)

    


    const app = require( 'express' )(),
    server = require( 'http' ).Server( app ),
    io = require( 'socket.io' )( server ),
    rtsp = require( 'rtsp-ffmpeg' )

process.env.FFMPEG_PATH = 'C:/Users/Marie/Desktop/ffmpeg-4.3.1-2020-11-19-full_build/bin/ffmpeg.exe'
// console.log( rtsp.FFMpeg )

server.listen( 6147 )
var uri = 'rtsp://ip.ip.ip.ip/media/video1',
    stream = new rtsp.FFMpeg( { input: uri } )
io.on( 'connection', function ( socket )
{
    var pipeStream = function ( data )
    {
        socket.emit( 'data', data.toString( 'base64' ) )
    }
    stream.on( 'data', pipeStream )
    socket.on( 'disconnect', function ()
    {
        stream.removeListener( 'data', pipeStream )
    } )
} )
app.get( '/', function ( req, res )
{
    res.sendFile( __dirname + '/index.html' )
} )


    


    error :
FMpeg executable wasn't found. Install this package and check FFMpeg.cmd property

    


    nodejs version = 10.16.3

    


  • Flutter_ffmpeg : At least one output file must be specified

    22 mars 2020, par Jehonadab Okpukoro

    I’m trying to crop a video with Flutter_ffmpeg package using this -i $inputPath -filter:v "crop=80:60:200:100" -c $outputPath, but I’m having this error message

    Running FFmpeg with arguments: [-i, /data/user/0/com.timz/app_flutter/Movies/flutter_test/1584827688309.mp4, -filter:v, crop=80:60:200:100, -c, /data/user/0/com.timz/cache/output.mp4].
    I/flutter (20728): ffmpeg version git-2020-01-25-fd11dd500
    I/flutter (20728):  Copyright (c) 2000-2020 the FFmpeg developers
    I/flutter (20728):
    I/flutter (20728):   built with Android (5220042 based on r346389c) clang version 8.0.7 (https://android.googlesource.com/toolchain/clang b55f2d4ebfd35bf643d27dbca1bb228957008617) (https://android.googlesource.com/toolchain/llvm 3c393fe7a7e13b0fba4ac75a01aa683d7a5b11cd) (based on LLVM 8.0.7svn)
    I/flutter (20728):   configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang++ --target-os=android --enable-neon --enable-asm --enable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --disable-v4l2-m2m --disable-outdev=v4l2 --disable-outdev=fbdev --disable-indev=v4l2 --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disa
    I/flutter (20728):   libavutil      56. 38.100 / 56. 38.100
    I/flutter (20728):   libavcodec     58. 65.102 / 58. 65.102
    I/flutter (20728):   libavformat    58. 35.101 / 58. 35.101
    I/flutter (20728):   libavdevice    58.  9.103 / 58.  9.103
    I/flutter (20728):   libavfilter     7. 70.101 /  7. 70.101
    I/flutter (20728):   libswscale      5.  6.100 /  5.  6.100
    I/flutter (20728):   libswresample   3.  6.100 /  3.  6.100
    I/flutter (20728): Trailing option(s) found in the command: may be ignored.
    D/flutter-ffmpeg(20728): FFmpeg exited with rc: 1
    I/flutter (20728): Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/data/user/0/com.timz/app_flutter/Movies/flutter_test/1584827688309.mp4':
    I/flutter (20728):   Metadata:
    I/flutter (20728):     major_brand     :
    I/flutter (20728): mp42
    I/flutter (20728):
    I/flutter (20728):     minor_version   :
    I/flutter (20728): 0
    I/flutter (20728):
    I/flutter (20728):     compatible_brands:
    I/flutter (20728): isommp42
    I/flutter (20728):
    I/flutter (20728):     creation_time   :
    I/flutter (20728): 2020-03-21T21:54:56.000000Z
    I/flutter (20728):
    I/flutter (20728):     com.android.version:
    I/flutter (20728): 9
    I/flutter (20728):
    I/flutter (20728):   Duration:
    I/flutter (20728): 00:00:07.17
    I/flutter (20728): , start:
    I/flutter (20728): 0.000000
    I/flutter (20728): , bitrate:
    I/flutter (20728): 3870 kb/s
    I/flutter (20728):
    I/flutter (20728):     Stream #0:0
    I/flutter (20728): (eng)
    I/flutter (20728): : Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709), 720x480, 3854 kb/s
    I/flutter (20728): , SAR 1:1 DAR 3:2
    I/flutter (20728): ,
    I/flutter (20728): 29.44 fps,
    I/flutter (20728): 29.83 tbr,
    I/flutter (20728): 90k tbn,
    I/flutter (20728): 180k tbc
    I/flutter (20728):  (default)
    I/flutter (20728):
    I/flutter (20728):     Metadata:
    I/flutter (20728):       rotate          :
    I/flutter (20728): 270
    I/flutter (20728):
    I/flutter (20728):       creation_time   :
    I/flutter (20728): 2020-03-21T21:54:56.000000Z
    I/flutter (20728):
    I/flutter (20728):       handler_name    :
    I/flutter (20728): VideoHandle
    I/flutter (20728):
    I/flutter (20728):     Side data:
    I/flutter (20728):      
    I/flutter (20728): displaymatrix: rotation of 90.00 degrees
    I/flutter (20728):
    I/flutter (20728):     Stream #0:1
    I/flutter (20728): (eng)
    I/flutter (20728): : Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 12 kb/s
    I/flutter (20728):  (default)
    I/flutter (20728):
    I/flutter (20728):     Metadata:
    I/flutter (20728):       creation_time   :
    I/flutter (20728): 2020-03-21T21:54:56.000000Z
    I/flutter (20728):
    I/flutter (20728):       handler_name    :
    I/flutter (20728): SoundHandle
    I/flutter (20728):
    I/flutter (20728): At least one output file must be specified

    I’ve been cracking my head with this for the past two days, kindly share your thoughts on what might wrong.