1 points par GN⁺ 8 일 전 | 1 commentaires | Partager sur WhatsApp
  • Un éditeur vidéo qui traite les fichiers dans le navigateur sans téléversement, avec montage multipiste, navigation image par image et moniteur source
  • Basé sur FFmpeg WASM et WebCodecs, avec l’ensemble du traitement effectué directement dans le navigateur
  • Propose les outils vidéo essentiels : redimensionnement, mise à l’échelle, recadrage, découpe, compression, génération de miniatures et filigrane
  • Prend en charge le traitement audio ainsi que les sous-titres et le texte, avec conversion depuis les entrées MP4·MOV·WebM·MKV·AVI vers MP3·WAV·AAC·M4A·FLAC
  • Outil d’édition web proposant à la fois des préréglages de compression pour Discord, Email, WhatsApp, Slack et Twitter, et des préréglages de redimensionnement pour TikTok, Instagram Reels et YouTube Shorts

Éditeur vidéo

  • Montage multipiste, traitement basé sur WebCodecs, navigation image par image et moniteur source
  • Inclut la création de New Project
  • Offre des fonctions de montage vidéo directement dans le navigateur

Principes de traitement

  • Architecture basée sur FFmpeg WASM
  • L’ensemble du traitement s’effectue dans le navigateur

Outils vidéo

  • Resize & Scale

    • Offre des fonctions de redimensionnement et de mise à l’échelle vidéo
  • Trim & Cut

    • Offre des fonctions de découpe et d’édition par coupe vidéo
  • Compress

    • Offre une fonction de compression vidéo
  • Drop Zone

    • Propose l’outil Drop Zone
  • Thumbnails

    • Offre une fonction de génération de miniatures
  • Watermark

    • Offre une fonction de filigrane

Audio et fonctions supplémentaires

  • Audio Processing

    • Offre une fonction de traitement audio
  • Subtitles & Text

    • Offre des fonctions de sous-titres et de texte

Compression par plateforme

  • Compress for Discord

    • Offre une fonction de compression vidéo pour Discord
  • Compress for Email

    • Offre une fonction de compression vidéo pour Email
  • Compress for WhatsApp

    • Offre une fonction de compression vidéo pour WhatsApp
  • Compress for iMessage

    • Offre une fonction de compression vidéo pour iMessage
  • Compress for Slack

    • Offre une fonction de compression vidéo pour Slack
  • Compress for Twitter

    • Offre une fonction de compression vidéo pour Twitter

Redimensionnement par plateforme

  • Resize for TikTok

    • Offre une fonction de redimensionnement vidéo pour TikTok
  • Resize for Instagram Reels

    • Offre une fonction de redimensionnement vidéo pour Instagram Reels
  • Resize for YouTube Shorts

    • Offre une fonction de redimensionnement vidéo pour YouTube Shorts
  • Resize for Instagram Post

    • Offre une fonction de redimensionnement vidéo pour Instagram Post
  • Resize for LinkedIn

    • Offre une fonction de redimensionnement vidéo pour LinkedIn
  • Resize for Facebook

    • Offre une fonction de redimensionnement vidéo pour Facebook
  • Resize for Twitter

    • Offre une fonction de redimensionnement vidéo pour Twitter
  • Resize for Pinterest

    • Offre une fonction de redimensionnement vidéo pour Pinterest

Conversion de formats audio

  • MP4 to MP3

    • Offre une fonction de conversion de MP4 en MP3
  • MOV to MP3

    • Offre une fonction de conversion de MOV en MP3
  • WebM to MP3

    • Offre une fonction de conversion de WebM en MP3
  • MKV to MP3

    • Offre une fonction de conversion de MKV en MP3
  • AVI to MP3

    • Offre une fonction de conversion de AVI en MP3
  • MP4 to WAV

    • Offre une fonction de conversion de MP4 en WAV
  • MP4 to AAC

    • Offre une fonction de conversion de MP4 en AAC
  • MP4 to M4A

    • Offre une fonction de conversion de MP4 en M4A

Convertir la vidéo en audio

  • Video to MP3

    • Offre une fonction de conversion de vidéo en MP3
  • Video to WAV

    • Offre une fonction de conversion de vidéo en WAV
  • Video to FLAC

    • Offre une fonction de conversion de vidéo en FLAC
  • Video to AAC

    • Offre une fonction de conversion de vidéo en AAC

