ffmpegならこちらへ 5

■ このスレッドは過去ログ倉庫に格納されています
2020/08/13(木) 19:43:45.34ID:j48XP1pP0
公式サイト
http://ffmpeg.org/

エンコード、ストリーミング配信を高画質高音質で行えるffmpeg。
OSに拘らず対応コーデックが多い。
対応コーデックが多く、多彩なオプションを使用可能。
コマンドラインから使用することができる。
ffmpegならこちらへ 4
https://egg.5ch.net/test/read.cgi/software/1555776689/
2021/01/26(火) 08:53:49.00ID:Q/NHUO5n0
そもそもffmpeg使わなくてもExifToolでEXIFの読み書きはできるだろ?
2021/01/26(火) 13:39:13.35ID:rvP4IWr70
exiftoolはお作法がちょっと特殊で、慣れるまでは大変だけどな
2021/01/26(火) 13:57:38.12ID:BuVpMTkI0
ffmpegも大概変態
2021/01/26(火) 20:35:46.54ID:LOWYIqaK0
動画の扱いなら優秀だと思うけど、ffmpegでExifを扱おうというのは変態
2021/01/26(火) 21:43:59.37ID:7kIFYsbH0
metaではなくudtaのPANAの方にサムネイルやExifが入ってるね
628名無しさん@お腹いっぱい。
垢版 |
2021/01/27(水) 20:41:26.51ID:7SH4nl340
>>627
うおお、ありがとうございます。
udtaって初めて聞いたのですが、
これってffmpegで読み書きできるのでしょうか?
検索しても意外と情報がかからないのですが・・・
2021/01/27(水) 22:08:54.26ID:hOTSRUFk0
アップルが策定したフォーマットなので、そっちに情報があることが多い。
2021/01/27(水) 22:11:16.64ID:Cs/06D+c0
https://ffmpeg.org/ffmpeg-all.html#mov_002fmp4_002f3gp
-export_all
Export unrecognized boxes within the udta box as metadata entries. The first four characters of the box type are set as the key. Default is false.
これが使えるかもしれない
2021/01/30(土) 11:05:30.16ID:OYGPWT+10
ffmpegを使って動画から再エンコードせず不要な部分をカットすることについて
質問があります(やり方自体は理解しています)

カットする部分と残す部分の境目が動画の何フレーム目にあたるかを調べたいのですが
何か便利な方法はないでしょうか
2021/01/30(土) 12:18:27.41ID:r/N2vA8o0
プレイヤーで再生してみる
2021/01/30(土) 12:45:50.35ID:1tix9g0g0
ffprobeで時間とフレーム番号を出力する
2021/01/30(土) 13:25:56.37ID:Stm2MAxV0
連番指定で静止画出力
2021/01/30(土) 13:35:27.77ID:r/N2vA8o0
再エンコードしないなら、フレーム単位では指定できないけどな

自分がやるとしたら、avidemuxとかでフレームの種類を見ながら指定する
つまり、ffmpegは使わない
636名無しさん@お腹いっぱい。
垢版 |
2021/01/30(土) 19:13:14.36ID:G5yt4sGO0
4k動画をFFmpegを使って再エンコードしたいのですが、
H.264のveryslowの設定でエンコードしたファイルをプレイヤーで開くと
動画のところどころにブロックノイズのようなものが表れる。

MediaPlayer
MPC-BE
だとブロックノイズが出るのですが
Gom Player
だとなぜか出ませんでした。

コンテナをMKVではなくMP4に変えたり
CRFを20とか30に変えてみてもやはり出てしまいます。

プリセットをslower以下の設定にすると出なくなるので
very slowの中の何かの設定が影響しているのだと思います。

クロップするか解像度を変えるなどして
縦横のピクセル数が1600以下くらいになると出なくなります。

これって一体何が原因なのでしょうか?
2021/01/30(土) 20:34:53.89ID:J+Y1SELq0
MPEG-4のデコードのlevel関係かな?
デコード能力を表すもので再生環境ごとに決まってて、それ以下のlevelの動画は正常に再生できる
638名無しさん@お腹いっぱい。
垢版 |
2021/01/30(土) 22:01:49.64ID:G5yt4sGO0
ありがとうございます。

