如何使用AWK和ffmpeg拉时间码



我正在尝试使用AWK在文件中引用时间码,以便稍后使用ffmpeg刻录到图片中。

#!/bin/bash

set -x
for video in *.mxf
do
filenoext="${video%.*}"
mkdir "done_H264/$filenoext"
mkdir "done_MXF/$filenoext"
timecode=$( ffmpeg -i "$video" 2>&1 | awk -v video="$video" '$video ~ /^timecode/ {print $NF}' )

我已经尝试了一种不同的输入方式,但它似乎永远无法拉出时间码。我做错了什么?

编辑:这真的很尴尬,但它实际上毕竟是工作的。我想我已经修复了它而没有意识到它,并继续在命令行中添加脚本后的文件名,而不是想要尝试它。对不起,非常感谢你的帮助。

使用ffprobe获取时间码:

ffprobe -v error -show_entries format_tags=timecode -of csv=p=0 input.mxf

结果(drop-frame示例):

01:02:03;04

ffmpeg输出不是用于机器读取的,您可以避免使用awk,因此使用ffprobe代替更好。

最新更新