GNU/Linux >> Znalost Linux >  >> Linux

Jak extrahovat dobu trvání z výstupu ffmpeg?

ffmpeg zapisuje tyto informace do stderr , nikoli stdout . Zkuste toto:

ffmpeg -i file.mp4 2>&1 | grep Duration | sed 's/Duration: \(.*\), start/\1/g'

Všimněte si přesměrování stderrstdout :2>&1

UPRAVIT:

Vaše sed ani výpis nefunguje. Zkuste toto:

ffmpeg -i file.mp4 2>&1 | grep Duration | awk '{print $2}' | tr -d ,

Můžete použít ffprobe :

ffprobe -i <file> -show_entries format=duration -v quiet -of csv="p=0"

Vypíše dobu trvání v sekundách, například:

154.12

Přidání -sexagesimal volba vypíše trvání jako hodiny:minuty:sekundy.mikrosekundy :

00:02:34.12

Linux
  1. Jak otočit videa pomocí FFMpeg z příkazového řádku

  2. Jak extrahovat protokoly mezi dvěma časovými razítky?

  3. Jak zajistit, aby „datum“ vydalo čas z jiného časového pásma?

  1. Jak získat výstup z gdb.execute v PythonGDB (GDB 7.1)?

  2. extrahovat průměrný čas z ping -c

  3. Jak převést výstup z grep do cp?

  1. Příkazový řádek:Extrahujte podřetězec z výstupu

  2. Jak seřadit výstup ps podle času zahájení procesu?

  3. Jak aplikovat filtr na výstup `tail -f` v reálném čase?