Blog de Jesus Forain Blog de Jesus Forain
Blog personnel de Jesus Forain où les principaux sujets sont l'informatique, la technologie, le spatial mais aussi divers sujets.
Site auto-hébergé sur un mini PC avec une connexion fibre
Rechercher & filtrer
Filtrer par année / mois
Derniers commentaires
Raspberry Pi en récepteur audio Bluetooth (A2DP audio sink)
Avatar par défaut
Gregouille (non inscrit)
dimanche 26 janvier 2025 13:46

Bonjour! J'ai enfin réussi ! Le problème résidait dans bluez, malgré les multiples distros que j'ai testé j'avais toujours un conflit quelque part, et là après une énième réinstalle propre et de longues recherches sur toutes les l[...]

Demander une adresse IP full stack chez Free pour avoir tous les ports
Avatar de Jesus Forain
Jesus Forain
samedi 25 janvier 2025 11:14

Le problème doit venir du réseau Free. Si c'était le VPN de l'entreprise ça ne fonctionnerait pas quelque soit le fournisseur. Et l'IP partagée n'empêche pas l'utilisation d'un VPN, c'est surtout utile si comme moi tu héberges un serveur web et que tu [...]

Demander une adresse IP full stack chez Free pour avoir tous les ports
Avatar par défaut
Steph (non inscrit)
jeudi 23 janvier 2025 12:21

Bonjour, Merci pour ton blog et toutes ces infos. J'ai un soucis un peu tricky. Depuis quelques semaines (impossible de me rappeler quand exactement), lorsque je suis en télétravail via le VPN de mon entreprise (via ma freebox pop), j'ai des erreurs reseau (fermeture de socket) entre l[...]

Starship flight 7
Avatar de Jesus Forain
Jesus Forain
lundi 20 janvier 2025 17:38

Le décollage et le rattrapage du booster vu par les caméras de NASASpaceflight.   ▶  

Starship flight 7
Avatar de Jesus Forain
Jesus Forain
vendredi 17 janvier 2025 18:15

D'après un tweet d'Elon Musk, l'explosion serait due à une fuite d'oxygène ou de carburant au dessus du pare-feu d'un des moteurs. Cette fuite trop importante a causée une surpression et serait la cause de l'explosion. Le moment exact de l'explosion à 3'11": [...]

Starship flight 7
Avatar de Jesus Forain
Jesus Forain
vendredi 17 janvier 2025 00:36

Voilà comment a fini le Ship au niveau des Îles Turques-et-Caïques juste à côté de Cuba. Vidéo 1   ▶  

Starship flight 7
Avatar de Jesus Forain
Jesus Forain
vendredi 17 janvier 2025 00:08

Malheureusement, juste après le rattrapage du booster et ce grand moment d'émotions, le Starship a été perdu. C'était le premier vol de la version 2, on devrait en apprendre davantage dans les prochains jours sur ce qu'il s'est passé. Il ne faut pas oublier [...]

Starship flight 7
Avatar de Jesus Forain
Jesus Forain
jeudi 16 janvier 2025 23:45

Rattrapage du booster réussi!

Starship flight 7
Avatar de Jesus Forain
Jesus Forain
jeudi 16 janvier 2025 20:48

C'est confirmé, un petit avion de la NASA est en vol depuis quelques instants au large de l'Australie pour suivre la rentrée atmosphérique du Starship. Lien de suivi sur Flightradar 24.  

Raspberry Pi en récepteur audio Bluetooth (A2DP audio sink)
Avatar par défaut
Gregouille (non inscrit)
mercredi 8 janvier 2025 17:06

Merci pour ton retour, je vais faire des recherches dans ce sens. 

Joindre plusieurs fichiers vidéos en un seul sans réencodage

- 1357 vues

Je vais t'expliquer comment assembler plusieurs fichiers vidéo issus d'un smartphone ou d'une caméra sans réencodage et donc sans perte de qualité. Et comme on ne fait pas de réencodage, l'opération est très rapide (dépendant des performances de ton disque dur) et ne nécessite pas d'avoir un ordinateur puissant.

IMPORTANT! tu ne peux joindre plusieurs fichiers vidéo sans réencodage uniquement à condition qu'ils aient exactement les mêmes caractéristiques (résolution, nombre d'images par seconde, codecs vidéo et audio). Tu n'auras pas de problème si les fichiers proviennent de la même caméra mais si les fichiers proviennent de plusieurs caméras avec des formats différents, il faudra obligatoirement passer par un réencodage et donc une perte de qualité.
Cependant, même dans ce cas il peut arriver que l'assemblage échoue à cause d'un fichier récalcitrant mais ça reste exceptionnel et je n'ai eu qu'une seule fois le cas. Si ça arrive, il n'y a pas le choix, il faudra réencoder.

Comme d'habitude, j'ai cherché la solution la plus simple et avec un logiciel sans installation. Le processus est entièrement automatisé et la seule chose que tu auras à faire sera un glisser déposer avec ta souris. Ici je considère que tu utilises Windows mais sache que le logiciel fonctionne aussi sous Linux et MacOS.

On va utiliser FFMPEG qui est un logiciel libre et open source destiné au traitement de n'importe quel fichier audio ou vidéo et c'est parce qu'il s'utilise en ligne de commande que ça va permettre d'automatiser le processus. Mais je te rassure, tu n'auras besoin d'aucune connaissances en programmation pour ce que l'on va faire ici, tout se fait avec la souris par glisser déposer.

J'ai écris un script qui va faire automatiquement le travail de joindre plusieurs fichiers vidéos en un seul.

