« 成長日記 | メイン | 動画の共有方法まとめ »

動画をエンコードする(MP4)…Zoome,ニコニコ動画

[カテゴリー:動画共有方法]

改訂履歴
3/3…avsファイルの編集に関して追記。
    ロゴを追加しない場合はファイル読み込みのmain=を削除します。
3/8…公開batファイルを更新、その他細々とした修正
3/14…エンコードが完了したファイルを再生する方法を追記
3/31…ニコニコ動画エンコードに関する制限を変更
     通常アカウント:MaxBitrate600kbps
     課金アカウント:MaxBitrate828kbps サイズ制限40MBに


撮影した動画をエンコードします。

撮影しただけの動画はファイルサイズが大きすぎてとても共有することはできません。
その為、ファイルサイズを小さくする必要性があります。
そのファイルサイズを小さくする事をエンコードといいます。

ここではZoomeにアップロードするためのエンコード方法を紹介します。


ニコニコ動画やZoomeに画質を保ったままアップロードするには、Mpeg4(H.264+AAC)形式で動画を作成する必要があります。

Zoomeのルール
・映像コーデックがH.264
・映像ビットレートが1.5Mbps以下
・音声コーデックがAACもしくはHE-AAC
・動画のアスペクト比が4:3
・ファイルサイズが200Mbyte以下

ニコニコ動画のルール
・1ファイル40MBまで
・最大ビットレート800kbps(ただし、3月14日現在で828kbpsまで可能)
・動画のアスペクト比が4:3もしくは16:9

・音声VBR不可?
・可変フレームレート不可?


!!! 記事内の円記号がすべてバックスラッシュ(\)になっています。
基本的にWindowsでパス指定のために使用する場合は円記号を用います。
円記号は通常キーボードのエンターキーの下にあるShiftキーの左のキーを押すことで入力できます。


エンコードの手順は以下の通りです。
1.準備(ソフトウェアを導入する)
2.avsファイルとbatファイルを用意する
3.avsファイルを編集する
4.batファイルを編集する
5.エンコードする


1.準備(ソフトウェアを導入する)

Mpeg4(H.264+AAC)形式というものを作るためにはいくつかのソフトウェアが必要となります。
そのソフトウェアを下記にまとめたので、基本的にすべてのソフトウェアをダウンロードし、準備しておいてください。
すべて無料で使用することができます。

エンコードには専用のソフトウェアとbatファイルを使用します。
まずは以下の4つのソフトウェアをすべてダウンロードします。

(1) x264.exe(x264 詰め合わせ)最新版
(2) avs2wav
(3) MP4Box-0.4.4.zip(バージョンは任意。MP4Boxの中で、-devとついていない最新版をお勧めします)
(4) neroArcEnc

4つのソフトウェアをダウンロードしたら、それぞれの内容から以下のファイルを探してください。
なお、エンコードする動画とこれらソフトウェアは同じドライブ(パーティション)内にあったほうが良いようです。
そして以下の例画像のように、それぞれのファイルを同じフォルダに保存してください。

(1) x264.exe と pthreadVC2.dll
(2) avs2wav.exe
(3) MP4Box.exe
(4) neroAacEnc.exe

なお、x264.exeを使用するためには以下のソフトウェアも導入する必要があります。
未導入の場合はインストールしてください。
・.Net Framework 2.0 SP1
http://www.microsoft.com/downloads/details.aspx?familyid=79BC3B77-E02C-4AD3-AACF-A7633F706BA5&displaylang=ja
http://www.microsoft.com/downloads/details.aspx?FamilyId=5F7F4632-C9C0-4E79-B269-C2AEE9D1962E&displaylang=ja

・Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)
http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=ja


また、エンコードに以下のソフトウェアを使用します。
Avisynth rev. 2
Avisynth_257.exeをダウンロードし、インストールしてください。
ダウンロードページ直リンクになっていますが、最新版をインストールする際はこちらのページをご参照ください。

エンコードが完了した動画の確認に、以下のソフトウェアをインストールします。
Haali Media Splitter
インストール時にEnable MP4 Supportにチェックが入っていることを確認します。

ffdshow
ページの一番下にあるダウンロードから安定版をインストールしてください。
インストール時にH.264/AVCのチェックとAACのlibfaad2のチェックを入れます。


