
Recherche avancée
Autres articles (44)
-
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 -
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 (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (4684)
-
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 ?