我正在使用FFMPEG测量存储在亚马逊S3存储桶中的视频的时长。
我已经阅读了FFMPEG文档,并且它们明确指出,为了让FFMPEG正确处理所有空格和特殊字符,它们需要进行转义:
请参见文档2.1和2.1.1:https://ffmpeg.org/ffmpeg-utils.html
然而,当处理文件名包含空格的文件时,FFMPEG无法呈现结果。
我尝试了以下方法,但没有成功:
ffmpeg -i "http://s3.mybucketname.com/videos/my\ video\ file.mov" 2>&1 | grep Duration | awk '{print $2}' | tr -d
ffmpeg -i "http://s3.mybucketname.com/videos/my video file.mov" 2>&1 | grep Duration | awk '{print $2}' | tr -d
ffmpeg -i "http://s3.mybucketname.com/videos/my'\' video'\' file.mov" 2>&1 | grep Duration | awk '{print $2}' | tr -d
ffmpeg -i "http://s3.mybucketname.com/videos/my\ video\ file.mov" 2>&1 | grep Duration | awk '{print $2}' | tr -d
然而,如果我在文件名中删除空格 - 一切都好了,并返回视频的持续时间。
ffmpeg -i "my video file.mov"
: - fedorqui\\
转义空格 - 不要同时使用两种方式。 - clt60rawurlencode($video_url)
。 - Fthr