我正在使用和启动Amazon Rekognition上传到我的视频与python S3。每个视频用AAC
音频编解码器和H264
视频编解码器进行FFMPEG转换,然后交给rerecognition。视频总是很好,问题是只有60-70%的视频被成功处理,而其余的视频则会出错。特别是,在Rekognition返回的JSON中:
{'JobId': '<id of my job>', 'Status': 'FAILED', 'API': 'StartFaceDetection', 'Message': 'Chunk video failed: Only 1 I-frames found in video', 'Timestamp': 1655118632996, 'Video': {'S3ObjectName': '<my video inside S3>', 'S3Bucket': '<my S3>'}, 'ErrorCode': 'VideoNotDecodable'}
正如你所看到的,我得到一个错误"Chunk video failed: only 1 I-Frames found in video"
。老实说,我不知道这是什么,但事实上,我以同样的方式转换每个视频,但Rekognition只失败了一些,让我疯了。谷歌没有帮助,希望你能告诉我出了什么问题
解决:当您在转换过程中更改视频编解码器时,i帧被重置。我90%的转换视频只有1个i帧,这就是AWS Rekognition失败的原因。我只是改变了FFMPEG参数,以在转换过程中添加关键帧。
来自:
-c:a aac -c:v libx264
:
-c:a aac -c:v libx264 -force_key_frames source -x264-params keyint=35:scenecut=0
现在我的视频中有10-20个关键帧,所以识别永远不会失败。