Præcis Beregning af Videovarighed i Sekunder: En Guide til Effektive Metoder

Hvordan kan videovarighed i sekunder opnås præcist? Hvad er forsøgt: ffmpeg -i file.flv 2>&1 | grep "Duration" Duration: 00:39:43.08, start: 0.040000, bitrate: 386 kb/s mediainfo file.flv | grep Duration Duration : 39mn 43s Dette var tæt på, men ikke så præcist, 2383 er 39.71 minutter ffmpeg -i file.flv 2>&1 | grep "Duration" | cut -d ' ' -f 4 | sed s/,// | sed 's@\..*@@g' | awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] }' 2383

For at opnå videovarighed i sekunder præcist, kan du bruge en kombination af ffmpeg og awk kommandoer, som konverterer tid til sekunder.

Hvordan kan videovarighed i sekunder opnås præcist?

For at opnå videovarighed i sekunder præcist, kan du bruge forskellige værktøjer og kommandoer. Her er nogle metoder, der kan hjælpe dig med at få en præcis varighed:

Metoder forsøgt:

  • ffmpeg -i file.flv 2>&1 | grep "Duration"
    • Output: Duration: 00:39:43.08, start: 0.040000, bitrate: 386 kb/s
  • mediainfo file.flv | grep Duration
    • Output: Duration : 39mn 43s

Disse metoder gav en varighed, men ikke i sekunder. For at få varigheden i sekunder, kan du bruge en kombination af ffmpeg og awk kommandoer:

Præcis metode:

ffmpeg -i file.flv 2>&1 | grep "Duration" | cut -d ' ' -f 4 | sed s/,// | sed 's@\..*@@g' | awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] }'

Dette vil give dig varigheden i sekunder. For eksempel:

  • Output: 2383 sekunder (som er 39.71 minutter)

Forklaring af kommandoen:

  1. ffmpeg -i file.flv 2>&1 | grep "Duration": Henter varigheden af videoen.
  2. cut -d ' ' -f 4: Skærer ud varighedsdelen.
  3. sed s/,//: Fjerner komma.
  4. sed 's@\..*@@g': Fjerner millisekunder.
  5. awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] }': Konverterer tid til sekunder.

Ved at følge denne metode kan du opnå en præcis varighed af videoen i sekunder.