Node.js ruft fluent-ffmpeg auf

Kürzlich entwickelte H5Ressourcen werden online geschnitten. Im Schritt der Ressourcensynthese wähle ich sie schließlich ffmpegals synthetisiertes Plug-In aus und zeichne auf, wie sie verwendet werden.

1. Einleitung

ffmpegEin plattformübergreifendes Multimedia-Verarbeitungstool, das Videotranskodierung, Zuschneiden, Synthese, Audio- und Videoextraktion, Streaming und andere Vorgänge durchführen kann.

2. Installation

Node jsEs kann von einem child_processUnterprozess ffmpegund auch fluent-ffmpegvon einem Plug-In aufgerufen werden.

Zuerst herunterladen und installierenffmpeg , Umgebung auswählen windows, herunterladen und auf Laufwerk C extrahieren und dann Umgebungsvariablen konfigurieren.

Fügen Sie hier eine Bildbeschreibung ein

Über die Befehlszeile ausführen ffmpeg -version. Wenn Sie hierher gelangen, bedeutet dies, dass die Installation erfolgreich war.

Fügen Sie hier eine Bildbeschreibung ein

3. Verwendung

Wir werden hier die Grundfunktionen demonstrieren. Weitere Funktionen finden Sie auf ffmpegder offiziellen Website, um sie auszuprobieren. Im Folgenden finden Sie eine Logik zur Videoformatkonvertierung sowie Fortschrittsdruck- und Taskausführungs-Hook-Funktionen.

index.js

let express = require('express') // 引入express
let app = express() // 相当于 http.createServer(app)
let ffmpeg = require('fluent-ffmpeg') // ffmpeg
let {
    
     exceSync } = require('child_process')

let command = ffmpeg('http://10.0.129.157:8000/2023_09_11_17_28_08_智慧教室A_默认授课_admin_/学生全景.mp4')
  .on('start', function(commandLine) {
    
    
    console.log('Spawned Ffmpeg with command: ' + commandLine);
  }).on('progress', function(progress) {
    
    
    console.log('Processing: ' + progress.percent + '% done');
  }).on('end', function(stdout, stderr) {
    
    
    console.log('Transcoding succeeded !');
  }).on('error', function(err) {
    
    
    console.log('An error occurred: ' + err.message);
  }).save('test.avi')

/**
 * @description create screenshots
 */
function createScreenshots(command) {
    
    
  command.screenshots({
    
    
      folder: './',
      filename: 'test.png',
      count: 1,
      timemarks: [1],
      size: '50%'
  })
}

Erfolgreich ausgeführt

Fügen Sie hier eine Bildbeschreibung ein
Vorschau des konvertierten Videos:

Fügen Sie hier eine Bildbeschreibung ein

おすすめ

転載: blog.csdn.net/Vue2018/article/details/133135227