C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: VBで.movファイルを開かないで再生時間を取得したい


(過去ログ 60 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■34474 / inTopicNo.1)  VBで.movファイルを開かないで再生時間を取得したい
  
□投稿者/ hs (6回)-(2009/03/30(Mon) 22:43:59)

分類:[.NET 全般] 

ありえないと思うのですが、.movファイルなどファイルを開かないで再生時間を取得する事は可能でしょうか?
どなたか良い方法をご教授ください。
引用返信 編集キー/
■34572 / inTopicNo.2)  Re[1]: VBで.movファイルを開かないで再生時間を取得したい
□投稿者/ たくボン (153回)-(2009/04/01(Wed) 17:37:38)
No34474 (hs さん) に返信
> ありえないと思うのですが、.movファイルなどファイルを開かないで再生時間を取得する事は可能でしょうか?
> どなたか良い方法をご教授ください。

うーん、開かないでってのが気になるけどファイルをOpenせずにってことなのかな?それとも再生させないでって意味かな?
再生させないでってことならビットレートとか使って計算したような記憶があるかな。もう2年くらい前だからうろ覚え。
引用返信 編集キー/
■34615 / inTopicNo.3)  Re[2]: VBで.movファイルを開かないで再生時間を取得したい
□投稿者/ hs (9回)-(2009/04/02(Thu) 22:48:41)
回答ありがとうございます。

> うーん、開かないでってのが気になるけどファイルをOpenせずにってことなのかな?それとも再生させないでって意味かな?

現在、動画ファイルを暗号化し、そのファイルを解凍、再生できる仕組みを考えています。
その動画ファイルが500位あり、一覧で表示する際、タイトルごとの再生時間をDateGridCiewに表示させようと考えています。

いくつかカテゴリ別でフォルダを分けていてTreeViewにはカテゴリ別にノードを追加しています。
ノード変更時にその中に保存してあるフォルダの中身にあるファイルを取得し、一覧をDateGridCiewで表示しています。
その際にファイルの再生時間の列を入れたいのです。

テーブルを作り1件ごとに再生時間を登録する方法では動画フォルダの更新時、大変な手間と時間がかかるので、出来ればリアルタイムな情報を毎回取得したいのです。

つまり、動画ファイルをOpenせず、再生もさせることなく動画ファイルの再生時間を取得したいと考えています。
やはり無理なのでしょうか?
引用返信 編集キー/
■34628 / inTopicNo.4)  Re[3]: VBで.movファイルを開かないで再生時間を取得したい
□投稿者/ .SHO (781回)-(2009/04/03(Fri) 11:47:33)
> テーブルを作り1件ごとに再生時間を登録する方法では動画フォルダの更新時
> 大変な手間と時間がかかるので、出来ればリアルタイムな情報を毎回取得したいのです。
>
> つまり、動画ファイルをOpenせず、再生もさせることなく動画ファイルの再生時間を取得したいと考えています。
> やはり無理なのでしょうか?

それならば、Openぐらいはしてもいいのではないでしょうか?
(Openすれば出来るのかどうかは別として)

Openもしないで再生時間を測るのは不可能でしょう。
ファイルサイズと再生時間の統計を取って「ほぼこれぐらい」程度の表示なら可能かも??

引用返信 編集キー/
■34630 / inTopicNo.5)  Re[4]: VBで.movファイルを開かないで再生時間を取得したい
□投稿者/ やじゅ (968回)-(2009/04/03(Fri) 16:54:57)
やじゅ さんの Web サイト
動画フォーマットの国際標準MPEG-4規格のファイルフォーマットとしてQuickTimeが採用された
とあるので、MPEG-4のファイルフォーマットを参考に再生時間を取得すればいいかも
http://aqmt.blog.so-net.ne.jp/psp-mp4-fileformat

ファイルのオープンはする必要があるので、オープン後にバイナリ形式で
ファイルフォーマットに従って、再生時間の値を取得すればいいのでは・・・

バイナリファイルを読み込む
http://hiros-dot.net/VBNET2005/File/File05.htm


引用返信 編集キー/
■34638 / inTopicNo.6)  Re[3]: VBで.movファイルを開かないで再生時間を取得したい
□投稿者/ たくボン (154回)-(2009/04/04(Sat) 00:05:56)
No34615 (hs さん) に返信
> つまり、動画ファイルをOpenせず、再生もさせることなく動画ファイルの再生時間を取得したいと考えています。
> やはり無理なのでしょうか?

うーん、エスパーじゃない限り無理だと思う。
あとチャンクデータから、ビットレートを使って再生時間を計算するなら、可変になる場合もあったりするから注意がいるかも。
再生とかを考慮しないで、単純にフレームとビットレートの情報を取得するだけならOpenしてもそんなに遅くはならないと思う(Cでしか作ってないから.NETでどれくらい差があるかは不明)
引用返信 編集キー/
■34641 / inTopicNo.7)  Re[3]: VBで.movファイルを開かないで再生時間を取得したい
□投稿者/ Azulean (347回)-(2009/04/04(Sat) 11:01:24)
No34615 (hs さん) に返信
> つまり、動画ファイルをOpenせず、再生もさせることなく動画ファイルの再生時間を取得したいと考えています。
> やはり無理なのでしょうか?

対象のファイルを全く開かないとなると、その再生時間の情報を別ファイルに保存しておいて読み出すぐらいになりますね。
ただ、同期が取れない等の問題を生む可能性が高いので、お薦めはしませんが…。

独自の暗号化フォーマットであるならば、ファイルのヘッダー部分に動画ファイルの情報を埋め込んでおいて、一覧表示する際はそのヘッダーだけ読んで、復号しないで情報を得るぐらいはできそうですけど。
この場合は、ファイル全体を復号する手間がないので、そこまで気にしなくても済むぐらいのスピードは維持できるのではないでしょうか。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -