探検


ffmpegならこちらへ 7

■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
垢版 |
2022/08/05(金) 21:05:41.29ID:EVyx8BnW0
公式サイト
http://ffmpeg.org/

エンコード、ストリーミング配信を高画質高音質で行えるffmpeg。
OSに拘らず対応コーデックが多い。
対応コーデックが多く、多彩なオプションを使用可能。
コマンドラインから使用することができる。

前スレ
ffmpegならこちらへ 6
https://egg.5ch.net/test/read.cgi/software/1629006665/
2022/08/05(金) 21:05:58.83ID:0av5rW650
ffmpegで使うコマンドは、オプションとフィルターが存在する。
これらが一つの行に混在して使われるため、両方に目を通さなければならない。
日本語の記事が無いものもあるので、機械翻訳を使うなどをして、ある程度自力で英語を読み取らなければならない場合もある。

ffmpegで使用できるOptions https://ffmpeg.org/ffmpeg.html#Options
ffmpegで使用できるfilters https://ffmpeg.org/ffmpeg-filters.html
ffmpeg Documentation (フルバージョン) https://www.ffmpeg.org/ffmpeg-all.html


散らばっている古い記事の中には、現在のffmpegのバージョンでは廃止されたオプションも存在する。
それらのオプションは実行しようとしてもエラーが返されるだけで、単純にエラーの原因の一つになるので
古い記事をコピペなどで流用する場合は、既に廃止されたオプションが含まれていないかどうかを注意する必要がある。
2022/08/05(金) 21:06:08.77ID:eHsqhgJ60
ちょっと突っ込んだ使い方などの情報(各種ガイド、FAQ)
https://trac.ffmpeg.org/wiki


FFmpeg ドキュメント(日本語訳)
古いし、avconvの説明も混じっているが、新しいものを使わなければ今でも有用
http://fixedpoint.jp/ffmpeg/ffmpeg.html

日本語による基本的な使い方の解説
http://tech.ckme.co.jp/ffmpeg.shtml

日本語による新しいフィルタなどの情報
http://nico-lab.net/category/ffmpeg/


x264とffmpegのオプション対応の解説
https://sites.google.com/site/linuxencoding/x264-ffmpeg-mapping
2022/08/05(金) 21:06:18.78ID:G+OTKcyd0
>>2
ffmpegのドキュメントに関しては、
ffmpeg Documentation (統合ドキュメント-フルバージョン) https://www.ffmpeg.org/ffmpeg-all.html
これのみで全部の項目があるので、キーワード検索をする場合はこちらを使うと見つかる可能性が高くなる

以下、その一部の例

基本オプション https://ffmpeg.org/ffmpeg-all.html#Options

各コンポーネントに関するドキュメント(個別ドキュメントではなく、統合ドキュメント内の各項目の例)
Utilities                       https://ffmpeg.org/ffmpeg-all.html#Syntax
Video scaling and pixel format converter   https://ffmpeg.org/ffmpeg-all.html#Scaler-Options
Audio resampler                  https://ffmpeg.org/ffmpeg-all.html#Resampler-Options
Encoders and decoders (codecs)        https://ffmpeg.org/ffmpeg-all.html#Codec-Options
Bitstream filters                  https://ffmpeg.org/ffmpeg-all.html#Bitstream-Filters
Muxers and demuxers (formats)        https://ffmpeg.org/ffmpeg-all.html#Format-Options
Protocols                      https://ffmpeg.org/ffmpeg-all.html#Protocol-Options
Input and output devices            https://ffmpeg.org/ffmpeg-all.html#Device-Options
Filters                        https://ffmpeg.org/ffmpeg-all.html#Filtering-Introduction

ライブラリやAPIその他の個別ドキュメント等の詳細(リンク等)
https://ffmpeg.org/documentation.html
2022/08/06(土) 08:47:05.91ID:n/eekTeN0
乙
2022/08/20(土) 17:41:45.43ID:V4wT6xqW0
階層にフォルダ分けされた音楽ファイルをノーマライズして再変換したいのですが、親ディレクトリ丸ごとバッチファイルにD&Dして処理したいです
以下のように記述してみたのですが、No such file or directoryのエラーが出てしまいます
どう改良すれば良いか、どなたかご教示下さい

