動画や音の圧縮再生について。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
テマリ

動画や音の圧縮再生について。

#1

投稿記事 by テマリ » 13年前

動画や音を圧縮するプログラムを作ろうと思っています。
①圧縮する前の動画と流れる画像が数が同じように4分の動画を2分に、
    1秒に流れる画像が1枚だとしたら1秒に流れる画像を2枚。
②圧縮する前の音声と流れる音の数?を同じように4分の動画を2分に、
    音の波が1秒に100回あるとしたら1秒に200回。
の操作をするプログラムを作ろうと思っています。

1.上記のプログラムを作る場合に参考になるサイトと書籍を教えてほしいです。
2.上記のプログラムを作る場合はCかC#かどちらが良いか教えてほしいです。
3.動画や音をPCでどんな形で使っているのか詳しい説明サイトか書籍を知ってたら教えてほしいです。
4.上記のプログラムを[(2)の答え]で作るとき一人で遅くてどれぐらいで、速くてどれぐらいで作れるか教えてほしいです。

僕はC言語入門の基礎を少し学んだくらいです。
C#については基礎すら学んでいません。
C言語をもう少し学んだらC#を学ぶ予定です。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 動画や音の圧縮再生について。

#2

投稿記事 by softya(ソフト屋) » 13年前

すいません。やりたいことが良く分かりませんが倍速で再生する動画や音声を作りたいと言うことでしょうか?
動画は、コマを半分に抜くしか無いと思います。
音声はFFTを行なって周波数に分解して、同じ周波数のまま時間を半分にして逆FFTで音声に戻して倍速にします。たぶん、補正をかけないとノイズが出ると思います。

1.上記のプログラムを作る場合に参考になるサイトと書籍を教えてほしいです。

2.3.4.の理由により難しいです。

2.上記のプログラムを作る場合はCかC#かどちらが良いか教えてほしいです。

GUIを含むならC#でしょうが、処理速度ではCです。

3.動画や音をPCでどんな形で使っているのか詳しい説明サイトか書籍を知ってたら教えてほしいです。

音に関してはそもそも音波が理解できていない人が多いです。
音って?周波数って? そこが分かるかどうかで説明も変わります。

動画に関しては、連続するコマであるということや動画の圧縮の軽い知識もない人が多いので、そこを理解しているかですね。
そこもわからないと、そうとう基礎的な本から初めないとダメです。

4.上記のプログラムを[(2)の答え]で作るとき一人で遅くてどれぐらいで、速くてどれぐらいで作れるか教えてほしいです。

知識・技量の問題なので何とも言えません。
勉強だけでも時間が掛ると思いますが、今までの経験での数学と科学知識量が物を言うので何とも言えません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

テマリ

Re: 動画や音の圧縮再生について。

#3

投稿記事 by テマリ » 13年前

日本語下手ですみません。
倍速で再生する動画や音声を作りたいです。
>ソフト屋さんでも動画のコマ数をそのままで倍速にできませんか?
動画の再生等については何枚もの画像が流れて動画が出来上がってるという事ぐらいしか知りません。
PCでどう動いてるか等もまったくと言っていい程知りません。

音声については空気で振動が起きて空気の分子が押されて空気伝いで耳に音が聞こえ、PCで取り込んで表示される波形は波の振り幅が音の大きさで周波数が1秒間に何回振動したかの振動数が音の高さという事だけしか知らなく音については知識はほとんどありません。
超音波が聞こえない音というのをYahoo!辞書で今日始めて知りました。
κ(カッパ)やρ(ロー)は名前を知ったぐらいで微分方程式なんかはなにを指しているのかわかりません。

C#で作るフォームアプリケーションのフォーム上でファイルを指定して倍速に変換したりするプログラムなら操作が簡単そうなのでC#で作ろうと思います。

[1.3.4]をお願いたします。


アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 動画や音の圧縮再生について。

#5

投稿記事 by softya(ソフト屋) » 13年前

動画は、まぁ映画のフィルムとイメージ的には大差はありません。静止画のコマがあり、連続で再生することで動画に成るんです。
動画の倍速化に関してはfps次第です。60fpsの動画を120fpsにしても60fpsの液晶で表示するパソコン側として意味がありません。10fps~30fpsを倍速するのは問題ないでしょう。ただ、倍速にするだけなら動画のフォーマット次第ですがヘッダのfps情報を書き換えるだけです。この場合は音声で問題が生じると思います。
※ 音に関しは後述。
動画フォーマットは自分で調べてみてください。

問題点に関しては、パソコンの液晶が60fpsなのは変えれませんので動画のfpsが50だった場合は1秒間のコマ数がどうっても合いません。このつじつま合わせは動画再生ソフトが行なってくれると思いますが、何らかの違和感が生じる可能性があります。

「テレシネ変換の方法と原理」 参考。映画の秒間24コマからテレビの30フレームに合わせるテレシネ技術。
http://www.mediajoy.com/mjc/movie_club/ ... deo/1.html


それとやまだ さんが書いている通り、動画のエンコードソフトでもfpsを変えられるので自分で作る必然はありません。

音に関しては単純に倍速にすると周波数が倍になるので周波数を保ちながら再生速度を倍にすると言う面倒な事をしないといけません。
これにはフーリエ変換の技術の1つであるFFTと逆FFTを時間成分を操りながら使うということと、そのままだのノイズっぽくなるので何らかのフィルター(何が有効かは私も知りません)。
音で一番重要なのは、音の波形というのが複数の周波数成分が交じり合った複雑なものであるということをイメージできているかどうかです。

これらもフリーソフトは当然あります。

音やフーリエ変換に関しては、これらを見てみてください。
「JSTバーチャル科学館|音の正体」
http://jvsc.jst.go.jp/find/sound/index2.htm
「■□第1章 フーリエ変換?□■」
http://www.geocities.co.jp/AnimalPark-S ... /ft/1.html
「フーリエ変換の効用」
http://homepage2.nifty.com/kirislab/cha ... rConv.html

まぁ、とにかく沢山の事を勉強しないと何も初められないので、どのぐらい時間が掛るか基礎知識しだいと書いたわけです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

テマリ

Re: 動画や音の圧縮再生について。

#6

投稿記事 by テマリ » 13年前

やまださんソフト屋さんありがとうございます。

複数サイト見ましたがよくわかるサイトとよくわからないサイトがありよくわからないサイトは基礎知識がないからわかりませんでした。
なので自分が関わりたい物に対しての知識を集めていこうと思います。

ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る