1 commentaires

 
GN⁺ 8 일 전
Commentaires sur Hacker News
  • Même si FFmpeg tourne via WebAssembly, les questions de licence restent les mêmes. FFmpeg est sous LGPL 2.1, mais VidStudio semble être closed source, et je n’ai trouvé aucune indication disant que c’était un logiciel libre. S’il est distribué dans le navigateur du client, il est possible que les conditions de la LGPL soient violées, et la page juridique de FFmpeg vaut aussi le détour

    • Le closed source en soi est possible, mais il me semble que la LGPL impose des exigences supplémentaires. Par exemple, il faut fournir un lien vers le code source de la version de FFmpeg utilisée, et s’il s’agit d’un lien dynamique, l’utilisateur doit pouvoir remplacer la bibliothèque par sa propre build ; en cas de lien statique, il faut fournir les outils permettant de relier à nouveau avec une build compatible. J’ai relu la LGPL récemment donc c’est encore frais, mais je veux bien être corrigé si je me trompe
    • Merci de l’avoir signalé, et pour être honnête je n’avais pas vraiment réfléchi en profondeur à la licensing au départ. À l’origine, c’était un ensemble d’outils expérimentaux sur les codecs vidéo et audio conçu pour tourner en local, puis je me suis rendu compte que c’était devenu assez utile pour d’autres et je l’ai publié. Je vais faire les changements nécessaires ce soir pour être pleinement conforme. Au moins, j’ai bien orthographié FFmpeg, et ce projet wasm me donne aussi envie de mieux étudier la différence entre GPL et LGPL
    • Je pense qu’il est possible de respecter la LGPL sans publier tout le code source de l’application. Par exemple, en séparant l’application et ffmpeg dans des isolate distincts, donc dans des processus wasm séparés, ou en fournissant un moyen pour que l’utilisateur combine sa propre build wasm de FFmpeg avec le code wasm closed source de l’application. Je me dis que la séparation en isolate seule pourrait peut-être même suffire pour la GPL, un peu comme quand FFmpeg est invoqué comme outil en ligne de commande, mais juridiquement ça me paraît quand même assez limite
    • La LGPL, à elle seule, autorise l’utilisation de bibliothèques dans des logiciels non publics
    • En revanche, certains codecs populaires sont sous GPL, donc si cette option est activée, il se peut que le reste du code doive aussi être distribué sous GPL
  • Les performances étaient vraiment impressionnantes, et la conservation de l’état m’a semblé très naturelle. Les précédents éditeurs vidéo dans le navigateur que j’avais essayés se mettaient vite à ramer, donc j’ai été surpris de voir celui-ci tenir aussi bien. En revanche, tout ce qui concerne les pistes fonctionnait mal, et sous Firefox sur Windows je n’ai pas pu réorganiser l’ordre par glisser-déposer. Je n’ai pas non plus trouvé d’outils de transformation comme le positionnement, la rotation ou la mise à l’échelle pour ajuster des vidéos de formats différents, par exemple verticales et horizontales

    • Merci pour les encouragements, et la manipulation des pistes n’est pas encore complètement résolue. Pour l’instant, on ne peut donc pas déplacer des clips d’une piste à l’autre, et je n’avais même pas encore pensé au changement d’ordre des pistes, mais je vais regarder ça. Pour les transformations, si on clique sur un clip après l’avoir mis sur une piste, un panneau devrait apparaître à droite du moniteur du programme ; les options sont limitées, mais il y en a déjà quelques-unes. Honnêtement, j’ai aussi eu l’impression d’assembler ça tant bien que mal avec l’aide d’un LLM
  • À mon avis, l’échec mentionné plus haut avec hvc1 et le 10-bit ne vient pas d’un problème de repli FFmpeg-wasm, mais plutôt des écarts de prise en charge de WebCodecs selon les navigateurs. Le chemin HEVC de Firefox est partiel, et le 10-bit est encore plus fragile. Chrome fonctionne en général, mais Firefox échoue précisément sur les fichiers enregistrés par défaut par les iPhone ou les Android récents. Donc, pour réduire l’abandon lors des tests d’import, il serait utile d’indiquer que le navigateur ne peut pas décoder ce codec et de suggérer d’essayer Chrome

    • Je pense que c’est une bonne suggestion. Une fois les problèmes de licensing passés, il y a une montagne d’erreurs à corriger, et si je m’en occupe, l’ergonomie devrait nettement s’améliorer
  • Je me demande comment ça se compare à https://omniclip.app/, https://tooscut.app, https://clipjs.mohy.dev/

    • Moi aussi, je serais curieux d’avoir une comparaison avec https://pikimov.com. J’ai l’impression que c’est un autre éditeur vidéo dans le navigateur qu’on voit souvent en ce moment
    • Honnêtement, je ne sais pas encore, et les services que tu as partagés, c’est la première fois que j’en entends parler. Je vais les essayer moi-même pour comparer, merci de me les avoir signalés
  • Avant, les applis étaient totalement centrées sur le local, sans compte ni upload, et c’est intéressant de voir que ça redevient maintenant une proposition de valeur

    • Cette fois, il y a aussi la différence d’un environnement sandboxed, et si on sait manipuler des scripts greasemonkey, on peut aussi modifier certaines choses. En plus, j’aime bien le fait que tout le texte dans l’appli soit sélectionnable, et qu’on puisse faire du copier-coller
    • Je suis d’accord, mais je pense aussi que ceux qui dépensent de l’argent dans le développement logiciel doivent au final trouver un moyen de monétiser. J’espère simplement que ce ne sera pas de façon trop prédatrice. En ce moment, tout passe à l’abonnement, et on a vraiment l’impression qu’on retire de l’argent aux utilisateurs chaque mois
    • En revanche, contrairement aux anciennes applis, celles d’aujourd’hui ne sont pas vraiment des applis natives pour l’OS
  • Félicitations pour le lancement. J’ai suivi la même voie avec videotobe.com, et j’ai tenté une architecture entièrement côté client avec ffmpeg.wasm, mais ça s’effondrait sur les longues vidéos. À cause des limites mémoire et du temps d’encodage, on a fini par passer à un pipeline de traitement dans le cloud. Ici, en revanche, votre séparation entre WebCodecs, Pixi et ffmpeg.wasm semblait bien résoudre les deux problèmes, et j’ai été impressionné de voir que même plus de 3 heures de média tenaient dans VidStudio

    • Merci beaucoup pour ce retour d’expérience, ça fait vraiment plaisir. J’étais un peu démotivé ces derniers temps à cause des erreurs qui s’accumulent dans sentry, donc ça m’a remonté le moral. Moi aussi j’ai poussé ffmpeg wasm jusqu’au bout et j’ai même essayé de résoudre les problèmes de mémoire avec worker fs, mais j’ai fini par trouver que le gain ne justifiait pas l’effort. Les codecs vidéo sont impressionnants, mais j’ai réalisé que j’avais sous-estimé à quel point ffmpeg prend en charge toute la pipeline décodage-conversion-encodage
  • C’est frappant de voir qu’on en est arrivé à une époque où la confidentialité n’est plus la base, mais une fonctionnalité. Je construis aussi dans ce domaine, et j’ai l’impression que l’avantage de ne pas nécessiter d’upload est étonnamment difficile à communiquer à des utilisateurs déjà habitués à ce que tout soit dans le cloud

    • Pour ma part, je pense au contraire que la majorité des utilisateurs veulent que leurs données soient dans le cloud. On monte sur desktop, on envoie un lien, le client peut le voir tout de suite sur son téléphone, il n’y a même pas besoin d’exporter, et chaque modification est reflétée immédiatement : ce flux est clairement pratique. Même hors contexte business, pour partager des vidéos en famille, récupérer des retours et corriger dans la foulée, c’est un vrai atout d’usage. Ça ne veut pas dire qu’une solution 100 % locale n’a aucun intérêt, mais je suppose que pour la plupart des gens, les avantages du cloud seront plus attractifs
    • C’est vrai, mais en même temps, quand on pense au fait que les modèles économiques les plus performants reposent sur la vente de données personnelles, cette évolution paraît aussi très logique
  • J’ai beaucoup aimé l’idée d’un outil qui s’exécute localement dans le navigateur. Le site web ne sert alors quasiment que de support de distribution, ce qui le rend facile à utiliser, et comme j’avais besoin de ce genre d’outil, je l’ai testé avec impatience. Mais ma première et ma deuxième tentative ont échoué. En important une vidéo filmée avec un Pixel, Firefox m’a affiché "Your browser does not support the codec "hvc1.2.4.L156". Try a different video.", puis je suis passé sur Chrome et j’ai obtenu "Audio decode failed: your browser cannot decode the audio in "..._webm.bin". Try re-encoding the file with AAC audio.". C’était décevant, mais j’espère vraiment que ce sera corrigé, et ce serait bien d’avoir un moyen d’être averti quand ce sera le cas

    • C’est sur ma todo list, et quand ce sera corrigé je reviendrai ici pour le signaler. Le problème central, c’est que la prise en charge des codecs est très irrégulière, et même les logiciels de muxer que j’ai vus avaient des trous dans leur support. En plus, les noms des codecs audio et vidéo apparaissent parfois différemment selon la plateforme et le navigateur, donc c’était plus complexe que prévu. Je vais m’y replonger au plus vite
  • Utiliser WebCodecs pour le scrubbing de la timeline me semble être le bon choix. En revanche, je me demande comment le cache des frames est géré. Les buffers du décodeur WebCodecs sont mappés en mémoire et le navigateur peut les récupérer sous pression ; je serais curieux de savoir s’il y a un cache LRU séparé par-dessus ou si tout est laissé au décodeur. Je m’intéresse aussi à la façon dont ça tient sur mobile, surtout sur des appareils aux limites mémoire serrées comme l’iPhone, où l’usage mémoire de WebCodecs en arrière-plan peut tuer la page

  • J’ai vraiment aimé les liens compress-to-X en bas, ainsi que les outils de conversion de X vers Y. J’ai particulièrement apprécié l’outil avec des préréglages de taille de fichier cible selon les paliers d’abonnement Discord. Jusqu’ici j’utilisais des outils en ligne côté serveur, avec upload obligatoire, mais je pense que je vais passer à celui-ci. Je n’avais pas spécialement besoin d’un éditeur vidéo complet, je regardais juste par curiosité, et c’était quand même une très belle découverte