2.avsファイルとbatファイルを用意する
以下の二つのファイルをダウンロードしてください。
これはエビフにゃイ専用チラシの裏さんで公開されているサンプルを改造したものになります。
(改造と公開許可を頂いてあります)

(1) encode.bat
ダウンロード完了後、.txtの拡張子をなくし、encode.batという名前で先ほどexeをまとめたフォルダに保存してください。
(このサンプルを使う場合同じフォルダに置くことが必須です)
(2) encode.avs
このファイルはどの場所に保存しても問題ありません。先ほどexeをまとめたフォルダもしくは、
エンコードする動画がおいてあるフォルダに保存します。



3.avsファイルを編集する
手順2でダウンロードしたavsファイルをテキストエディタで開いてください。
メモ帳で問題ありません。

そしてavsファイルの内容を読み、自分の環境に合わせて書き換えます。
それぞれの説明は以下のとおりです。



#AVIを開く(ひとつのファイルから Dxtory等)
#mpeg1を開く場合MPEGSource("")、mpeg2を開く場合MPEG2Source("")
#その他の形式のファイルを開く場合はDirectShowSource("")で指定。詳しくはAVISYNTH WIKIで検索。
main = DirectShowSource("J:\movie\080301fSR.avi")

これはDxtory等で動画を撮影してあり、エンコードする動画がひとつのみの場合に実行します。
J:\movie\080301fSR.aviの部分をエンコードする動画のフルパスに変更してください。
!!! また、後ほど説明するロゴ追加を実施しない場合は、main = を削除してください。
例:
DirectShowSource("J:\movie\080301fSR.avi")

Frapsで動画を撮影してあり、複数の動画を読み込む場合は、この作業は実行しないようにします。
main = DirectShowSource("J:\movie\080301fSR.avi")の行の先頭に「#」を書き加えてください。
例:
#main = DirectShowSource("J:\movie\080301fSR.avi")


#AVIを開く(複数のファイルから Fraps等)
#main = AVISource("J:\movie\FEzero_Client 2008-03-01 17-42-14-859.avi") +
#\ AVISource("J:\movie\FEzero_Client 2008-03-01 20-22-43-00.avi")

これはFrapsで動画を撮影してあり、エンコードする動画が複数ある場合に実行させます。
複数のファイルを読み込む場合は、2行目以降の先頭にある「#」を削除し、上のDxtory等で読み込む処理を実行しないようにしてください。
!!! また、後ほど説明するロゴ追加を実施しない場合は、main = を削除してください。

動画のパス部分を読み込む動画のフルパスに変更します。
動画が3個以上ある場合は、2行目をコピーし、すべてのファイルを読み込むように追加してください。
行を追加した場合、途中の行の最後に「+」を追加してください。
例:
main = AVISource("J:\movie\FEzero_Client 2008-03-01 17-42-14-859.avi") +
\ AVISource("J:\movie\FEzero_Client 2008-03-01 20-22-43-00.avi") +
\ AVISource("J:\movie\FEzero_Client 2008-03-01 20-30-43-00.avi")


####################################
## ロゴの挿入設定 ##
## チャットや名前を隠すために ##
## ロゴを挿入する場合はこの設定 ##
####################################
# ソースの読み込みと変数への代入(ロゴ挿入時)
# ConvertToRGB32() で RGB32 に変換
#main.ConvertToRGB32()

# ロゴの読み込みと変数への代入(画像を RGB32 デコード)
# (ロゴ挿入時)
#logo = ImageSource("J:\movie\beta.jpg").ConvertToRGB32()

# Layer で main の上に logo を追加
#Layer(main, logo, "add" , x=6, y=521)

################### ロゴここまで

チャットログを隠すなど、ロゴを追加する場合に使用します。
使用する場合は、以下の3行の行頭の「#」を削除してください。
また、logo = ImageSource("J:\movie\beta.jpg").ConvertToRGB32()のファイルパスを用意した画像のフルパスに変更します。
画像の作成方法はこちらの記事をご参照ください。
また、画像の大きさと表示位置を#Layer(main, logo, "add" , x=6, y=521)の最後にあるx=とy=の値で調整します。
この数値の場合は16行程のチャットログが隠れるような位置になっています。
使用例:
# ソースの読み込みと変数への代入(ロゴ挿入時)
# ConvertToRGB32() で RGB32 に変換
main.ConvertToRGB32()

# ロゴの読み込みと変数への代入(画像を RGB32 デコード)
# (ロゴ挿入時)
logo = ImageSource("J:\movie\beta.jpg").ConvertToRGB32()

# Layer で main の上に logo を追加
Layer(main, logo, "add" , x=6, y=521)


#範囲指定をする、下の例は0フレームから1000フレームまでを指定
#複数範囲指定する場合はtrim(0,1000)+trim(1500,2000)と+で追記していく
#trim(0,3600)

エンコード動画をカット編集する場合に使用します。
アップロードにファイルサイズ制限があるため、不要な部分はこの機能でカットすることをお勧めします。
使用する場合は、最下行の行頭の「#」を削除してください。

入力方法は削除したいシーンの秒数xフレームレートで計算した数値を入力します。
30fps動画のはじめから2分間のシーンを抜き出したい場合、以下の例となります。
2分間 = 120秒 x 30fps = 3600
例:
#範囲指定をする、下の例は0フレームから1000フレームまでを指定
#複数範囲指定する場合はtrim(0,1000)+trim(1500,2000)と+で追記していく
trim(0,3600)


#フレームレートを変えたい整えたい場合で、下の例は29.97に
#ChangeFPS(29.97)
エンコード動画のフレームレートを変更したい場合に使用します。
使用する場合は、最下行の行頭の「#」を削除してください。

ニコニコ動画にアップロードする場合、この作業を実施したほうがアップロードが安定するようです。


#サイズを変えたければ、下の例は640x480に
#クロップもしたい場合で、左右4pxずつクロップする場合はLanczosResize(640,480,4,0,4,0)と指定でOK
LanczosResize(640,480)

エンコード動画をリサイズする場合に使用します。
Zoomeの場合はアスペクト比が4:3でない動画をエンコードする場合はサイズに注意してください。
リサイズしない場合は最下行に「#」を追加します。


#黒枠を追加したければ、下の例は上下に24px黒色を追加
#AddBorders(0,24,0,24,$000000)

Zoomeにアップロードする場合、エンコードする動画のアスペクト比が4:3ではない場合、
必ず4:3となるように黒枠を追加します。
使用する場合は最下行の行頭の#を削除します。


4.batファイルを編集する
batファイルは通常そのまま使用することができますが、
以下のいずれかの条件を満たしている場合はbatファイルを修正してください。
(.batをダブルクリックでは実行してしまうため、テキストエディタから開くか、右クリック→編集と選択してください)

サイズや時間制限のためにMP4動画を分割する場合は、
batファイルのmp4boxを以下のように書き換えます。

mp4box -splits 40000 -add "temp.mp4" -add "tempwav.mp4" -new "%~1.mp4"

-splits 40000の部分が分割になります。
この例ですとニコニコ動画の制限である41943kb以下になるように分割されます。分割サイズよりも小さい場合はエラーが発生するので注意してください。


また、エンコードに時間がかかりすぎるという場合は、
以下の行を書き換えることで多少エンコード時間を減らすことができます。
(画質は多少下がります。)

元の行:
echo 1pass目エンコード開始…%time%
x264 --pass 1 --bitrate %VRAT% --level 4 --stats "sample.stats" --keyint 240 --min-keyint 1 --scenecut 70 --bframes 10 --b-rdo --weightb --direct auto --filter 3,3 --analyse p8x8,b8x8,i4x4 --8x8dct --trellis 2 --cqm jvt --merange 32 --qpstep 6 --ref 6 --mixed-refs --ipratio 1.70 --pbratio 1.50 --subme 7 --no-fast-pskip --threads auto --thread-input --progress --no-dct-decimate --no-psnr --no-ssim --output "temp.mp4" %~1
echo 1pass目エンコード終了。2pass目エンコード開始…%time%
x264 --pass 2 --bitrate %VRAT% --level 4 --stats "sample.stats" --keyint 240 --min-keyint 1 --scenecut 70 --bframes 10 --b-rdo --weightb --direct auto --filter 3,3 --analyse p8x8,b8x8,i4x4 --8x8dct --trellis 2 --cqm jvt --merange 32 --qpstep 6 --ref 6 --mixed-refs --ipratio 1.70 --pbratio 1.50 --subme 7 --no-fast-pskip --threads auto --thread-input --progress --no-dct-decimate --no-psnr --no-ssim --output "temp.mp4" %~1
echo 2pass目エンコード終了…%time%