@echo off
for %%f in (%*) do (
ffmpeg -i "%%~f" -filter:a loudnorm -c:v copy -c:a libfdk_aac -b:a 320k -ar 44100 "%%~dpnf_fixed.m4a"
del "%%~f" )
pause
2022/08/20(土) 18:06:44.02ID:nz5iMT2q0
ファイルをD&Dして望む結果を得られていたら、ffmpegのコマンドは問題なし。
ディレクトリをD&Dしてエラーになるのは、ファイルを検索するためのforが不足してると思う。
2022/08/20(土) 19:25:06.02ID:V4wT6xqW0
>>7
ファイルを直接D&Dだと、複数ファイルでも正常に変換できます
バッチファイルの知識が乏しいので、検索して調べてもこれ以上の改善方法がわかりません
スレ違いかもしれませんが、どなたかよろしくお願いします
2022/08/20(土) 21:28:06.05ID:T5z2R1Xo0
for /R "%1" %%f in (*.*) do (
とか
2022/08/20(土) 21:38:04.67ID:brCKAyyV0
https://pastebin.com/QuwPrgr4
116
垢版 |
2022/08/21(日) 01:00:23.72ID:P4aR419b0
>>10
ご丁寧にありがとうございます!
無事に希望通りの動作をさせることができました
本当に感謝です
2022/08/27(土) 18:23:58.05ID:yOrj2hKt0
動画ファイルを -vcodec copy -acodec copy で複製するとき
mp4だとハッシュ値が常に変わらないのに対してwebmだと毎回変わるんですが
この挙動の差はなんでしょうか?
2022/08/27(土) 23:25:52.65ID:wUASBNkx0
>>12
mkv(webmはmkvのサブセット)は原則として一意なIDが埋め込まれる
さらに、各トラックにも同様に一意なIDが識別に必須なものとして埋め込まれる
だから原則として同じハッシュにはならないよ
2022/08/28(日) 05:47:16.33ID:LsNSts+Y0
>>13
ありがとうございます
2022/09/05(月) 22:15:41.79ID:yxZyrrSm0
ffmpegで動画からpng形式で抽出した画像と、
ffmpeg以外(DavinciやMPC-BE[madVR])から抽出した画像で
明るさが若干違うのだけど、原因や対処方法ご存知の人います?
多分transferやガンマ指定の問題だと思うのだけど

テスト動画
 https://www.home-movie.biz/mov/hts-samp001.mp4

ffmpegで抜き出した場合
 ffmpeg -i hts-samp001.mp4 -vf trim=start_frame=0:end_frame=1,setpts=PTS-STARTPTS -vframes 1000 "hts-samp001.png"
 http://iup.2ch-library.com/r/022169577515874711257.png

 madVR等で抜き出した場合
 http://iup.2ch-library.com/i/i022169588515874811258.png
2022/09/05(月) 22:25:14.61ID:7SG5p0gd0
レンダラを何だと…
2022/09/05(月) 23:28:27.53ID:yxZyrrSm0
DavinciやAviUtlで抜き出してもそうなるからレンダラの問題じゃなさそうです
2022/09/05(月) 23:33:48.70ID:yxZyrrSm0
Davinci・AviUtl・MadVRだと明るさは一緒で
ffmpegだけ少し暗い感じです
2022/09/07(水) 15:22:52.72ID:ixjAENMd0
もしてかしてRGBとYUVの色範囲の違いじゃね
aviutlとかはYUVソースをPC表示するためにRGB(0-255)に変換していて
ffmpegの場合はそういう処理をせずにYUV(16-235)の色階調そのまま
とか?
2022/09/07(水) 16:06:12.59ID:YqXJkldq0
俺も以前に連番PNG化したときにそんな感じのことあったな
レンジ合わせれば普通に見える
2022/09/07(水) 18:10:20.10ID:WJTyjeNI0
色空間とかごちゃごちゃしててホンマ嫌い
2022/09/07(水) 19:50:29.60ID:sZs7Whts0
>>19>>20
-vf scaleのin_rangeでlimitedとfullを変えてpng出力すると
”若干”でなくだいぶ変わるのでそういうことでもなさそうです
(out_rangeは指定しても変化なし)
2022/09/07(水) 22:10:56.63ID:oqUFzRrR0
auto_scalerがbt709 Color MatrixでYUV→RGB
そしてlimitedレンジからfullにしたのが
「ffmpegで抜き出した場合」の画像
システムガンマがBT.1886になるようにYUVのYにフィルターがかかってるのが
「madVR等で抜き出した場合」の画像
2022/09/08(木) 01:00:36.35ID:9jCtJ95i0
>>23
ありがとうございます。納得しました
頂いた情報を元に軽く調べてみましたが
ffmpeg側で合わせる方法は見当たらないようですね
25名無しさん@お腹いっぱい。
垢版 |
2022/09/08(木) 23:29:11.76ID:q2Cnh+vc0
出来ると思うんだけど、画像へのリンクが切れてるんだよね。
>>23が正しいかどうかもわからない。
とりあえず、colorspaceフィルタでは無理だと思う。
2022/09/09(金) 02:44:29.30ID:Mdzz68+w0
動画は残ってるから再現できたぜ
2022/09/09(金) 08:25:44.52ID:pDtqG98a0
sRGBディスプレイで閲覧するとしてzscaleでtransferinをbt709、transferをiec61966-2-1にして輝度をフィルタリングすればいい
colorspaceはたしかリニア輝度にするときシーンライトにしてしまうはず。
2022/09/09(金) 08:40:11.74ID:pDtqG98a0
シーンライトはscene referredだ
2022/09/13(火) 03:41:41.45ID:5EB7q0pX0
transferの検索結果にカメラとかテレビとかの専門サイトがたくさんでてくるなあ
職業カメラマンはこんな複雑なことわかってないといけねえのか…大変だ
2022/09/13(火) 19:20:16.89ID:AtCX4aUG0
framerate30の動画を1変更したいんだけど他はそのままの条件で行きたいけど-r 1にしてもできる動画サイズが元のより大きくなってしまう。
どうしたら劣化させずにframerateだけ小さくして、ファイルサイズも小さくできますか?
2022/09/13(火) 20:46:53.33ID:KKrJu2dD0
新しめコーデック HEVC, AV1を使う
-crf を少しずつ上げる、-b:v を直接指定する
2022/09/15(木) 06:19:04.60ID:grPpNRTb0
デコードせずにはフレームレートを変換できないような動画であると仮定すると、解決策はビットレートを直接指定すること。
強制的にビットレートを下げるには-b:vを使ってね。
2022/09/15(木) 20:32:35.58ID:sdCnxl5G0
>>31,32
ありがとうございます。勉強してきます。
2022/09/22(木) 23:55:57.04ID:bvZ5x9B80
m4aのタグ編集したいんだけどpipe:0としてstdinで渡すとmp4系列は機能しないんだね・・・
2022/10/06(木) 14:39:53.64ID:yozy4LzK0
ffmpegでtiffファイルからyuvファイルを作りたいのです。

フレームレートを固定したままビットレートのみ、変更したいです。
元の動画のフレームレートが59.94なので以下のコマンドで実行しましたが、うまく行きません。
どうすればよいのでしょうか。

【コマンド】
ffmpeg -video_size 3840x2160 -r 59.94 -i a05_4K00%03d.tiff -vframes 30 -pix_fmt yuv420p -r 59.94 a05.yuv
36名無しさん@お腹いっぱい。
垢版 |
2022/10/06(木) 15:33:57.58ID:e2X/rTrv0
続けて質問申し訳ありません。A.mp4(1分) B.mp3(2分) を結合させるとき…

ffmpeg -i A.mp4 -i B.mp3 -vcodec copy -acodec copy C.mp4

を実行すると、当然C.mp4(2分)が作成されるわけですが、A.mp4(1分)に合わせたC.mp4(1分)を作成する場合どのようにコマンドをすれば良いですか?
※A.mp4の時間は(30秒-2分)で毎ファイル異なります。

アドバイスよろしくお願いしますm(_ _)m
37名無しさん@お腹いっぱい。
垢版 |
2022/10/06(木) 18:19:09.19ID:e2X/rTrv0
自己解決

-shortest
2022/10/07(金) 10:31:39.04ID:HYHyp6R60
scale_cudaのinterp_algo=lanczosってなんかバグってる
bicubicの方がいい
39名無しさん@お腹いっぱい。
垢版 |
2022/10/10(月) 22:54:55.68ID:Bj8jCW/K0
MacOS使ってるんだけどlibfdk-aacってビルドした後にバイナリの実行ファイルは生成されない?
ビルドが成功したのかもわからんから不安

とりあえず
libフォルダ内
→libfdk-aac.aとlibfdk-aac.la

includeフォルダ内
→aacdecoder_lib.h等の.hファイルが6つ

生成されるのは確認できた
2022/11/04(金) 22:06:13.38ID:U/7bjjk/0
yt-dlpが早いのはffmpegの-c copyと同じコピー使ってるからかな?
でも、ようつべは開発者ツールのネットワークで検索して出てきた元webm&webaをffmpeg -i url output.mp4したら弾かれたから何かそういう技術あんのかな?
2022/11/04(金) 22:07:22.81ID:U/7bjjk/0
あ、ちなみにちゃんとrange=0-数にしてffmpeg入力しても弾かれたから
2022/11/07(月) 18:45:11.78ID:v7t8S9HG0
bgra (実際は透明部分無し)のrawvideo(24GB)をyuv420p10leのAV1に変換したく、ただHEVCやVP9など他のものも試したいと考えてます
ファイルサイズがかなり大きいのでRGB to YUVだけ終わらせた中間ファイルを残しておきたいのですが、映像コーデックをffv1で残しておけば色空間の変換以外で劣化は起きない認識で良いのでしょうか?
2022/11/09(水) 23:57:36.66ID:Mpacpztv0
あってるよ
yuv420p10leでrawvideoとffv1間の変換は可逆
■ このスレッドは過去ログ倉庫に格納されています

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