2017-12-04 17 views
1

ビデオの中に何が起こっているのかに関するいくつかの統計情報を持つビデオがたくさんあります。そのような情報の1つは、ビデオの時間の観点から、小数点以下1桁まで数秒で与えられる。ビデオのFPSを取得するにはffmpeg FPS情報がビデオと一致しません

、私はffmpeg -i

を使用しています。しかし、私は手動で指定したFPSを使用してある特定のフレームの時間を計算するとき、それが一致していません。

例えば、ffmpegのは、私はビデオ統計情報を見= 30

FPSを出力し、156.8 = 2.368でフレームが 4704'thフレームでなければなりません。私は 'skvideo'を使ってビデオを開き、すべてのフレームを読んで、4704'thフレームを見る。 2.12頃のフレームです。私は複数のビデオでこのようなインスタンスを複数確認しましたが、これは一般的な動作です。

これがなぜそうであるのか分かりませんし、どうすれば問題を回避できますか?

私はffmpegに縛られていません。 Skvideoは動画を読むために使用されています。私はopencvを試しましたが、今のところそれはVideoCaptureで動作しません。また、再インストールすると時間がかかることがあります。しかし、私は 'opencv/skvideo'は問題ではないと思います。手動でフレームを数えることもできます。

ので、溶液中で、私はを探しています - 映像の内部のタイムスタンプを考えると

  1. 、どのように私は、その特定の時間位置のフレームを見つけることができますか?

  2. 誰かが既にこの作業を行っている可能性がある場合は、THUMOSデータセットに関連しています。私はそれが公に入手可能なデータであるとして、実際に私はより具体的なことができ

EDIT_1

のUbuntu 16.04にしています。時間枠は重要な活動です。たとえば、ビデオでは、いつバスケットボールダンクが発生するのですか?それはペアで与えられます - [開始終了]。一部の動画には複数のアクティビティがあり、一部には1つのアクティビティしかありません

Hereは、サンプルビデオであり、以下は活動時間です。

[[ 16.5, 20.8], 
[ 26.6, 32.2], 
[ 34.8, 42.1], 
[ 47.8, 50.0], 
[ 58.1, 62.9], 
[ 65.6, 67.2], 
[ 68.5, 74.0], 
[ 76.4, 78.3], 
[ 78.7, 79.8], 
[ 80.8, 82.1], 
[ 85.0, 87.3], 
[ 90.1, 91.4], 
[ 98.5, 100.3]] 

私は手動でチェックしてみましたが、32.87 FPSの「ほとんど」のビデオは少数のビデオでは機能しますが、すべてではありません。ほとんどが〜10フレーム離れていることを意味します。これは私の仕事にとって大きな違いです。正確なフレームが必要です。

また、データセット内の時刻が正しいと複数のビデオプレーヤーで視覚的に観察できるため、何らかの方法が必要です。あなたの目的は、タイムスタンプに対応するフレームを抽出することである場合

+0

ビデオコーデックのほとんどは、プレイブラックタイムで計算された不完全な画像(差分画像など)に依存しています。あなたの映像がどのように解釈されるかによって、これは補間することができます。だからあなたは、すべてのドメインであなたが映像をそのまま解釈していることを確認したい。この問題が発生していると思われるサンプルビデオファイルがありますか? – user1767754

+0

@ user1767754、サンプルビデオと詳細情報が追加されました – Adorn

+0

ビデオプレーヤーは正しいfpsでビデオを再生しますか?たぶん、録画やビデオ編集が間違っていたかもしれません。 – Micka

答えて

1

、使用

ffmpeg -i in.mp4 -vf select='lt(t,TS)*lt(TS-t,1/FPS)' -vsync 0 frame.png 

TSは、フレームレートなどを使用して、タイムスタンプやFPSに置き換える必要があります 'lt(t,78.7)*lt(78.7-t,1/30)'

フレームインデックスは、ビデオが可変フレームレートの場合は信頼できません。

+0

は魔法のように機能します! – Adorn

0

ffmpegを使用して特定のタイムスタンプでフレームを取得する単純なフレームの正確な方法は、ffmpegシーク-ssオプションを使用します。 これはあなたが探しているもので、ここでの説明を見つけることができます。https://trac.ffmpeg.org/wiki/Seeking

関連する問題