エンコードした動画を調べてみました

ultrafast Baseline@L5.2
slower High@L5.2
veryslow High@L6

となっていました。
つまり、MPC関係がL6以上に対応していないということでしょうか?

https://en.wikipedia.org/wiki/Advanced_Video_Coding#Levels

この表を見ると、
veryslowにすることで
Maximum decoding speed (macroblocks/s)

Maximum frame size (macroblocks)
のいずれかが上限にかかっているということでしょうか?
ちなみに、CRFを上げても、veryslowの場合には High@L6になってしまうのですが
これらのパラメータはビットレートとは無関係のものなのでしょうか?
2021/01/30(土) 22:48:40.90ID:r/N2vA8o0
グラフィックカードは使ってる?
2021/01/30(土) 22:53:48.04ID:+70KpRIl0
>>636
そこは265使えks
641名無しさん@お腹いっぱい。
垢版 |
2021/01/30(土) 23:16:54.18ID:G5yt4sGO0
グラフィックボードは9万円くらいのものを使っていますが
もし使わないともっと悪くなりますか?


いまは、264で再生することだけを考えております。


あと、ちなみにQuickTimeの場合、
1920x1080であってもslowerは再生できるのですがveryslowだとブロックノイズが入ってしまいます。

いずれもHigh Level5.1になっており、レベルは同じです。
他に何かの設定で再生できるかどうかの違いがあるのでしょうか?
2021/01/30(土) 23:24:37.44ID:J+Y1SELq0
>>638
僕なら-preset指定でエンコするとき-loglevel上げてlibx264に渡されるパラメータ比較するかな
それで怪しいやつだけ自分でオプション付けて指定上書きしてエンコする
2021/01/30(土) 23:43:06.38ID:OYGPWT+10
4k再生する時点で後方互換性はあまり気にする必要もないと思うけどね
2021/01/31(日) 08:29:59.16ID:DyIKwg7N0
デコード側も自分のレベルを知っていて、それを越えるレベルの動画は再生できない
というシンプルなルールにしたい

そういう動画に遭遇した時に、諦めるか、構わずやってみるか、質を落として再生するかは、
デコード側の実装による

デコード能力は足りてるんだから構わずやってみれば成功するのに、
わざわざ質を落として再生しているように見える
2021/02/04(木) 08:02:29.70ID:3BsXX7wv0
デカい猫だなぁ
2021/02/05(金) 17:27:45.99ID:YQ102nlN0
初歩的な質問で すみません。
webmをmp4に変換しているのですが、D&Dで変換したく、
"ffmpeg -i ファイル名.webm output.mp4"
を使っていたのを
”cd D:\新しいフォルダ\動画\3DCG\SFM
:loop
if "%~1" == "" goto end
set filename2=%~p1%~n1.mp4
ffmpeg.exe -i "%~1" -c:v copy -c:a copy "%~d1%~p1%~n1.mp4"
shift
goto loop
:end
exit”
のbatファイルにD&Dで変換しているのですが、コマンドとbatファイルでは動画のサイズやビットレートに差があります。
元ファイル(webm)6092kbps コマンド変換だと2746kbps batファイルだと6049kbps
FPS値はすべて一緒です。
これはbatファイルは無劣化で変換できているのでしょうか?
2021/02/05(金) 17:32:34.26ID:Y97d0GS/0
複数のことを同時に変えるから
2021/02/05(金) 17:44:47.27ID:PsSkIiaN0
コーデックェ…
2021/02/05(金) 18:11:34.94ID:NE9cGqVX0
>>646
コマンド:.webm(VP9とOpusとかかな?)をデコードして.mp4(H.264/MPEG-4 AVCとAACかな)へ
スクリプト:.webmの中身をデコードせずコンテナだけ.webmのWebMから(強引に).mp4のMP4へ変更

