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

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

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

Re[10]: 動画ファイル分割について


(過去ログ 64 を表示中)

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

■36732 / inTopicNo.1)  動画ファイル分割について
  
□投稿者/ OUMI (2回)-(2009/06/04(Thu) 15:22:53)

分類:[.NET 全般] 

現在バイナリファイルの分割に試行錯誤しています。
下記のコードで実装しましたが、"コーデックがサポートされていません"というエラーになり、再生することができません。
分割についてご教授いただけないでしょうか?
お願いします。

Class BinarySplit
Shared Sub Main()


' バイナリ・ファイルの読み込み
Dim src() As Byte = File.ReadAllBytes("D:\Camelliamoto.avi")

Dim FILESIZE As Integer = 1024 * 10000 ' 分割サイズ

'Dim num As Integer = 0

Dim remain As Integer = src.Length
While remain > 0

'' 作成する分割ファイルの実際のサイズ
Dim length As Integer = remain

'' 分割ファイルへ書き出すbyte配列の作成
Dim dest(length - 1) As Byte
'Array.Copy(src, num * FILESIZE, dest, 0, length)

'' 出力ファイル名(out0001.bin、out0002.bin、……)
Dim name As String = String.Format("D:\out.avi")

' byte配列のファイルへの書き込み
File.WriteAllBytes(name, dest)

'num += 1
remain -= FILESIZE
End While
End Sub
引用返信 編集キー/
■36737 / inTopicNo.2)  Re[1]: 動画ファイル分割について
□投稿者/ .SHO (855回)-(2009/06/04(Thu) 16:16:07)
分割しなかったら再生できるんですか?
引用返信 編集キー/
■36749 / inTopicNo.3)  Re[1]: 動画ファイル分割について
□投稿者/ たくボン (175回)-(2009/06/04(Thu) 18:42:48)
No36732 (OUMI さん) に返信
> 現在バイナリファイルの分割に試行錯誤しています。
> 下記のコードで実装しましたが、"コーデックがサポートされていません"というエラーになり、再生することができません。
> 分割についてご教授いただけないでしょうか?
> お願いします。

んー、ほんとに全部のデータを吐き出せてる?

While remain > 0
'・・・
remain -= FILESIZE
End While

1024 * 10000の倍数じゃないファイルだったらどうなるんだろ・・・。


引用返信 編集キー/
■36752 / inTopicNo.4)  Re[1]: 動画ファイル分割について
□投稿者/ オショウ (214回)-(2009/06/04(Thu) 19:58:00)
No36732 (OUMI さん) に返信
> 現在バイナリファイルの分割に試行錯誤しています。
> 下記のコードで実装しましたが、"コーデックがサポートされていません"というエラーになり、再生することができません。

  そんな無茶苦茶な・・・

  WMVですか?
  動画ファイルの構造を勉強してからやり直しましょう!

  そんな単純にサイズで分割なんてできません・・・

以上。

引用返信 編集キー/
■36753 / inTopicNo.5)  Re[2]: 動画ファイル分割について
□投稿者/ オショウ (215回)-(2009/06/04(Thu) 19:58:48)
をを〜AVIネ!

見えてませんでした。

が、結果は同じ・・・
引用返信 編集キー/
■36760 / inTopicNo.6)  Re[1]: 動画ファイル分割について
□投稿者/ Azulean (400回)-(2009/06/04(Thu) 22:15:48)
No36732 (OUMI さん) に返信
> 現在バイナリファイルの分割に試行錯誤しています。

分割とは単純にバイナリレベルで分割し、後で結合して元の形に戻すものですか?
それとも、動画ファイルを分割して、それぞれの分割された動画ファイルも再生できる必要があるのですか?

後者の場合、今の方法じゃ無理です。
少なくとも動画フォーマットを壊さないようにしないといけません。
引用返信 編集キー/
■36776 / inTopicNo.7)  Re[2]: 動画ファイル分割について
□投稿者/ .SHO (857回)-(2009/06/05(Fri) 10:31:47)
> 1024 * 10000の倍数じゃないファイルだったらどうなるんだろ・・・。

しかも "D:\out.avi" にガンガン上書きしてるし・・・。
引用返信 編集キー/
■36802 / inTopicNo.8)  Re[2]: 動画ファイル分割について
□投稿者/ OUMI (3回)-(2009/06/05(Fri) 14:47:55)
皆様ご返信ありがとうございます。

返信が送れすみません。

.SHO さま分割しなかったら再生はできます。
ですが、たくボン さま.SHOさまのご指摘どおり上書きをしていました。
現在は直しましたが、それでも再生はできませんでした。

オショウ さまAzulean さまのご指摘どおり、少し動画ファイルの勉強が足りないようです。
動画ファイルの構造を勉強します。
皆様ありがとうございました。
勉強になります。


引用返信 編集キー/
■36808 / inTopicNo.9)  Re[3]: 動画ファイル分割について
□投稿者/ .SHO (860回)-(2009/06/05(Fri) 15:05:22)
No36802 (OUMI さん) に返信

> ですが、たくボン さま.SHOさまのご指摘どおり上書きをしていました。
> 現在は直しましたが、それでも再生はできませんでした。

ちなみに、どういうふうに直したんですか?

分割した後再生する時には、元に戻したんですか?

