色々なことを、気の向いたままに。
事象境界線
スポンサーサイト
--年 --月 --日 (--) --:-- | 編集
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
fll(H.264/AVC+aacなflv)をmp4にとりあえず変換してみる
2008年 11月 02日 (日) 13:46 | 編集
わかる人向け。

でもこれでもまだアスペクト比がおかしいのでちょっと考える。わかったら更新します。

用意するもの
携帯動画変換君
最新のFFmpeg
(↑を参考にココなどから新しいのをダウンロードして、設定をしておきましょう)

準備
とりあえずwikiを読んで、「(例2) iPod 向け MP4(H.264+AAC) の1passエンコード (新FFmpeg→ffmpeg2) マルチスレッド対応」のところでも設定しておく。


以上。でも最後のtempに書き出すところは<%OutputFile%p>.mp4に変えて、
Command1=""<%AppPath%>\cores\NicMP4Box" -add "<%TemporaryFile%>.mp4" -new "<%OutputFile%>.mp4""
Command2="rm "<%TemporaryFile%>.mp4""
はコメントアウトしたほうが幸せになれるかもしれない。

最終的には、こういうことね。
Title=H.264 QVGA(384kbps/128kbps)
FileNameMax=59
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -threads 0 -padtop 30 -padbottom 30 -s 320x180 -vcodec libx264 -crf 23.0 -level 30 -coder vlc -qmin 10 -acodec libfaac -ab 128k -ac 2 -ar 48000 -f mp4 "<%OutputFile%>.mp4""
;Command1=""<%AppPath%>\cores\NicMP4Box" -add "<%TemporaryFile%>.mp4" -new "<%OutputFile%>.mp4""
;Command2="rm "<%TemporaryFile%>.mp4""
Command3=""<%AppPath%>\cores\AddiTunes" "<%OutputFile%>.mp4""



mp4とm4vって違うんじゃ?って言う人はまず落ち着いてココを嫁。でもでもここでこういっているとか言う人は、これでも読んで落ち着くといい。(どうでもいいけれど、wikipediaをみて書いてあることをそのまま理解すればいいのに、なぜわざわざ・・・・・・なんというか迷質問に珍回答)
今回のこの拡張子に限って言えばどっちでも同じ。言葉から言えば確かに違うけど、今は同じ。だから拡張子部分はm4vに変えてもOKです。それは自身の好きなように変えれば良いだけの話。

わからない人はFLV Playerでとりあえず見ればいいのでそれで幸せじゃん?私的にはこれが簡単で手間がなく、しかもFlashPlayer10でも9でもどちらもOKで再生してくれていいと思う(バージョン変えないと駄目だけど)。ものすごくお薦め。
そうでなければ対応したflvsplitterがあればその辺を。


一応相談受けたので1時間でやっつけ仕事(というか書いてあるのそのまんまなんデスケド)。あとは単にmp4に変えたいだけなら

[ItemX]
Title=fll to mp4
FileNameMax=59
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -vcodec copy -acodec copy "<%OutputFile%p>.mp4""
;Command1=""<%AppPath%>\cores\AddiTunes" "<%OutputFile%>.mp4""

としてもOK。大きさを変えたいなら「-s 320x240」(16:9なら -s 320x180とすれば変換は速くなる)とかを追加。本当はこれでも良いような気がするんだけど、後半はなぜか盛大に音ズレするのでコンテナへの中身の詰め込み方やっぱどこか違うのかな・・・・・・?理論上はNALユニット部分を載せかえるだけでいいはずとか言っていたけど、正直よくわからないです。

最後に、fllに対応したflvsplitter欲しい人はこちら
Comment
この記事へのコメント
fixaspectオプションがない・・・・・・
オプション一覧をずらーっと見てみたら古いバージョンにあったオプションがなくなっていたので、こんな感じでしのぐ。元ソースが16:9の場合、

Command0=""<%AppPath%>coresffmpeg" -y -i "<%InputFile%>" -threads 0 -padtop 30 -padbottom 30 -s 320x180 -vcodec libx264 -crf 23.0 -level 30 -coder vlc -qmin 10 -acodec libfaac -ab 128k -ac 2 -ar 48000 -f mp4 "<%OutputFile%>.mp4""

で、元ソースが4:3の場合は

Command0=""<%AppPath%>coresffmpeg" -y -i "<%InputFile%>" -threads 0 -s 320x240 -vcodec libx264 -crf 23.0 -level 30 -coder vlc -qmin 10 -acodec libfaac -ab 128k -ac 2 -ar 48000 -f mp4 "<%OutputFile%>.mp4""

それ以外の場合にも対応できるように、簡単なスクリプトを前段にいれて、分岐させてオプション渡せればなぁ。
2008/ 11/ 02 (日) 17: 25: 10 | URL | MK # EGTCt1XI[ 編集 ]
無理やりこんな感じで渡せないかな?
Command0=""<%AppPath%>coresffmpeg" -i "<%InputFile%>" 2> temp00.txt"
Command1="find /F "tokens=6" %a in ('findstr /c:Video temp00.txt') do @echo %a >temp01.txt"
Command2="find /F "tokens=1 delims=," %a in (temp01.txt) do @echo %a >temp02.txt"
Command3="find /F "tokess=1 delims=x" %a (temp02.txt) do set s1=%a"
Command4="find /F "tokess=2 delims=x" %b (temp02.txt) do set s2=%b"
Command5="set /A s3=(%s1%*10 / %s2%*10)"
Command6="for /F %f in ('echo %s3:~0,2%') do if "%f"=="17" set s4=-padtop 30 -padbottom 30 -s 320x180"
Command7="for /F %f in ('echo %s3:~0,2%') do if "%f"=="13" set s4=-s 320x240"

以降はホゲホゲ(該当部分にs4を入れてあげればOKのはず)。でも確認してないし。個々のコマンドはこれであっているはずなんだけど。PowerShellとか使えたらきっともっと楽だと思うんだ。wshでもいいよ・・・・・・

力尽きたので、すみませんが誰か検証を・・・・・・いや。これは駄目だな……そもそも携帯動画変換君に渡せないよ。
2008/ 11/ 02 (日) 23: 03: 27 | URL | MK # EGTCt1XI[ 編集 ]
今気がついたorz
つか.fllなら元ソースはよっぽどのことがない限り16:9じゃん・・・・・・
2008/ 11/ 03 (月) 13: 57: 02 | URL | MK # EGTCt1XI[ 編集 ]


コメントを投稿する
URL :
comment :
password :
secret : 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright (C) 事象境界線 all rights reserved.
designed by polepole...

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。