映像・音声は無変換だから当然無劣化だけど、WebMに入ってたようなものをMP4に側だけ替えても再生してくれるプレイヤーは少ないだろう
普通はコーデックとコンテナは適切な組み合わせに(場合によっては変換)する
2021/02/06(土) 00:57:25.04ID:r2tdYEoT0
>>649
ありがとうございます。ffprobeで調べてみた所、おっしゃるとおり
webmとbatはvp9 opus コマンドはh264 aacでした。
h264 aacにしながら無劣化変換というのは出来ないのでしょうか?
2021/02/06(土) 01:56:04.47ID:NlNQcmm40
無理
2021/02/06(土) 02:13:27.14ID:YisoNFt70
H.264だけなら無劣化オプションあるけどね
音声はMPEG-4 ALSってのが一応あるけどエンコーダは導入面倒だったような
2021/02/06(土) 03:52:31.24ID:r2tdYEoT0
ありがとうございます
2021/02/06(土) 07:41:38.47ID:r2tdYEoT0
すみません、もう一つお聞きしたいのですが
”ffmpeg -i ファイル名.webm output.mp4”の工程を
batファイルを作ってファイルをD&Dすることで変換出来ないでしょうか?

646のbatファイルは無変換のため、コーデックがmp4用になってないためです。
2021/02/06(土) 07:47:18.03ID:lkdVyvwI0
まずは試行錯誤くらいしなよ
幼稚園児でもあるまいし
2021/02/06(土) 10:24:31.49ID:T8pwrHpg0
>>652
あれは最終生成物に使うようなものじゃないよ
一度どんなものか試してみたけど100GB超えたところでエンコード止めた
2021/02/06(土) 10:26:08.88ID:T8pwrHpg0
あ、h.264の話ね
2021/02/06(土) 11:05:58.28ID:YisoNFt70
>>654
MP4 コンテナ [検索] > 包含コーデック
2021/02/06(土) 11:07:32.00ID:YisoNFt70
>>656
だね
2021/02/06(土) 14:55:13.97ID:GZdlWyKx0
>>646
>"ffmpeg -i ファイル名.webm output.mp4"
>ffmpeg.exe -i "%~1" -c:v copy -c:a copy "%~d1%~p1%~n1.mp4"

下はオプションにcopy付いてるからそのまま無劣化コピーされて
上は何も指定が無いからffmpegのデフォルトなコーデックに変換してるんじゃね?
2021/02/06(土) 15:52:14.65ID:O3zuT94I0
判ってる人には当たり前なんだけど、
もしかしたらbatのせい? という疑いが払拭できないならば、
段階的に試せばいい
2021/02/06(土) 22:19:13.03ID:IVMNl1Z40
-reとyadifを併用するとうまく動かないんですが原因が分からないです。
切り分け方法があれば教えてください。

NGの場合ffmpegのプロセスがCPU食ったままで
Press [q] to stop, [?] for helpのままプロンプトが動かず、
qで終了させて作成されたファイルも壊れているといった状態です。
2021-02-02-git-2367affc2cのfull版です。

切り分けた感じ下記のような動作差分がありました。

OK
ffmpeg -i hoge12.ts -c:v libx264 -vf yadif -f mpegts aaab.ts
ffmpeg -re -i hoge12.ts -c:v libx264 -f mpegts aaab.ts

NG
ffmpeg -re -i hoge12.ts -c:v libx264 -vf yadif -f mpegts aaab.ts
2021/02/06(土) 22:48:16.36ID:yb9OyHgy0
動かない理由はわからないけどreのかわりに
realtimeフィルタをyadifの後ろにつけてみては
ffmpeg -re -i hoge12.ts -vf yadif,realtime -c:v libx264 -f mpegts aaab.ts
2021/02/08(月) 13:07:30.34ID:TFY18tP80
>>663
ありがとうございます
-reの代わりにrealtimeでいけました
バグなんですかね
665名無しさん@お腹いっぱい。
垢版 |
2021/02/14(日) 18:44:03.41ID:v7DLgAuj0
4.3.2のx86配布してるところがあったら教えて下さい
2021/02/14(日) 18:46:21.81ID:qfRDoU1t0
>>665
まったり探すより自ビルドしたほうが速い
2021/02/14(日) 19:07:03.84ID:rUbbqu7d0
PC遅かったらビルドに2時間ぐらいかかるからまったり探した方が速い可能性も
2021/02/14(日) 19:13:18.52ID:qfRDoU1t0
全入りとか基本ライセンス違反だから落ちてない
2021/02/14(日) 19:29:17.12ID:qfRDoU1t0
長い目で見たら、いっぱいある解説サイトを読んで
作り方覚えたほうが有益だろ
670名無しさん@お腹いっぱい。
垢版 |
2021/02/14(日) 20:42:32.19ID:V7oNbNKX0
>>666
まぁ自ビルドも結構茨の道だったりするけどな

