
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (66)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Amélioration de la version de base
13 septembre 2013Jolie 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 (...)
Sur d’autres sites (9512)
-
Shutil not detecting ffmpeg module and python3 incorrectly, all when compiled with pyinstaller
9 juin 2021, par vanillaRight now I am almost finished with my version of my app. The last thing I am having trouble with is detecting the FFmpeg module, to warn users that they need it for certain features that have been added this version. When I run the script through my python interpreter in terminal, which the directories of it is in my library frameworks directory, The
shutil
will run as expected and return the version or whatever as I do have it installed. However, when I compile it and launch specifically the one windowed, with no console output, it doesn’t work. Now what I mean by that it returns none type.

From talking to someone in my previous Reddit thread I tried printing out
python3
and seeing what directories that would bring withshutil.which(‘python3’)
. Interesting enough, when put into my tkinter text field (don't have a console) it would bring up my python binary from the directory/usr/bin/python3
. The one I have all my modules for it and everything installed on is the one :

>>> import shutil
>>> print(shutil.which('python3'))
/Library/Frameworks/Python.framework/Versions/3.9/bin/python3



So we can see that there are to installations or whatever of python3 interpreters (I believe I am saying this right), and I am confused on maybe I am being hinted to use the python3 binary from /usr/bin/ to compile it with pyinstaller and install the needed modules with /usr/bin/pip3 with it ?


A user from the reddit thread I made below made a alternative :




I tested it on my computer after fixing a bug, and both the shutil and os methods work. It seems to be a problem on your end, which is strange. What version of Python do you have ? Also in your script right above testing for ffmpeg, try inserting this line :
print('ffmpeg' in os.listdir('/usr/local/bin'))




This other method with
os
unfortunately returned a None as well. I am ultimately trying to have some kind of method to reliably detect ffmpegs's binary on all operating systems. If anyone can provide some insight as to what may cause problems similar to these or knows other solutions, or can identify some kind of hiccup I can avoid that would be amazing.

I have a hunch since
shutil
when compiled returned the bin directory for python3 instead of the framework one that actually has all the modules installed, that could mean something to me to try using pyinstaller with that one instead ?

Thanks !


https://www.reddit.com/r/learnpython/comments/nu3a1d/functionallity_supposedly_of_shutilwhichffmpeg/


-
How to receive byte-stream by using gstreamer with python subprocess module or gst-launch-1.0 command ?
21 avril 2022, par yuniversiI want to receive byte-stream by using gstreamer with python subprocess module.
Now I can successfully use ffmpeg to pull the byte-stream. As shown below.


import cv2
import subprocess as sp


height = 714
width = 420
rtsp_url = 'rtsp://127.0.0.1:8554/video'

# command
command = ['ffmpeg',
 '-i', rtsp_url,
 '-f', 'rawvideo',
 '-s',str(width)+'*'+str(height),
 '-pix_fmt', 'bgr24',
 '-fflags', 'nobuffer',
 '-']

p = sp.Popen(command, stdout=sp.PIPE, bufsize=10**8)

while True:
 raw_image = p.stdout.read(width*height*3)
 image = np.fromstring(raw_image, dtype='uint8')
 image = image.reshape((height,width,3)).copy()
 cv2.imshow('image', image)
 key = cv2.waitKey(20)



I want to use gstreamer command instead of ffmpeg. So far, I have realized writing byte-stream to a file by using gstreamer command line.


gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8554/video latency=0 drop-on-latency=true ! rtph264depay ! video/x-h264, stream-format='byte-stream' ! filesink location=/home/name/stdout



But it can't output byte-stream to pipe, so the terminal dosen't display byte-stream, not like ffmpeg command. How to change this command to output byte-stream through pipe so I can read from pipe.
Thank you for taking the time to answer for me !


This is RTSP streaming code.


import cv2
import time
import subprocess as sp
import numpy as np


rtsp_url = 'rtsp://127.0.0.1:8554/video'
video_path = r'test.mp4'
cap = cv2.VideoCapture(video_path)

# Get video information
fps = int(cap.get(cv2.CAP_PROP_FPS))
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print('fps={}'.format(fps))

# command
command = ['ffmpeg',
 '-re',
 '-y',
 '-stream_loop', '-1',
 '-f', 'rawvideo',
 '-vcodec', 'rawvideo',
 '-pix_fmt', 'bgr24',
 '-s', "{}x{}".format(width, height),
 '-r', str(fps),
 '-i', '-',
 '-c:v', 'libx264',
 '-pix_fmt', 'yuv420p',
 '-preset', 'ultrafast',
 # '-flags2', 'local_header',
 '-bsf:v', "'dump_extra=freq=k'", 
 '-keyint_min', '60',
 '-g', '60',
 '-sc_threshold', '0', 
 '-f', 'rtsp',
 '-rtsp_transport', 'tcp',
 '-muxdelay', '0.1', 
 rtsp_url]

p = sp.Popen(command, stdin=sp.PIPE)

cnt = 0
t_start = time.time()
while (cap.isOpened()):
 t_cur = time.time()-t_start

 ret, frame = cap.read()
 if not ret:
 cnt += 1
 print("count: {}".format(cnt))
 cap = cv2.VideoCapture(video_path)
 continue

 p.stdin.write(frame.tobytes())

 cv2.imshow('real_time', frame)

 key = cv2.waitKey(20)
 if key == 27:
 p.terminate()
 break



-
sent file using axios using passthrough stream module in nodejs
12 août 2022, par Harikrushna PatelImports


const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path;
const FfmpegCommand = require('fluent-ffmpeg');
const fs = require('fs');
const path = require('path');
const streamNode = require('stream');
const FormData = require('form-data');
const axios = require('axios').default;



Code here


async function audios() {
 let stream = fs.createReadStream(path.join(__dirname, '../videos/video.mp4'));
 let writeStream = fs.createWriteStream(path.join(__dirname, '../response/audios/' + +new Date() + '.wav'));
 let pass = new streamNode.PassThrough();
 let outputFile = path.join(__dirname, '../response/audios/' + +new Date() + '.wav');
 const ffmpeg = FfmpegCommand(file);

 ffmpeg
 .setFfmpegPath(ffmpegPath)
 .format('mp4')
 .toFormat('wav')
 .on('end', function () {
 console.log('file has been converted successfully');
 })
 .on('error', function (err, stdout, stderr) {
 console.log('an error happened: ' + err.message);
 console.log('ffmpeg stdout: ' + stdout);
 console.log('ffmpeg stderr: ' + stderr);
 })
 .on('end', function() {
 console.log('Processing finished !');
 })
 .stream(pass, { end: false })
 var bodyFormData = new FormData();
 bodyFormData.append('file', pass);
 let headers = bodyFormData.getHeaders(); 

 try {
 const jdata = await axios.post('http://localhost:4080/video',bodyFormData, { maxContentLength: Infinity,
 maxBodyLength: Infinity,validateStatus: (status) => true ,headers:headers });
 console.log(jdata.data);
 } catch (error) {
 console.log("error" ,error.message);
 }

}



I am getting errors to sent passthrough stream through formdata ;
issue is ffmpeg not creating readstrem so I am created passthrough from it and passed in formdata but not working right now