変更後(コピーして元の行に上書きしてください)
echo 1pass目エンコード開始…%time%
x264 --pass 1 --bitrate %VRAT% --level 4 --stats "sample.stats" --keyint 240 --min-keyint 1 --scenecut 70 --bframes 10 --b-rdo --weightb --direct auto --filter 3,3 --analyse p8x8,b8x8,i4x4 --8x8dct --trellis 1 --cqm jvt --merange 32 --qpstep 6 --ref 6 --mixed-refs --ipratio 1.70 --pbratio 1.50 --subme 6 --no-fast-pskip --threads auto --thread-input --progress --no-dct-decimate --no-psnr --no-ssim --output "temp.mp4" %~1
echo 1pass目エンコード終了。2pass目エンコード開始…%time%
x264 --pass 2 --bitrate %VRAT% --level 4 --stats "sample.stats" --keyint 240 --min-keyint 1 --scenecut 70 --bframes 10 --b-rdo --weightb --direct auto --filter 3,3 --analyse p8x8,b8x8,i4x4 --8x8dct --trellis 1 --cqm jvt --merange 32 --qpstep 6 --ref 6 --mixed-refs --ipratio 1.70 --pbratio 1.50 --subme 6 --no-fast-pskip --threads auto --thread-input --progress --no-dct-decimate --no-psnr --no-ssim --output "temp.mp4" %~1
echo 2pass目エンコード終了…%time%


5.エンコードする
手順3で編集したavsファイルを、encode.batにドラッグします。
音声のエンコード設定を3回聞いてきますので、特に変更する必要がなければそのままエンターを押します。

AAC-LCとHE-AACの使い分けは、高音質が必要であればAAC-ACの128kbps~という設定にします。
音声ビットレートを64kbps以下にする場合はHE-AACを使用します。
自動的に音量を調整する方法はこちらのページを参照してください。
自動的に調整する場合、後から音量を変更する場合はオプションで-lcを指定する必要があります。

こちらの計算機を使って適正なBitrateを設定してください。

Zoomeの場合の動画時間とBitrate対比表は以下の通りです。
合計ビットレートなので、デフォルト設定であれば音声分の64000を減算した値が
映像に使えるビットレートとなります。


17分00秒: 1568627[bps] 
17分41秒: 1500000[bps] ビットレート限界 1.5Mbps
18分00秒: 1481481[bps] 
19分00秒: 1403508[bps]
20分00秒: 1333333[bps]
21分00秒: 1269841[bps]
22分00秒: 1212121[bps]
23分00秒: 1159420[bps]
24分00秒: 1111111[bps]
25分00秒: 1066666[bps]
26分00秒: 1025641[bps]
27分00秒: 987654[bps]


ニコニコ動画の場合の動画時間とBitrateの対比表は以下の通りです。
合計ビットレートなので、デフォルト設定であれば音声分の64000を減算します。
06分00秒: 932068[bps]
06分26秒: 850943[bps] ビットレート限界828000bps(プレミアム会員、暫定値)
07分00秒: 798915[bps]
08分00秒: 699051[bps]
08分31秒: 656384[bps] ビットレート限界656384bps(一般会員)
09分00秒: 621378[bps] 
10分00秒: 559240[bps] コメント保存数が動画が10分以上の場合1000になる(未満だと500)
15分00秒: 372827[bps] 
20分00秒: 279620[bps] 
25分00秒: 223696[bps]
30分00秒: 186414[bps] 

avsファイルと同じフォルダに、avsファイル名.mp4という名前でエンコードされた動画が作成されます。

なお、このサンプルでは一時ファイルが削除されないようになっています。

エンコードに失敗した場合(ファイルサイズがわずかに大きい等)は、
こちらのサイトの記事を読んで勉強し、一時ファイルを使って適正なエンコードができるまで勉強すると良いでしょう。

なお、一時ファイルを自動的に削除する場合は、encode.batの最後にある
rem del tempwav.wav
rem del temp.mp4
rem del tempwav.mp4