ffmpeg-windows-build-helpersで昨日ビルドしたばかりだがエラーが出て
原因調べて何カ所かスクリプトを手直ししたりしてやっとこさだったからな

最新場でビルドする設定だと、gitリポジトリが変わったりとかで、昨日ビルドできたのに
強はエラーが出るなんていうのよくあるし
2021/02/14(日) 20:48:30.12ID:qfRDoU1t0
でも野良ビルドのexeはどうしても使う気にならない
2021/02/14(日) 21:08:16.41ID:lc35b1sZ0
勝手にしろ
2021/02/14(日) 22:11:50.10ID:ptydCCRE0
以前はMyLaboさんがffmpegのビルドの手順を公開してくれてたんだけど

http://mylabo.webcrow.jp/

最近更新されてないからね・・
2021/02/15(月) 19:38:07.30ID:ZXUiiitQ0
あ、あのぉ…初心者な質問で大変恐縮ですが、同じソースコードでもビルドする人や方法?によって、生成される実行ファイル(exe)の動作に違いが出るんですか??
どうしても4.2.4のexeがほしくて、ネットを探し回って自ビルドしたというものを入手しましたが、
以前公式で公開されていた、Stable版exeのような安定動作は期待できないのでしょうか??
2021/02/15(月) 19:40:54.07ID:ZXUiiitQ0
例えば>>673さんのコメントにもあるように、決まったビルド方法があるのなら、みんながその方法を用いてexeを生成すれば、誰がしても寸分たがわず同じものができるはずでは??
それともビルドの方法って、千差万別で決まったやり方はないのでしょうか??
2021/02/15(月) 19:59:55.10ID:sigCJb4h0
寸版違わず同じにはならないよ
・コンパイル時にビルド時刻や環境が埋め込まれる
・コンパイラの微妙なバージョンの違い
・ライブラリの微妙なバージョンの違い
などなどで
ただしこれらの違いがそこまで安定性に影響を及ぼすことはないはず
2021/02/16(火) 07:52:58.31ID:SaF+s7yh0
普通に公式に載ってるgyandevとかいうサイトのビルド使ってたわ
駄目だったのか?
2021/02/17(水) 10:30:15.21ID:AxtdVsS20
>>677
この手のOSSソフトは特許やらなんやらの絡みがあるからソースのみの公開というのが多いからね
公式のバイナリーなんて存在しなかったリする。 ffmpegの公式からリンク張られているのも
あくまでも推薦サイトというだけであって公式ではない。
野良ビルドが使うのが嫌なら自分でビルドするしかない
2021/02/17(水) 15:16:35.25ID:9DRuHtj+0
もうaacは使わないことにしたので、特にビルドする必要もない
2021/02/17(水) 15:46:53.72ID:mVHqd2vf0
ビルトインAACエンコーダって、言われるほど悪いか?
2021/02/17(水) 15:57:57.11ID:9DRuHtj+0
ノイズの多いソースに対しては驚くほど悪い
2021/02/17(水) 19:10:24.58ID:2lrMEQv30
ビットレート次第
〜192kくらいだとFDKやMP3のほうがマシ
2021/02/18(木) 11:35:03.51ID:q72tAOxF0
ARIBをデコードしたい場合は自前ビルドが要る?
2021/02/18(木) 16:28:59.20ID:FWzq6OFO0
必ずしも必要ではない
ffmpeg -codecs で、"ARIB"を探せばいい
こんな行があればおk
D.S... arib_caption ARIB STD-B24 caption (decoders: libaribb24 )
2021/02/22(月) 18:35:47.87ID:pSXLZSWm0
絵が静止画で音声がついてるだけ
みたいな動画は超高速で圧縮できると思いきや、結構遅い
何でだろう
2021/02/22(月) 18:42:54.79ID:XJ6r4dAu0
設定があってないから
2021/02/22(月) 18:47:56.54ID:yabVa1iG0
mp3にして画像埋め込んじゃえば
2021/02/22(月) 18:59:56.03ID:Lv8Wxevr0
nvenc使っとけ
2021/02/22(月) 19:29:09.56ID:lFUrES7h0
x264なら静止画用のプリセットあったような
2021/02/22(月) 20:34:42.31ID:fXFZVXco0
静止画なら素直にフレームレート小さくすれば良いじゃん
例えば1000秒の静止画動画なら 1/1000 fpsで指定すれば一瞬
再生負荷もうんと軽くなる
2021/02/23(火) 08:35:57.97ID:iCS5PUkt0
動き探索のオプションいじらなきゃデフォの動画想定の値が適用されるしね

