ナビゲーションをスキップする.
ホーム

ffmpegについて

| |

字幕がついている動画の字幕を消したいのですが
ffmpegだと字幕が消えないです
mediacoderだとデフォルトの設定でエンコしただけで消えます

ffmpegでも消す事は可能ですか?

字幕を消す

ffmpegには特別に字幕を消す機能はなかったです。

字幕の形式にもよりますが、
変換元がvobとかmkvなどの表示と非表示が切り替えられる字幕の場合は、変換時のmapオプション指定で、字幕トラック外れるかもしれません。

ffmpegとは関係ありませんが、
avi動画とかに、付いている字幕の場合は、アイマスMAD aviutil 字幕消し という形でいくつか情報がまとまっているようです。

返信遅れてすいませ

返信遅れてすいません
mediacoderで字幕取れると思ってたのは勘違いみたいです
前取れたのはmkvの中に字幕ファイルが別にあった為でした
同じ条件ならffmpegでも取れました
最初にffmpegで変換したファイルはmkvでも字幕ファイルがなく
動画に字幕が入ってたみたいです
それで勘違いしてしまいました

後関係ないですが
最新のffmpegでもコンテナmkvでコーデックウィンドウズメディアだとファイルが開けなかったので
mediacoderでaviに変換するんですが
119.88fpsとかだとめちやくちゃ音ズレしてしまうんです

ffmpegだと119.88fpsでもAvisynth使わなくても音ズレなく変換できました
でも-r 29.97にしてあるのに29.86とかになります
23.98fpsとかのを-r 29.97でエンコしても23.65とかになるのが不思議です
だいたいの動画はちゃんと指定したfpsになるのでiniが間違ってる事もないと思いますし
-async 100を使ってるからかな
でも自分はこれ使い出してから一度も音ズレしないです

こんな感じでやってます
できるだけ高画質でサイズを小さくしたいって目的です
この目的で追加や削除した方がいいオプションとかあったら教えてください

Command0=""\cores\ffmpeg" -y -i "" -pass 1 -passlogfile "x264_2pass" -qmin 2 -qmax 50 -vcodec libx264 -coder 1 -level 30 -qcomp 0.7 -rc_eq "blurCplx^(1-qComp)" -me_method hex -me_range 16 -refs 1 -subq 5 -qdiff 4 -sc_threshold 40 -keyint_min 30 -bufsize 512k -flags loop -flags2 mixed_refs -partitions parti4x4+partp4x4+partp8x8 -g 300 -s 480x270 -aspect 16:9 -r 29.97 -b 360k -an -f mp4 "_1.mp4""

Command1=""\cores\ffmpeg" -y -i "" -pass 2 -passlogfile "x264_2pass" -qmin 2 -qmax 50 -vcodec libx264 -coder 1 -level 30 -qcomp 0.7 -rc_eq "blurCplx^(1-qComp)" -me_method umh -me_range 32 -refs 3 -subq 7 -qdiff 6 -sc_threshold 40 -keyint_min 30 -bufsize 512k -flags loop -flags2 mixed_refs -partitions parti4x4+partp4x4+partp8x8 -g 300 -s 480x270 -aspect 16:9 -r 29.97 -b 360k -an -f mp4 "_1.mp4""

Command2=""\cores\ffmpeg" -y -i "" -async 100 -acodec pcm_s16le -ar 32000 -ac 2 -vn -f wav ".wav""

Command3=""\cores\Nero\neroAacEnc" -br 50000 -lc -if ".wav" -of ".aac""

Command4=""\cores\aacgain" /r /c /d 4 ".aac""

Command5=""\cores\MP4Box" -add "_1.mp4" -add ".aac" -new ".mp4""

Command6=""\cores\x264_del.bat""

Command7="cmd /c "del "*.*"""

-threads 2 はどうでしょう

レスありがとうございます。

asyncの効果いまいちわかっていないのですが、
たしか Virtualdubで似たような音ズレ 処理の結果があるのでそうかもしれません。
Avi動画の音声の再生時間に映像を合わせる

高画質でサイズを小さくはなかなか、難しいですね。
-r 24ぐらいまで下げてもいいかもしれません。
-me_method full が劇遅いけど画質いいとはきいたことあります。
あと、-threads 2 入れると、マルチスレッドで若干早くなるかもしれません。

ありがとうございま

ありがとうございます
試させてもらいますね

-maxrate 4000k

動画を変換すると動きが激しいシーンが残像みたいに残って
汚くなってしまう動画があったんです
(その動画はアニメです
実写のはそういう事になったことはありません)
ビットレートを上げれば綺麗になるけど上げないで
綺麗にしたくて色々やりましたが
駄目でした
akJBetasで試しに変換してみたら綺麗にできたので驚きました
どのオプションが効いているのか調べてみたら
-maxrate 4000k -bufsize 4000k
でした
-qmin 2 を使っているので-maxrateは意味ないと思うのですが
何故綺麗になったのでしょうか?
iniは3つ上の書き込みに-maxrate 4000k -bufsize 4000kをプラスしただけです

激しい動きで高画質

-qmin と maxrateの関係は、いまいち、私がよくわかっていません。
ただ、ffmpegは内部でx264ライブラリー呼び出しているので、それに影響するのかもしれません。

でbufsizeは x264では
vbv-bufsizeに相当するようです。
 これは、MPEG2ではGOPみたいなもので、この数値を上げると、大きな固まりとして圧縮するみたいです。
その代わり、再生側にそれだけのメモリがないと再生できない動画になるようです。

いまいち、よくわかってないまま他所のパラメーター参考にしているところが多いです。

高画質化には、何といっても、動きの激しいところにビットレート集中させる2パスですね。

そうなんですか maxrate

そうなんですか
maxrateではなくて-bufsize 4000kが効いていたって事ですね
でも急に綺麗になったから驚きました
PSPってbufsizeどれぐらいまでいけるかわかりますか?

bufsizeの最大

具体的なハードの制限値は見つかりませんでしたが
 よくわかりませんが、最大は20000kぐらいまでありました。
ただ、見てみるとどうも、この値は、最大ビットレートより少し少なめに設定していることが多いですね。

以下、h264 スレッドがいろいろ情報集まってました。(私は高度すぎてついていけませんでしたが)
http://unkar.jp/read/pc11.2ch.net/avi/1201685701

ありがとうございま

ありがとうございます
自分もついていけません

20000kとか設定する人いるんですね
いつもコメントありがとうございます

新しいコメントの投稿

このフィールドの内容は公開されません。
  • 使用できるHTMLタグ: <em> <strike><strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • 改行と段落付けは自動的に行われます。
書式の詳細



主なトピック

Loading...