bonjour
j'utilise 2 script pour synchroniser des logs avec une video, ca fonctionne pas mal du tout. pour simplifier l'usage je souhaite en faire qu'un. Mes essais ne donne pas le resultat attendu, soit j'ai une partie qui fonctionne soit rien du tout.
les logs sont sous la forme :
13
15
16
…
que je transforme en srt :
1
00:00:00,000 --> 00:00:00,000
13
2
00:00:00,000 --> 00:00:00,000
15
…
puis mon second script s'occupe de l'horodatage
1
00:00:00,004 --> 00:00:00,008
13
2
00:00:00,008 --> 00:00:00,012
15
…
mes scripts awk :
#/usr/bin/awk -f
{print FNR "\n" "00:00:00,000 --> 00:00:00,000 \n" $0 "\n" }
le deuxieme :
#!/usr/bin/awk -f
BEGIN { FS = "[ :,]"; decalage1=4 }
{if ($0 !~ "-->") {print}
else
{
start_time_ms = ($1*3600000 + $2*60000 + $3*1000 + $4) + (decalage1+=4) ;
if (start_time_ms > 0) {
$1=int(start_time_ms/3600000); start_time_ms %= 3600000;
$2=int(start_time_ms/60000); start_time_ms %= 60000;
$3=int(start_time_ms/1000); start_time_ms %= 1000;
$4 = int(start_time_ms);
}
# $6 $7 $8 $9
finish_time_ms = ($6*3600000 + $7*60000 + $8*1000 + $9) + (decalage1+4) ;
if (finish_time_ms > 0) {
$6=int(finish_time_ms/3600000); finish_time_ms %= 3600000;
$7=int(finish_time_ms/60000); finish_time_ms %= 60000;
$8=int(finish_time_ms/1000); finish_time_ms %= 1000;
$9=int(finish_time_ms);
}
{printf "%2.2d" "%s" "%2.2d" "%s" "%2.2d" "%s" "%3.3d" "%s",$1,":",$2,":",$3,",",$4," --> "}
{printf "%2.2d" "%s" "%2.2d" "%s" "%2.2d" "%s" "%3.3d\n" ,$6,":",$7,":",$8,",",$9}
}}
une idée ? a par les mettres a la suite dans un script bash.
# copier/coller
Posté par NeoX . Évalué à 2.
le premier est simple, doit alors suffire de le copier dans le deuxieme
faut juste le mettre au bon endroit
ou simplement recuperer la ligne sur laquelle tu es dans le fichier qui contient 13/15/16 et faire le print juste apres les timecodes que tu calcules avec le deuxieme fichier awk.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.