のremを削除します。
例:
del tempwav.wav
del temp.mp4
del tempwav.mp4

コメント (36)

774:

5の手順を行うとエラーが出てしまいます。
**************以下エラー内容抜粋***********
'*'は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
****************************************************
上記のようなエラーが複数行でます。何が原因かわかりますか?

Celp:

1の手順を再確認してみてください。
exeとbatは同じフォルダに保存してある必要があります。

また、batはダブルクリックで実行しては動きません。
必ずavsファイルをドラッグして実行させてください。

774:

1.DLした物を保存する場所仮にフォルダAを作成
2.x264.748.release2.rar をDLしAにx264.exe、pthreadVC2.dllを移動
3.avs2wav.zip/49KB をDLしAにavs2wav.exeに移動
4.MP4Box-0.4.4.zip をDLしAにMP4Box.exeを移動
5.NeroDigitalAudio.zipをDLしAにneroAacEnc.exeを移動
6.Net Framework 2.0 SP1
・Microsoft Visual C++ 2008 のインストール
7.Avisynth rev. 2をDLインスト。
8.bat、avsをDLしavsの内容の動画指定パスのみ変更しavsファイルを、encode.batにドラッグします。
で2度試みましたができません。
OSはXPです。

Celp:

batファイルの保存はどのように実施していただいたでしょうか。
テキストのおかしな部分で改行しているような気がします。
ワードパットなどで作成されており、自動改行機能等が有効になっていませんか?

batファイルのリンクを右クリックメニュー→保存と選択し、
名前のみ変更する方法を試してみてください。

ちなみに、上記エラー内容以外の動作はいかがでしょうか。
エンコード設定等を聞いてくる場所までは進んでいますか?

774:

batファイルは上記の方法で再度保存してみましたが同じエラーがでるようです。
ttp://www.uploader.jp/dl/vipquality/vipquality_uljp00148.bmp.html
左がエラー右がファイル内の構造になっています。

Celp:

失礼しました、batファイルをダウンロードしてみたところ、
ファイルの中身が壊れているようでした。

全く反対のことで恐れ入りますが、以下の手順を試していただけますでしょうか。
(1)手順2のbatファイルテキストへのリンクを表示させる
(2)ページのテキストをCtrl+A等ですべてコピーし、メモ帳等にペーストする
(3)内容を保存した後、.batにリネームし使用する

こちらの不手際で申し訳ありません。

Celp:

右クリック→保存でも動作するように修正いたしました。

ASCIIモードでアップロードしていた為、改行コードが変わっていたのが原因でした。
バイナリでアップしなおしたため、正常に使用できるようになっていると思います。
お手数をおかけして申し訳ありませんでした。

774:

素早い対応ありがとうございます。
ttp://www.uploader.jp/dl/vipquality/vipquality_uljp00149.bmp.html
少しは進むようになったんですが今度はavs2wav.exeでエラーがでます。
何度も申し訳ないです。

Celp:

簡単にできる記事にしたいため、フィードバックは頂けるほどありがたいです。

avsファイルでエンコードする動画のフルパスは指定されているでしょうか。
また、動画を読み込む部分で、ロゴ機能を使用しない場合はmain=の部分を削除する必要があります。


エンコードしようとしている動画の音声はどのようなものでしょうか。
もしdxtory等で撮影されている場合、PCM以外の方式で撮影は行っていないでしょうか。
(MP3等でエンコードしながら撮影されていますか?)

Celp:

avsファイルも修正アップロードしてありますので、
念の為こちらもダウンロードしなおしてみてください。

774:

一度全てアインストし全ての手順を最初から行ったら無事できました。私の不手際でした。
丁寧に親身になって回答して頂きありがとうございます。

nao:

エンコードを行なおうとするとエラーが出てしまいました。

エンコード中(音声)で
ERROR: could not open WAV file

エンコード中(映像)で
x264 [error]: Rawyuv input requires a resolution.

上記のような内容です。
よろしくお願いします。

Celp:

使用しているOSと、エンコードしようとしている動画の形式を教えていただけるでしょうか。

また、以下の点をご確認願います。
・avsファイルの動画読み込み部分にて、適切な読み込み関数が使用されているか
 DxtoryとFrapsどちらで撮影したかによって関数を変える必要があります。
・avsファイルにてエンコードする動画のパスはきちんと指定されているか
 きちんとダブルコーテーション("")で、くくられているか確認します。
・エンコードの際、avsファイルをbatにドラッグしているか
 動画をそのままドラッグしてもおそらくエンコードできません。

以上、よろしくお願いします。

nao:

失礼いたしました。

OSはXPで、Frapsで撮影したaviファイル10個程をエンコードするつもりです。
現在以下のような記述をしております。(抜粋)

AVISource("J:\FEZ\FEzero_Client 2008-03-01 10-10-44-66.avi") +
\ AVISource("J:\FEZ\FEzero_Client 2008-03-01 10-12-54-89.avi") +
\ AVISource("J:\FEZ\FEzero_Client 2008-03-01 10-15-10-14.avi")

動画のパスとダブルコーテーションは確認しましたが問題は見つかりませんでした。

染:

naoさんと同じ症状の俺が通ります…。

全くエラー表示でOSはXP
記述もnaoさんのものとほぼ同様です。

Celp:

念の為ご使用のavsファイルをそのままUpして頂けますでしょうか。
http://a-cube.net/cgi/up/

batへドラッグした結果のスクリーンショットも
アップしていただけると助かります。

エンコードを開始した際、エラーが出た後どのような状態になっているでしょうか。
temp.mp4という名前のファイルは作成されているかの確認をお願いします。

もしtempが作成されていない場合、動画の読み込みを失敗している可能性が高いです。

動画を連結せず、ひとつだけ読み込んだ場合はどのような結果になるかも試していただけますでしょうか・

改善する見込みは不明ですが、もしよければffdshowを導入してみてください。
http://cowscorpion.com/Codec/ffdshow.html

らん:

途中失礼します。
私も最初上のお二方と同じ症状でしたが、
各ソフトと動画が入ったフォルダをCドライブ直下に置いた所
エンコードできました。

分かりやすい説明を書いてくださったCelpさんには感謝です。

Celp:

>>らん様
補足ありがとうございました。

>>nao様
>>染様
らん様のご指摘も参考にしてみてください。
エンコードに使用するフォルダのフルパス上に全角が入らないことと、
階層が余り深くならないようにしてみてください。


追加で、以下のことも試してみてください。
・AVISYNTHの再インストール
・encode.batをテキストエディタで開き、
 avs2wav %~1 tempwav.wavの行を
 avs2wav %~1 "tempwav.wav"に変更する

Celp:

エンコードするために用意したソフトウェアのフォルダを、
元動画と同じディレクトリに配置するとできたという報告を頂きました。
未解決でしたら試してみてください。

手順1に必要なソフトウェアを追加しましたので、
そちらを導入も同時にお願いいたします。

nao:

Celp様、らん様

ソフトウェアを同じディレクトリに配置することで無事にエンコードすることができました。
ありがとうございました。

みんち君:

エンコードしようとすると
avs3wav.exeに問題が発生したため終了します。
と表示されてエンコードができません。