引用返信 編集キー/
■36827 / inTopicNo.10)  Re[4]: 動画ファイル分割について
□投稿者/ OUMI (2回)-(2009/06/06(Sat) 00:41:32)
■SHO さん) に返信
> ちなみに、どういうふうに直したんですか?
>
> 分割した後再生する時には、元に戻したんですか?
>

直しましたのは、上書きされている部分だけなのですが、以下のように直しました。
分割した後は元には戻さずに再生しました。
※が直した箇所です。

Class BinarySplit
Shared Sub Main()


' バイナリ・ファイルの読み込み
Dim src() As Byte = File.ReadAllBytes("D:\Test.avi")

Dim FILESIZE As Integer = 1024 * 10000 ' 分割サイズ

Dim num As Integer = 0

Dim remain As Integer = src.Length
While remain > 0

' 作成する分割ファイルの実際のサイズ
Dim length As Integer =Math.Min(FILESIZE, remain) ※

' 分割ファイルへ書き出すbyte配列の作成
Dim dest(length - 1) As Byte
'Array.Copy(src, num * FILESIZE, dest, 0, length)

' 出力ファイル名(out0001.bin、out0002.bin、……)
Dim name As String = String.Format("D:\out" & num & ".avi")※

' byte配列のファイルへの書き込み
File.WriteAllBytes(name, dest)

num += 1
remain -= FILESIZE
End While
End Sub

引用返信 編集キー/
■36851 / inTopicNo.11)  Re[5]: 動画ファイル分割について
□投稿者/ たくボン (177回)-(2009/06/08(Mon) 09:50:30)
No36827 (OUMI さん) に返信
> ■SHO さん) に返信
>>ちなみに、どういうふうに直したんですか?
>>
>>分割した後再生する時には、元に戻したんですか?
>>
>
> 直しましたのは、上書きされている部分だけなのですが、以下のように直しました。
> 分割した後は元には戻さずに再生しました。

あぁ、それなら再生する訳がない(笑)
aviのチャンクとかぶった切ってるだろうし、ヘッダも修正されてないんだから。

http://msdn.microsoft.com/ja-jp/library/cc354259.aspx

ここ読んで意味がわからなかったら諦めるか、勉強してみて。
引用返信 編集キー/
■36880 / inTopicNo.12)  Re[6]: 動画ファイル分割について
□投稿者/ OUMI (1回)-(2009/06/08(Mon) 20:09:56)
No36851 (たくボン さん) に返信
> あぁ、それなら再生する訳がない(笑)
> aviのチャンクとかぶった切ってるだろうし、ヘッダも修正されてないんだから。
>
> http://msdn.microsoft.com/ja-jp/library/cc354259.aspx
>
> ここ読んで意味がわからなかったら諦めるか、勉強してみて。

たくボンさんありがとうございます。
勉強しましたら、
少しだけ成功しました。
引き続き分割をして見ます。
ありがとうございました。


引用返信 編集キー/
■36883 / inTopicNo.13)  Re[7]: 動画ファイル分割について
□投稿者/ .SHO (862回)-(2009/06/09(Tue) 08:28:13)
> 少しだけ成功しました。
> 引き続き分割をして見ます。

ありえない。。。
引用返信 編集キー/
■36887 / inTopicNo.14)  Re[8]: 動画ファイル分割について
□投稿者/ たくボン (180回)-(2009/06/09(Tue) 11:08:17)
No36883 (.SHO さん) に返信
>>少しだけ成功しました。
>>引き続き分割をして見ます。
>
> ありえない。。。

んー、どうかな。
チャンクとかヘッダ、フレームの概念がわかればそんなに難しくはないと思うけど、VBで組むのは少し無理があるかもなぁ。
できないことはないけど俺ならめんどくさいからVBでは組まないかも。
引用返信 編集キー/
■36891 / inTopicNo.15)  Re[9]: 動画ファイル分割について
□投稿者/ .SHO (863回)-(2009/06/09(Tue) 11:46:02)
> んー、どうかな。
> チャンクとかヘッダ、フレームの概念がわかればそんなに難しくはないと思うけど、VBで組むのは少し無理があるかもなぁ。
> できないことはないけど俺ならめんどくさいからVBでは組まないかも。

可能なのはわかるけど 1024 * 10000 バイトでぶった切って動くと思っていたことや
同じファイルに上書きしてることにデバッグ中に気づけないレベルから
2、3日で作れるとは思えないなぁ^^;;

そもそも「少しだけ成功」って何だろう?

引用返信 編集キー/
■36894 / inTopicNo.16)  Re[10]: 動画ファイル分割について
□投稿者/ たくボン (182回)-(2009/06/09(Tue) 13:03:06)
No36891 (.SHO さん) に返信
>>んー、どうかな。
>>チャンクとかヘッダ、フレームの概念がわかればそんなに難しくはないと思うけど、VBで組むのは少し無理があるかもなぁ。
>>できないことはないけど俺ならめんどくさいからVBでは組まないかも。
>
> 可能なのはわかるけど 1024 * 10000 バイトでぶった切って動くと思っていたことや
> 同じファイルに上書きしてることにデバッグ中に気づけないレベルから
> 2、3日で作れるとは思えないなぁ^^;;
>
> そもそも「少しだけ成功」って何だろう?

うーん、少し進歩したって考えてみればいいんじゃないかな。
みんな一気にスキル上がる訳じゃないし。上がるスピードも十人十色。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -