
Recherche avancée
Autres articles (57)
-
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras. -
Problèmes fréquents
10 mars 2010, parPHP et safe_mode activé
Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site -
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)
Sur d’autres sites (5931)
-
Unable to send image to ffmpeg stdin from QProcess
4 décembre 2019, par Go0odIt not writing png file. I want to save central widget to png file. I have 2 files, one is main file and second one is ui file. Link has ui file.
Getting error code :
QWindowsPipeWriter::write failed. (The handle is invalid.)
main.py
import sys
from PyQt5.QtWidgets import QWidget
from PyQt5 import QtCore, QtGui, QtWidgets
from green import Ui_MainWindow
class MyWindow(QtWidgets.QMainWindow, Ui_MainWindow, QWidget):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
self.widger_screen()
def widger_screen(self):
self.process = QtCore.QProcess(app)
self.process.setProcessChannelMode(self.process.ForwardedChannels)
self.process.setOpenMode(self.process.WriteOnly)
self.process.start('ffmpeg',
['-y',
'-analyzeduration', '1000',
'-vcodec', 'png', '-i', '-',
'-vcodec', 'mpeg4',
'-qscale', '5', '-r', '24', 'video.avi',
"-loglevel", "debug"])
for i in range(100):
QWidget.grab(self.centralwidget).save(self.process, "PNG")
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_()) -
How to send hevc bitstream to ffplay using PIPE on windows ?
15 mai 2020, par Yusw_SJTUI have a C program that timed to generate hevc bitstreams, and I try to put the latest NALU to stdout like this :



fwrite(nalu, sizeof(unsigned char),nalu_size, stdout);
fflush(stdout);




And then use
myprogram.exe | ffplay -i -
to play the bitstream. But it doesn't work. The program will block, and finally get ffplay error :


[hevc @ 000002de9f2af200] vps_reserved_ffff_16bits is not 0xffff0
[hevc @ 000002de9f2af200] VPS 0 does not exist
[hevc @ 000002de9f2af200] SPS 0 does not exist.
[hevc @ 000002de9f2af200] PPS id out of range: 0
[hevc @ 000002de9f2af200] vps_reserved_ffff_16bits is not 0xffff
[hevc @ 000002de9f2af200] VPS 0 does not exist
[hevc @ 000002de9f2af200] SPS 0 does not exist.
[hevc @ 000002de9f2af200] PPS id out of range: 0
[hevc @ 000002de9f2af200] Error parsing NAL unit #4.
[hevc @ 000002de9f29c580] decoding for stream 0 failed
[hevc @ 000002de9f29c580] Could not find codec parameters for stream 0 (Video: hevc, none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, hevc, from 'pipe:':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: hevc, none, 25 tbr, 1200k tbn, 25 tbc
[hevc @ 000002de9f2b0800] vps_reserved_ffff_16bits is not 0xffff
[hevc @ 000002de9f2b0800] vps_reserved_ffff_16bits is not 0xffff0
[hevc @ 000002de9f2b0800] VPS 0 does not exist
[hevc @ 000002de9f2b0800] SPS 0 does not exist.
[hevc @ 000002de9f2b0800] PPS id out of range: 0
[hevc @ 000002de9f2b0800] Error parsing NAL unit #4.




But if I write data to a file and use fflpay to play it, it works fine. I don't know what's wrong.


-
Send video as Buffer to Telegram
28 décembre 2022, par AMIR NYNHello to all !
I use telegraf package for my telegram bot. I have a simple command that, when sent to my Telegram bot, combines a YouTube video with its separate audio file through the ffmpeg package in child_process channels and dumps the output into an array of buffers. When the process is finished, the final file is sent to Telegram through the sendVideo method :


const tracker = {
 start: Date.now(),
 audio: {downloaded: 0, total: Infinity},
 video: {downloaded: 0, total: Infinity},
 };

 const video = ytdl(id, {filter: 'videoonly', quality: String(itag)})
 .on('progress', (_: any, downloaded: any, total: any) => {
 tracker.video = {downloaded, total};
 });
 const audio = ytdl(id, {filter: 'audioonly', quality: 'highestaudio'})
 .on('progress', (_: any, downloaded: any, total: any) => {
 tracker.audio = {downloaded, total};
 });

 const ffmpegProcess = cp.spawn(ffmpeg, [
 // Remove ffmpeg's console spamming
 '-loglevel', '0', '-hide_banner',
 '-i', 'pipe:3',
 '-i', 'pipe:4',
 '-c:v', 'libx265', '-x265-params', 'log-level=0',
 '-c:a', 'flac',
 // Define output container
 '-f', 'matroska', 'pipe:5',
 ], {
 windowsHide: true,
 stdio: [
 /* Standard: stdin, stdout, stderr */
 'inherit', 'inherit', 'inherit',
 /* Custom: pipe:3, pipe:4, pipe:5 */
 'pipe', 'pipe', 'pipe',
 ],
 });

 let chunks: any = [], fileSize = 0;

 audio.pipe(ffmpegProcess.stdio[3]);
 video.pipe(ffmpegProcess.stdio[4]);

 ffmpegProcess.stdio[5].on('data', (chunk: string | any[]) => {

 chunks.push(chunk);
 fileSize += chunk.length;

 }).on('end', () => {

 const buff = Buffer.concat(chunks);

 const { Input } = require('telegraf'); 

 await ctx.sendVideo(
 Input.fromBuffer(buff), 'File name'
 );

 });

 }



My problem is that when the file is sent, the video time is not available until it is completely downloaded and is 0, and inside the Telegram web version, the file is not downloaded completely and it gets stuck on "Buffering..." (on Android, without The problem is downloaded, but it still has no time). I think this problem is due to incomplete metadata in Buffer. Can anyone help me ?