知り合いに言われたままに設定したので何が原因なのかまったくわからないです(´・ω・`)

どうしたらいいでしょうか

Celp:

>>みんち君様

ここの記事ではなく、お知り合いを頼りに作業をされていたのであれば、
まずはここの記事との相違点を教えていただけないでしょうか。

そちらのエラーが出る問題点としては、以下のことが考えられます。
(1)動画の音声がPCMではない
(2)動画のフルパスに全角文字がある
(3)動画とエンコード用ソフトウェア一式が同じドライブに保存されていない

その他対処法として以下があります。
(1)encode.batをテキストエディタで開き、
 avs2wav %~1 tempwav.wavの行を
 avs2wav %~1 "tempwav.wav"に変更する

匿名:

dxtoryで録画したものをエンコードさせてもらったのですが
再生するとたまに倍速になったり元の速度に戻ったりと
可笑しな出来になりました。サウンドの方も倍速になった
映像に置き去りにされているのか、ズレているのかで映像と
バラバラになってしまいました。原因はなんなのでしょうか?

エンコードする前のAviファイルを再生すると音のズレや
映像の倍速化等はありませんでした。

Celp:

元ファイルが正常であればエンコード後に異常な状態になったことは経験がありません。
状況も言葉に表しづらいので調べる事が難しいです。
エンコード中にPCで他の作業を実施されたりはしていませんでしたか?
また、何度エンコードしても全く同じ結果になりますか?

せろ:

匿名になっていました・・・申し訳ないです。

指摘された2点を試してみましたが同じ結果になりました。
試しに同じ動画を5回エンコードしてみましたが倍速
通常再生速度になったり戻ったりした時間帯も一緒でした。

気になった点でエンコード中CPU使用率がほぼ100%だった事なのですが、これは音ズレ等に関係しているのでしょうか?

Celp:

エンコード中のCPU使用率は高くてもおそらく問題ありません。
15FPSなどの低いFPSで撮影した動画でも同様の問題が発生しますか?
現在のDxtoryの設定にHDDの速度は十分間に合っているか確認してみて下さい。

せろ:

dxtoryのFPSの値を下げてみた所、問題なく録画されました。

迅速な対応と説明ありがとうございました!

匿名:

少し教えてほしいのですが
dxtory音声コーデックなしで44.1khz16ビット,ステレオで
録画後上記の方法でエンコードすると必ず後半にいくにつれて
音がずれるんですけどどうしたらいいんでしょうか?

Celp:

私も同様の問題が発生して原因について調べているところです。
以下のURLを参考にしてみてください。
http://forum.dxtory.com/index.php?topic=211.0

匿名:

temp.mp4というのができるのですが、容量が0KBです。

匿名:

エンコード時にエラーがでます。
tempwav.wavとtempwav.mp4が見つからないとでます。

匿名:

連続レスすみません。
自己解決しました・・・。

ただ、エンコされた動画は作成されません。

てぃしふぉ:

コメントや補足を何度も読み試してみましたが、下記のようなエラーがでました。

ERROR: could not open WAV file
***************************************
** エンコード中(映像) **
***************************************
1pass目エンコード開始…18:08:41.98
x264 [error]: Rawyuv input requires a resolution.
1pass目エンコード終了。2pass目エンコード開始…18:08:42.01
x264 [error]: Rawyuv input requires a resolution.
2pass目エンコード終了…18:08:42.03
***************************************
** 音声と画像の結合 **
***************************************
Unknown input file type
Error importing temp.mp4: End Of Stream / File
***************************************
** 完成結果の表示 **
***************************************
Error opening file C:\Documents and Settings\Owner\My Documents\movie make\encod
e.avs.mp4: Requested URL is not valid or cannot be found
***************************************
** 一時ファイルの削除 **
***************************************
続行するには何かキーを押してください . . .

Celp:

>>匿名様
tempファイルが作成されない点については自己解決されたということですが、
具体的に今はどのような状況でしょうか?
tempwav.mp4とtemp.mp4が存在しており、それぞれが正常に再生できるようであれば、
メモ帳に以下の内容をコピペして拡張子を.batとし、
tempファイルと同じフォルダに保存して実行した結果を教えていただけないでしょうか。
(内容はencode.batで最終的に実施するmp4box.exeを使った結合とほぼ同じものです。)

@echo off
cd /d %~dp0
mp4box -add "temp.mp4" -add "tempwav.mp4" -new "new.mp4"
pause
exit


>>てぃしふぉ様
ロゴ挿入は未使用でしょうか?
そうであればencode.avsで動画を読み込む際の関数を、
DirectShowSource("パス")からAVISource("パス")にすると
改善する場合があります。

通りすがり:

当時のx264.exeなら正常ですが、最新物だとエラー出ますな。

1pass目エンコード開始… 2:43:06.48
x264: unknown option -- bime
1pass目エンコード終了。2pass目エンコ
x264: unknown option -- bime
2pass目エンコード終了… 2:43:06.79

Celp:

ご指摘ありがとうございます。
bimeオプションを削除しました。

コメントを投稿

表示されている数字を入力してください。

コメントしてください。

About

2008年03月31日 08:32に投稿されたエントリーのページです。

ひとつ前の投稿は「成長日記」です。

次の投稿は「動画の共有方法まとめ」です。

カテゴリー 最近のコメント

アーカイブ

メールフォーム(本人のみに届きます)
Message

Name
Powered by
Movable Type 3.34