Sur ton disque dur tu devras avoir en espace libre au moins la taille totale des fichiers à joindre. Par exemple, si tu as 2,4 Go de fichiers, ton fichier final regroupant toutes les vidéos fera 2,4 Go et tu devra donc avoir au moins 2,4 Go d'espace libre sur ton disque dur.

 

Installation

Télécharges FFMPEG (site officiel: ffmpeg.org) en cliquant sur ce lien. Descends dans la page jusqu'à la section “release builds” puis clique sur “ffmpeg-release-full.7z” pour lancer le téléchargement (lien direct).

Télécharge le script: joindrePlusieursFichiers__déposerDossierIci__.bat
J'ai aussi mis le contenu du script à la fin de cet article.

Crée un dossier sur ton PC puis dans le zip FFMPEG, récupère le fichier ffmpeg.exe qui est dans “ffmpeg-6.0-full_build/bin”et mets-y le script.

Tu doit avoir ces 2 fichiers dans ton dossier:

 

Utilisation

Préparation des fichiers à assembler

Les fichiers à joindre doivent être tous dans le même dossier. Déplace ou supprime les fichiers que tu veux exclure de ta vidéo finale. Si dans ton dossier il y a d'autres fichiers qui ne sont pas des vidéos ça ne gênera pas puisque l'on se base seulement sur l'extension des fichiers.

Les fichiers seront joints selon leurs noms triés par ordre alphabétique. Les caméras produisent des fichiers nommés séquentiellement donc ça ne devrait pas poser de problème et ils seront joints selon l'ordre chronologique.

Configuration du type de fichiers recherchés

Par défaut le script cherche des fichiers avec l'extension MP4, si tes fichiers ont une autre extension, MOV par exemple, il va falloir modifier le script.

Pour ça ouvre le script avec le bloc notes (clic droit > modifier) et au début, ligne 6 indique l'extension de tes fichiers qui est par défaut MP4:

set "fileExtension=MP4"

Si tes fichiers sont des MOV, il faudra remplacer MP4 par MOV comme dans cet exemple:

set "fileExtension=MOV"

N'oublie pas d'enregistrer les modifications. Tu n'auras plus à refaire cette manipulation sauf si tu veux changer à nouveau l'extension.

Exécution

Pour lancer l'assemblage des fichiers, dépose le dossier contenant les vidéos sur le fichier du script en faisant un glisser déposer. Une fenêtre de terminal s'ouvre et laisse faire jusqu'à ce qu'il soit affiché "terminé". S'il y a des erreurs ça s'affiche en rouge.

Ton ficher assemblé sera dans le dossier parent et aura pour nom <NOM_DU_DOSSIER>__JOINED__.MP4 (si l'extension est MP4).

Dans le dossier contenant les vidéos à joindre, un fichier fileList.txt est crée. Il contient la liste des fichiers pris en compte classés par ordre alphabétique et correspondant à l'ordre d'assemblage dans la vidéo finale.

Tu peux vérifier que ton fichier est correct en vérifiant sa taille qui doit être la même que le dossier source à quelques kilos octets près. Et aussi en sélectionnant tous les fichiers à assembler puis clic droit > propriétés, onglet “détails” puis faire la même chose sur le fichier de sortie. Tu remarqueras que la durée est identique dans les 2 cas:

 

Le script BAT

@echo off
cls
chcp 1252 > NUL

:: Extension des fichiers: MP4, MOV
set "fileExtension=MP4"

:: Récupération du dossier en entrée
set "inFolder=%~1"

:: Suppression des doubles quotes de la chaîne
set "inFolder=%inFolder:"=%"

:: Vérification que l'on a bien un dossier
if not exist "%inFolder%\" (
    echo:[ERREUR] CE N'EST PAS UN DOSSIER
    pause
    goto:eof
)

:: Fichier de sortie
for %%A in ("%inFolder%") do (
    set "outFile=%%~dfA__JOINED__.%fileExtension%"
)

echo:Type de fichier en entrée (basé sur l^'extension):
echo: | set /p="%fileExtension%" & echo:
echo:
echo:Dossier en entrée:
echo: | set /p="%inFolder%" & echo:
echo:
echo:Fichier de sortie:
echo: | set /p="%outFile%" & echo:

:: Suppression de la liste des fichiers
if exist "%inFolder%\fileList.txt" del "%inFolder%\fileList.txt"

:: Génération de la liste des fichiers
echo:
echo:Génération de la liste des fichiers
echo:

set fileList=
for /f "tokens=*" %%I in ('dir /b "%inFolder%\*.%fileExtension%" ^| sort') do (
    echo: | set /p="%%~nxI" & echo:
    set "var=%%~nxI"
    call:generateFileList "%%var%%"
)

:: On se place dans le dossier source car les caractères spéciaux dans le chemin
:: du fichier texte posent problème à FFMPEG
cd /d "%inFolder%"

:: Concaténation
@echo on
"%~dp0ffmpeg" -hide_banner -y -f concat -safe 0 -i "%inFolder%\fileList.txt" -c copy "%outFile%"
@echo off

echo:
echo:-----------------------------
echo:^|          TERMINÉ          ^|
echo:-----------------------------
echo:

pause
goto:eof

:generateFileList
    set "currentFile=%~1"
    echo: | set /p="file '%currentFile:'='\''%'" >> "%inFolder%\fileList.txt"
    echo: >> "%inFolder%\fileList.txt"
goto:eof
partager sur Facebook
COMMENTAIRES
Envoyer un commentaire
chargement de l'éditeur en cours...
Envoi d'images pour les insérer dans le message
Cliquez sur le bouton "insérer l'image" pour l'ajouter à votre message, le fond de l'image passe en vert indiquant qu'elle est ajoutée. Les images non insérés sont supprimées.

Envoi de fichiers pour les télécharger

Attention! vous n'êtes pas connecté, vous postez en mode invité.