>>690
音声と同期とれなさそうw
2021/02/23(火) 09:14:05.59ID:rxRq49yr0
全く同じシーンが繰り返されても、これは何秒前と同じ、みたいな圧縮はせずに
律儀に毎回圧縮するからな
テキストの圧縮だったらそういうのは異様に縮むけど、動画はまだ無理
2021/02/23(火) 10:40:37.09ID:i9kqxH+I0
>>691
同期取れない訳無い
何の為にDTSとPTSがあると思うの
2021/02/24(水) 00:37:29.55ID:YAC9mWqf0
>>690
早送りや巻き戻しができなくなる。
キャッシュが不足して再生できなくなる場合もある。
2021/02/24(水) 08:43:38.18ID:onpqpzOz0
一部が動画で大半が静止画、みたいなソースに対応できない
馬鹿正直に同じIフレームを並べるしかない
2021/02/24(水) 10:49:22.08ID:zx+xeYzm0
自動では対応しにくいだけで手動なら対応できる
2021/02/24(水) 13:29:27.81ID:u1em0TfI0
>>694
それプレーヤー側の実装の問題でしょ?
映像と音声の多重化の設計的に、適切に実装されたプレーヤーでシークに不具合が生まれるとは思えない

そもそも一般的なフレームレート・サンプリングレートの動画でさえ、映像の標本数より音声の標本数の方が圧倒的に大きいんだから
低フレームレート指定で同期不具合出てたら普段の再生でも不具合出てるよ
2021/02/24(水) 13:43:04.74ID:yKtIxPWa0
映像のフレームをもとにシークしてるプレイヤーが大半だと思うが
0.1FPSの動画作って試してみてよ
2021/02/24(水) 14:07:08.57ID:u1em0TfI0
そうだね
よくある30fps/48kHzの動画でも動作は同じ
フレームレート小さくするとシークできないってのは(1フレームのみに調整するエッジケースを除いた全ての場合において)間違いでしょ
2021/02/24(水) 14:30:12.20ID:u1em0TfI0
シークできる箇所が間引かれるって事ならそうだけど
それ気にするならマクロブロック最大・動き予測無効とか指定しながらシーク欲しい頻度までの範囲でフレームレート下げるくらいになるか
2021/02/25(木) 02:14:04.90ID:nZLFh2I20
n4.3.2出てるやん!
気づかなかった
2021/02/26(金) 10:46:41.58ID:hxJ6s3Rl0
>>701
>>448の状態が公式でずっと続いて、やっと20日付で4.3.2の情報が出たからな…
2021/02/26(金) 11:35:01.31ID:tHW6ZZEh0
hevc_nvencは再配布ok?
2021/03/02(火) 23:23:37.69ID:lfod3uYC0
レトロゲーム動画の編集講座でavisynthでseparatefieldsというフィルタを使うと良いというのを知り
ffmpegで同じようなことが出来ないかと「ffmpeg separate fields」と検索してしまったばっかりにまともな検索結果が出なくて
目的のフィルタに辿り着くまでだいぶ遠回りしてしまった
同名のseparatefieldsフィルタがあるオチだった
2021/03/07(日) 10:12:12.57ID:g5bQX4Qt0
tsを保存すると program.txt が一緒に出来て、
いろいろ書いてあって便利なんだけど、わざわざ別に保存する程でもない
mkvに添付しておいて簡単に見られるといいんだけど、いい方法ある?
2021/03/07(日) 16:59:12.41ID:H/S+8JIC0
metadataの中にコメント欄としてフィールド無いっけ
2021/03/15(月) 10:40:53.63ID:YJDoiJJw0
tsから一部を切り出して保存する用にassの時間をずらすスクリプト作ったった
2021/03/15(月) 11:31:44.94ID:32Z70eY20
字幕付きの映像ソースがないわ
2021/03/17(水) 13:26:30.86ID:Vhk3sXaD0
DVDからエンコードする時、-i dvd.iso でいきなりできちゃうけど、
チャプター毎に飛べる用にしたい時はどうすればいい?
2021/03/17(水) 14:41:53.26ID:xyUtnJyv0
自分はmp4chapsでチャプターつけてる
テキストでチャプターリスト作ってコマンド実行するだけだから
やり方のURLはNGで貼れないからぐぐって
2021/03/17(水) 15:14:32.44ID:tctRAhNR0
DVDにも使えるの?
2021/03/17(水) 15:15:28.36ID:tctRAhNR0
すみません。DVDからmp4にした後か。
2021/03/17(水) 20:16:20.48ID:vPZnUvsi0
youtubeのライブ動画で、ライブの途中からでも最初から保存ってできますか?
youtube dlと合わせて使ってます。
2021/03/17(水) 21:03:54.90ID:Vhk3sXaD0
なんでここで聞くねん
という気もするけど、普通に諦めてるな
そんな大事なライブは開始前から保存開始
715名無しさん@お腹いっぱい。
垢版 |
2021/03/17(水) 23:06:35.08ID:NXJLIjCd0
ある動画ファイルが
15-235で撮影されたものか、0-255で撮影されたものか
FFmpegで確認することってできますか??
2021/03/19(金) 15:13:55.42ID:5ezSpLTr0
>>715
ヒストグラムを表示してみたらどう?
2021/03/20(土) 11:41:10.58ID:vzo7g7T40
Free MP4 to AVI Converterっていうフロントエンドソフトで
拡張子をavi以外にする方法を誰か知らないか?

エンコーダーのスレが全然無いから他に場所が無いんだ
2021/03/20(土) 12:02:39.01ID:qVUutZb10
まずコマンドプロンプトを開きます
2021/03/20(土) 12:18:29.78ID:u4jhbpPf0
rename
2021/03/20(土) 13:25:24.38ID:26eYuInT0
ソフトの名前とコンセプト全否定w
721名無しさん@お腹いっぱい。
垢版 |
2021/03/20(土) 14:14:33.27ID:xcwdLqGd0
>>716
ヒストグラムをとるって、スクリーンショットを撮って
画像ビューアでヒストグラム表示するという意味ですか?
この方法を試してみましたが、
フルであってもリミテッドであっても0-255の全領域に輝度情報が含まれているので
判別できませんでした。・・
2021/03/20(土) 15:12:00.10ID:Lu8LKhfp0
>>721
たしかffmpegのフィルターにヒストグラム表示するやつあったよ
ffmpeg ヒストグラム Histogram
あたりでググれば見つからない?
で実際ググってみたらそのものズバリ"histogram"というフィルターらしいですな

うちではaviutlのヒストグラム表示を便利に使ってる
他の動画編集ソフトでもありそうな気がするけど
どうなんだろう
723名無しさん@お腹いっぱい。
垢版 |
2021/03/20(土) 15:42:24.41ID:xcwdLqGd0
>>722
aviutlを使ってみましたが、
リミテッドであっても
0〜255の全領域が使われており判別できないようです
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

ニューススポーツなんでも実況