|
今回はいつもと趣向をかえて技術ちっくな内容。忘れた時用メモです。
スラドを見ていたらx264がBlu-ray互換で出力できるようになったとのことで調べてみた。
ts抜き とか リッピング とかその手の情報は出てくるのだが、やりたいのは逆。
PCにある動画を元にBlu-rayデッキで再生できる Blu-ray DISK を作りたいわけだ。
どうもデッキで再生するだけなら目新しいことでも無いようだが情報が少ない。
【動画編集ソフトを使用する場合】 用意するもの
動画編集はVirtualDub系でもよいのだがAviUtlは24fps化とか楽なので。
aviUtlのH264出力は拡張x264出力(GUI)ではなく可変フレームレート出力で使用する素のもの。
コマンド実行プラグインでも良かったが、あれは内部の取り回しがまわりくどそうなので却下。
VFWでの出力は論外。
その他、AviUtlプラグインはここを参照。入力ファイル形式やNR加工など必要に応じて。
!x264出力(CRF/BD)
set X264OPT=--crf 1 --weightp 0 --nal-hdr vbr --vbv-maxrate 50000 --vbv-bufsize 50000 --level 4.1
x264.exe "%X264OPT" -o "%TMPF%.264" %AVS%
avs2wav %AVS% "%TMPF%.wav"
%~dp2tools\eac3to\eac3to.exe "%TMPF%.wav" "%TMPF%.ac3" -little -16 -48000 -2 -resampleTo48000
del "%TMPF% - Log.txt" "%TMPF%.wav" "%OUT%.%EXT%"
echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 > "%TMP%.meta.txt"
echo V_MPEG4/ISO/AVC, "%TMPF%.264", fps=24, insertSEI,constSPS >> "%TMPF%.meta.txt"
echo A_AC3, "%TMPF%.ac3" >> "%TMPF%.meta.txt"
tsMuxeR.exe "%TMPF%.meta.txt" "%OUT%.m2ts"
del "%TMPF%.log" "%TMPF%.ac3" "%TMPF%.264" "%TMPF%.meta.txt"
exit
AviUtlで[プラグイン出力]→[x264出力(mp4/mkv)]を選択、
[ビデオ圧縮]の[テンプレート]で追加した[x264出力(CRF/BD)]を選択して出力する。
アスペクト比などの設定は無視してm2tsを出力している。
ファイルパスには日本語を使用しない事。(後で換えてもOK)
作成したm2tsをmultiAVCHDに放り込んで[START]、Blu-rayを指定して出力する。
DIGAではメニューを再生できなかったので(PowerDVDでは再生できた)
[Create top menu]等のチェックを外し[Skip top menu playback]にチェックを入れている。
ImgBurnのところをチェックしておけば完了時に連携してくれる。
あとは出来上がったBDMV , CERTIFICATE (とHDAVCTN) のフォルダをImgBurnで焼く。
注意としては UDF 2.5 で焼く事。BD-REメディアで試すと良い。
テンプレートのeac3to、tsMuxeRのパラメータはソースにより変更の必要があるかもしれない。
また、x264のオプションは好みで追加/変更する。2passでもかまわない。ちなみに
--sar 1:1 --crf 18 --preset veryslow --me umh --tune grain --weightp 0 --bflames 2 --ref 3 --nal-hdr vbr --vbv-maxrate 38000 --vbv-bufsize 73000 --level 4.1 --keyint 240 --min-keyint 1 --mvrange 511 --b-pyramid strict --slice 4 --aud --colorprim bt709 --transfer bt709 --colormatrix bt709 --threads auto --thread-input --ssim
こんなかんじで、あとはcrfだけ場合に応じて調整している。
【編集しない場合】
H264なMP4ファイルが元であれば、MUXし直すだけ。なので、以下のようなbatファイルを
作成し、まとめてドラッグ&ドロップすれば一括変換できる。(たぶん)
set TMPF=0
:LOOP
cd /d "%~dp1"
set /a TMPF=%TMPF% + 1
if %TMPF% lss 10000 set TMPF=0%TMPF%
if %TMPF% lss 1000 set TMPF=0%TMPF%
if %TMPF% lss 100 set TMPF=0%TMPF%
if %TMPF% lss 10 set TMPF=0%TMPF%
if exist %TMPF%.m2ts goto LOOP
copy /y "%~nx1" "%TMPF%.mp4"
set TRK=1
echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 > "%TMPF%.meta.txt"
:DEMUX
MP4Box.exe "%TMPF%,mp4" -raw %TRK%
if not exist "%TMPF%_track%TRK%.aac" goto EAAC
faad.exe -o "%TMPF%_track%TRK%.wav" "%TMPF%_track%TRK%.aac"
eac3to.exe "%TMPF%_track%TRK%.wav" "%TMPF%_track%TRK%.ac3" -little -16 -48000 -2 -resampleTo48000
echo A_AC3, "%TMPF%_track%TRK%.ac3" >> "%TMPF%.meta.txt"
del "%TMPF% - Log.txt" "%TMPF%_track%TRK%.wav" "%TMPF%_track%TRK%.aac"
:EAAC
if not exist "%TMPF%_track%TRK%.h264" goto E264
echo V_MPEG4/ISO/AVC, "%TMPF%_track%TRK%.h264", fps=30, inserSEI, contSPS >> "%TMPF%.meta.txt"
:E264
set /a TRK=%TRK% + 1
if %TRK% lss 2 goto DEMUX
tsMuxeR.exe "%TMPF%.meta.txt" "%TMPF%.m2ts"
del "%TMPF%.mp4" "%TMPF%.meta.txt" %TMPF%_track1.* %TMPF%_track2.*
shift
if not "%~1" == "" goto LOOP
exeのパスは環境に応じて変更のこと。
MP4Box.exeはx264出力プラグインに、eac3to.exe,faad.exeはmultiAVCHDにある。
日本語ファイル名回避の為に、連番ファイルを作成するようにしている。
できあがったm2tsをmultiAVCHD と ImgBurn で焼くのはAviUtlでのやり方に同じ。
余談:
じつは、tsMuxeRでもBlu-ray形式の出力ができる。複数ファイルの場合、連結させるように
指定するのだが、できあがったものが再生できない。1本の長いTSを作成する際、連結部分が
うまく作成できていないようだ。(最初だけ再生できて2つめからが不可になる)
その点、multiAVCHDはTS結合せずにチャプターで複数ファイルをうまいことやっている。
そのmultiAVCHD、色々なファイル形式を入力できるので元ファイルを放り込めるのだが、これも
出来上がったものがDIGAで再生できない。BDと形式が合わない場合、内部でtsへ変換をしており、
これがうまくいっていないようだ。なのでtsをあらかじめ用意し、内部変換させないようにする。
ts化はVLC使うのが一番楽なのだが、これもNG。そもそも、VLCの変換機能自体あやしい。
|

- >
- コンピュータとインターネット
- >
- コンピュータ
- >
- ソフトウェア




