
Recherche avancée
Autres articles (62)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
Sur d’autres sites (6761)
-
Trouble Executing ffprobe Binary in Node.js on Local Machine
19 août 2023, par dzul.stellarI'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 thefluent-ffmpeg
library to extract video metadata usingffprobe
. While I can execute theffprobe
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 :


- 

- Ensured that the
ffprobe
binary has executable permissions usingchmod +x
. - Verified that the architecture of the
ffprobe
binary is arm64, which matches my local system. - Checked that the path to the binary is correct and doesn't contain special characters.
- Tested the basic execution of
ffprobe
using theexec
function, but it still fails.











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 theffprobe
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 !


- Ensured that the
-
fftools/ffmpeg_dec : move decoding to a separate thread
2 juin 2023, par Anton Khirnovfftools/ffmpeg_dec : move decoding to a separate thread
This is only a preparatory step to a fully threaded architecture and
does not yet make decoding truly parallel - the main thread will
currently submit a packet and wait until it has been fully processed by
the decoding thread before moving on. Decoder behavior as observed by
the rest of the program should remain unchanged. That will change in
future commits after encoders and filters are moved to threads and a
thread-aware scheduler is added. -
libavcodec/qsvenc : enable Hyper Encode
5 décembre 2022, par galinartlibavcodec/qsvenc : enable Hyper Encode
Hyper Encode uses Intel integrated and discrete graphics on one system
to accelerate encoding of a single video stream.
Depending on the selected parameters and codecs, performance gain on AlderLake iGPU + ARC Gfx up to 1.6x.More information : https://www.intel.co.uk/content/www/uk/en/architecture-and-technology/adaptix/deep-link.html
Developer guide : https://github.com/oneapi-src/oneVPL-intel-gpu/blob/main/doc/HyperEncode_FeatureDeveloperGuide.mdHyper Encode is supported only on Windows and requires D3D11 and oneVPL.
To enable Hyper Encode need to specify :
Hyper Encode mode (-dual_gfx on or dual_gfx adaptive)
Encoder : h264_qsv or hevc_qsv
BRC : VBR, CQP or ICQ
Lowpower mode (-low_power 1)
Closed GOP for AVC or strict GOP for HEVC -idr_interval = 0 used by default
Depending on the encoding parameters, the following parameters may need
to be adjusted :g recommended >= 30 for better performance
async_depth recommended >= 30 for better performance
extra_hw_frames recommended equal to async_depth value
bf recommended = 0 for better performance
In the cases with fast encoding (-preset veryfast) there may be no
performance gain due to the fact that the decode is slower than the encode.Command line examples :
ffmpeg.exe -init_hw_device qsv:hw,child_device_type=d3d11va,child_device=0 -v verbose -y -hwaccel qsv -extra_hw_frames 60 -async_depth 60 -c:v h264_qsv -i bbb_sunflower_2160p_60fps_normal.mp4
async_depth 60 -c:v h264_qsv -preset medium -g 60 -low_power 1 -bf 0 -dual_gfx on output.h265
Signed-off-by : galinart <artem.galin@intel.com>