2 votes

Programme pour joindre des vidéos TS en utilisant la ligne de commande

J'ai besoin de joindre des fichiers vidéo .ts. Je connais http://www.ffprojects.net/tssplitter/ qui fonctionne très bien, mais pour autant que je puisse dire, c'est une interface graphique seulement.

Je dois pouvoir le faire à partir de la ligne de commande sous Windows. Existe-t-il des solutions permettant de réaliser cette opération ?

7voto

mozzbozz Points 173

J'utiliserais simplement la ligne de commande. Naviguez vers le dossier contenant toutes les *.ts -files à concaténer et ensuite exécuter le...

copy /b *.ts output-file.ts

...commande, qui prend tous les *.ts -dans le répertoire courant et les concatène à un fichier résultant appelé output-file.ts . La commande peut s'exécuter pendant plusieurs minutes, alors ne vous inquiétez pas, vous pouvez prendre une tasse de café maintenant ;)

(comme le *.ts -Le format - "Transport Stream" - est un format de flux, il est possible de simplement "ajouter un fichier après l'autre" sans endommager les données à l'intérieur).


source : http://tomyeah.com/howto-join-multiple-ts-files/

4voto

h0tw1r3 Points 1676

ffmpeg pour Windows

ffmpeg.exe -i concat:file1.ts^|file2.ts^|file3.ts -vcodec copy -acodec copy -f vob combined.mpg

0 votes

Merci. Cela fonctionne, mais le caractère d'échappement pour pipe sous Windows est ^ et non \.

1voto

andrew lorien Points 101

Vous pouvez fusionner les fichiers avec copy /b *.ts output-file.ts comme le suggère mozzbozz.

Cependant, gardez à l'esprit que si les noms de fichiers n'utilisent pas de zéros en tête ( 1.ts , 2.ts ... 9.ts , 10.ts ... 99.ts , 100.ts ...), le copy utilisera l'ordre lexical alphabétique pour concaténer les fichiers, ce qui entraînera un ordre incorrect et le fichier de sortie.ts fera des allers-retours ( 1.ts , 10.ts , 100.ts , 2.ts , 20.ts , ... 9.ts ... 99.ts , 999.ts ).

L'ordre alphabétique lexical des noms de fichiers doit correspondre à l'ordre naturel des clips vidéo. Ce problème est résolu par l'utilisation de zéros en tête :

for %i in (?.ts) do ren %i 000%i
for %i in (??.ts) do ren %i 00%i
for %i in (???.ts) do ren %i 0%i
copy /b ????.ts output-file.ts

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X