ffmpegならこちらへ 4at SOFTWARE
ffmpegならこちらへ 4 - 暇つぶし2ch759:名無しさん@お腹いっぱい。
20/05/10 20:04:06 btwDrftv0.net
>727
単体の設定で小数点以下の桁数指定の秒指定が無いから
eif 内で演算するしか方法がないと思う

760:◆P0jSlC5fJs
20/05/11 00:49:42 CAsTzm2N0.net
>>627
複数のフィルタはカンマで分ける

>>707
いやあるよ
あまりバカにしたりしないほうがいいよ…(´・ω・`)

>>721
基本的にコーデックによる
世代損失の多いコーデックほど画質は下がる

761:名無しさん@お腹いっぱい。
20/05/12 12:29:09 C+gLB/tr0.net
zeranoe.comにある最新ビルド、ffmpeg-20200510-fc99a24
HLSのキーを取得できなくなっているな。
抽出したURI文字列の頭にゴミが残って、パスが別物になるので、
キーファイルが見つからない、となる。
ffmpegを取り込んでいるMPVの最新ビルド20200510-git-4e94b21でも同じエラーが生じる。

ffmpeg、mpvともに一つ前のビルドはこの点においては問題なし。

HLSを扱う人は、アップデートは待ったほうがいいよ。

762:名無しさん@お腹いっぱい。
20/05/13 01:31:54 OxnAAaO00.net
TSをmp4(h264)にエンコードして、画質をssimで調べてるんだけどssim値が予想と違う。

以下のようにエンコード。<CRF>は0,10,20,30と変えた。
$ ffmpeg -fflags +discard


763:corrupt -i input.ts \   -c:v libx264 -crf <CRF> -preset:v medium \   -c:a copy -bsf:a aac_adtstoasc \   output-<CRF>.mp4 input.ts と output-<CRF>.mp4 から、以下の方法でssimを算出。 $ ffmpeg -i input.ts -i output-<CRF> \   -lavfi "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]ssim" \   -f null - 結果は、以下の通り。  CRF=0: SSIM Y:0.746490 (5.960043) U:0.926544 (11.339744) V:0.922453 (11.104362) All:0.805826 (7.118090)  CRF=10: SSIM Y:0.746283 (5.956513) U:0.927030 (11.368544) V:0.922895 (11.129157) All:0.805843 (7.118472)  CRF=20: SSIM Y:0.748135 (5.988323) U:0.930105 (11.555517) V:0.925694 (11.289748) All:0.808056 (7.168266)  CRF=30: SSIM Y:0.751866 (6.053139) U:0.932173 (11.685966) V:0.927576 (11.401202) All:0.811202 (7.240033) CRFが小さくなるほどSSIMが良くなる、CRF=0のときはSSIM=1になると予想していましたが、ほぼ変化なしです。 エンコード時のオプション、ssim測定時のオプションなど間違っているのでしょうか?



764:734
20/05/13 01:35:46.08 OxnAAaO00.net
誤: $ ffmpeg -i input.ts -i output-<CRF> \
正: $ ffmpeg -i input.ts -i output-<CRF>.mp4 \

765:名無しさん@お腹いっぱい。
20/05/13 04:35:48.51 Z3WTVEyB0.net
SSIMは映像の品質を評価するのに向いていないのであまり信頼しないほうがいい

766:名無しさん@お腹いっぱい。
20/05/13 09:23:45.37 Z6fAK/CR0.net
最後は目視

767:名無しさん@お腹いっぱい。
20/05/13 10:32:25 Iek5ichG0.net
色々試してみてその時は気になりつつも妥協したのにそのプロファイル固定でやるようになると見る時に何も気にならない不思議

768:名無しさん@お腹いっぱい。
20/05/13 10:40:56 lrDXybw30.net
比較すれば違いがあるのは判るけど、
それが問題となるかは全然別の話

769:名無しさん@お腹いっぱい。
20/05/13 13:58:41 Yp8vBFeK0.net
skipping ** segments ahead, expired from playlists
↑これが表示されたら自動で終了させたいんですが、方法はありますか?

770:名無しさん@お腹いっぱい。
20/05/13 14:08:19 BRdMc3QQ0.net
あります

771:名無しさん@お腹いっぱい。
20/05/13 16:37:42 4v3JYXTT0.net
覚え書き:一行コマンドで複数入力・複数出力

[グローバルオプション]
[入力1オプション] -i <入力1>
[ [入力2オプション] -i <入力2> ……]
<出力1オプション> <出力1>
[ [出力2オプション] <出力2> ……]

772:名無しさん@お腹いっぱい。
20/05/13 18:31:35 gexdbhqu0.net
>>742
入力オプションは入力のあとじゃないと、
グローバルオプションとの区別がつかなくなる

773:名無しさん@お腹いっぱい。
20/05/13 19:12:30 BRdMc3QQ0.net
アホは黙ってろ

774:名無しさん@お腹いっぱい。
20/05/13 20:26:52 4v3JYXTT0.net
>>743
入力オプションと被るグローバルオプションってあったっけ
構文解析の時に自動で判別してるもんだと思ってる

775:名無しさん@お腹いっぱい。
20/05/13 21:15:52.53 Un3dDNFS0.net
テスト

776:734
20/05/13 21:16:41 Un3dDNFS0.net
>736 >737 ありがとうございます。
今はx264(ソフト)ですがそのうちNVEncも試したいので、分かりやすい比較指標が欲しいなと思いSSIMを使っています。

777:743
20/05/13 21:18:08 Un3dDNFS0.net
試しに、ffmpegと(ほぼ)同じ引数を使いHandBrakeCLIを実行してみたら、以下のように予想通りの結果になりました。
生成されるファイルサイズはほぼ同じです。
ffmpegの引数に大きな間違いは無いと思うんですが、何がいけないんだろう。

$ HandBrakeCLI \
  --format av_mp4 --encoder x264 --quality <CRF> --x264-preset medium \
  --aencoder copy \
  --input input.ts --output output-<CRF>.mp4

CRF=0: SSIM All:0.999995 (53.123003)
CRF=10: SSIM All:0.995995 (23.974347)
CRF=20: SSIM All:0.989202 (19.666615)
CRF=30: SSIM All:0.975771 (16.156570)

778:名無しさん@お腹いっぱい。
20/05/13 23:01:55 Rirjujk50.net
>>748
俺も理由はよくわからないんだけど、音声なしでMP4にエンコードしてSSIMを計測するとうまくいったりしない?

779:名無しさん@お腹いっぱい。
20/05/17 15:23:58 sJVMCeq30.net
5/10以降のWindowsビルドで、
ffmpeg -safe 0 -f concat -i index.txt -c copy output.mp4
ってやるとImpossible何たらでエラー吐くんだけど
5/4以前なら問題なし

780:名無しさん@お腹いっぱい。
20/05/17 15:40:47 wyyabrLb0.net
へえ

781:名無しさん@お腹いっぱい。
20/05/17 16:14:46 6pouxY/V0.net
>>750
>>733 も同じビルドからおかしくなってる。
ファイルパス絡みのオプションのパースがおかしくなってるのかな。

782:名無しさん@お腹いっぱい。
20/05/21 11:06:59 FbBId9sI0.net
>>733
20200519-74dfc88で直ってた
やはりファイルパスの取り扱い(親ディレクトリパスの取得)がおかしくなっていた模様

URLリンク(git.videolan.org)
URLリンク(trac.ffmpeg.org)
URLリンク(trac.ffmpeg.org)

783:名無しさん@お腹いっぱい。
20/05/21 11:40:46.45 yX0Ss53O0.net
>>732
超亀レスだけどカンマで分ける件教えてくれてありがとう

784:名無しさん@お腹いっぱい。
20/05/22 23:53:26 orP4Qvwa0.net
FFmpeg 4.2.3 "Ada"
4.2.3 was released on 2020-05-21.

785:名無しさん@お腹いっぱい。
20/05/26 11:31:07 kFexKKRq0.net
「FFmpeg」に致命的な脆弱性 ~修正版の「FFmpeg 4.2.3」が公開 - 窓の杜
URLリンク(forest.watch.impress.co.jp)

786:名無しさん@お腹いっぱい。
20/06/01 02:22:43.53 LXV95fQ60.net
覚え書き:フレームレート周りの用語
fractional frame rate(分数フレームレート):30000/1001 ≒ 29.97fpsとか60000/1001 ≒ 59.96fpsとか
integer frame rate(整数フレームレート):30fpsとか60fpsとか
ドロップフレーム:(主に分数フレームレートの素材について)1/1001の割合で飛ばしてタイムコードを紐付ける方式、またそのタイムコード
 (分数フレームレートの事を指す為に使うのはいい加減な表現のはず)
ノンドロップフレーム:切れ目なくタイムコードを紐付ける方式、まやそのタイムコード
 (整数フレームレートの事w(ry)

787:名無しさん@お腹いっぱい。
20/06/01 20:17:28 LXV95fQ60.net
ICE 1931 色空間の各規格の RGB 色空間について、各設定値と XYZ 色空間への変換式

ITU-R Recommendation BT.709(旧称:CCIR 709)
┣ 白色点:D65
┗ 原色の色度座標:xr=0.64, yr=0.33, xg=0.30, yg=0.60, zr=0.15, zg=0.06

ITU-R BT.470(旧称:EBU Tech. 3213) System B, G
┣ 白色点:D65
┗ 原色の色度座標:xr=0.64, yr=0.33, xg=0.29, yg=0.60, zr=0.15, zg=0.06

788:名無しさん@お腹いっぱい。
20/06/03 23:10:09 NMWKQnDS0.net
mp3 や m4a などからフォーマット変換なしに
アートワークを出力するオプションはありますか?

ffmpeg -i input.m4a cover.jpg
ffmpeg -i input.mp3 cover.png

などのようにやると埋め込み画像とフォーマットが異なる場合に
変換されてしまうので、これを避けたい

ちなみに出力時に拡張子は要りません
埋め込み画像データがバイナリファイルとして書き出せれば良いです

想像のコマンドオプションですが
ffmpeg -i input.mp3 -f ffimage cover.bin
みたいのをイメージしています。

789:名無しさん@お腹いっぱい。
20/06/03 23:53:31.46 s7lI5dZf0.net
mp3tagでも使えばいいのでは

790:名無しさん@お腹いっぱい。
20/06/04 00:51:45.05 WG4cHAEV0.net
シンプルだけど乱暴なやりかた
ffmpeg -i input.mp3 -c copy output.jpg

791:名無しさん@お腹いっぱい。
20/06/04 09:07:54 VbsWF3MI0.net
>>760
プログラムから制御


792:するので コマンドラインを使いたいです >>761 ありがとうございます 画像系の拡張子なら フォーマット変換なしで バイナリ取り出せますね 「乱暴な」という意味分かりましたw 拡張子はフォーマット指定ではなく 単に画像出力指定の意味なんですね



793:名無しさん@お腹いっぱい。
20/06/05 00:18:11 i9SBpUlA0.net
インターレース解除、重複フレーム削除、逆テレシネなどを調べてるけど
こだわり始めると難しいんだな。
こういうの↓とかも面白かった。
URLリンク(stackoverflow.com)

で、インターレース解除とかって容量削減が大きな理由だから
容量削減に重きを置いていない場合、やらなくていいじゃね?と思っていたら
>>485 みたいな書き込みがあって安心した。

試しに、4100MBのm2tsファイルをエンコしてみたら、
・-c:v libx264 -crf 20 -preset:v medium -c:a copy -bsf:a aac_adtstoasc
  →1600MB
・-vf bwdif=0:-1:1,decimate -c:v libx264 -crf 20 -preset:v medium -c:a copy -bsf:a aac_adtstoasc
  →1200MB
っていう25%の差だったけど、400MBくらいならまぁいいかという感じになった。

インターレース解除、重複フレーム削除、逆テレシネしない場合
容量が大きくなる以外にデメリットってありますか?

794:名無しさん@お腹いっぱい。
20/06/05 10:03:28 XFbcJCus0.net
縦方向のリサイズができない
フィルタもインターレースに対応してないと悪影響がでることがある
ちゃんとインターレースフラグ立てないと再生時に解除されない
hevcなど、x264以外のコーデックはインターレースには対応してない

なのですべての問題を回避できるbob化(縞なし60fps化)を愛好する人も一定数いる

*x264でやるにしても、ちゃんとインターレースのフラグを立てるというのが大前提

795:名無しさん@お腹いっぱい。
20/06/05 10:54:47.32 +5TGGNS30.net
>>764
> hevcなど、x264以外のコーデックはインターレースには対応してない
ベタなツッコミだけど、x264はコーデックじゃなくエンコーダな。コーデックとして言うならH.264/AVC。
あとH.265/HEVCは仕様としては一応インターレースにも対応してるし、エンコーダのx265もインターレースに対応してるけど、
インターレースエンコードしたものをちゃんと再生できるデコーダが出回っていないというのが現状。

796:名無しさん@お腹いっぱい。
20/06/05 11:51:24 HXUWVyIW0.net
>インターレース解除、重複フレーム削除、逆テレシネなどを調べてる

テレビ録画したTSのエンコードで、こういう処理の失敗って結構あるの?
失敗を見つけるのってひたすら動画見るしか無いから、あとで気づくってのがありそう。

797:
20/06/05 13:06:33.14 u6zccjlm0.net
>>765
コーデックはエンコーダーとデコーダー
x264はエンコーダーだからコーデック
H.264は規格だからコーデックではない

798:名無しさん@お腹いっぱい。
20/06/05 13:07:49.30 XFbcJCus0.net
>>766
テレシネ解除は、海外製のプラグインや手法は字幕の存在を想定してないから失敗しやすい
自分はffmpegでそういう処理はしないからffmpegの性能は把握してないけど
ffmpegも海外発だから期待はできなさそう
インタレ解除はyadifとか古いものを使わなければ
目立った劣化なく解除できる
>>765
最初はh.264って書いてたけど、x264の仕様しか把握してないから書き換えたのだ

799:名無しさん@お腹いっぱい。
20/06/05 14:57:36.68 SLNtFjjg0.net
avisynthでやってた頃はインタレ保持とか結構簡単にできてたような気がするが、
ffmpeg使うようになってからは、めんどくさくてやらなくなっちゃった。

800:名無しさん@お腹いっぱい。
20/06/05 18:21:09.02 HXUWVyIW0.net
ニコラボさんのインターレース解除の説明を読んでいると
「片フィールド補完」という単語が出てくるのですが、これはどういう意味ですか。
探しても解説


801:が見つかりません。



802:名無しさん@お腹いっぱい。
20/06/05 20:05:36 oE7SoXyh0.net
通常はトップフィールドとボトムフィールドをあわせて完全なフレームにするが
完全なフレームにするのに片方のフィールドしかない映像に
補完を行いもう片方のフィールドを合わせてフレームにする。
スクロールするテロップなんかで見られる。

803:名無しさん@お腹いっぱい。
20/06/05 22:12:14 XFbcJCus0.net
>>770
一枚の映像が「フレーム」
1フレーム中の奇数ラインと偶数ラインのことを、それぞれ「フィールド」と言う
それで、インターレース解除のさいに片方のフィールドを参照しないインタレ解除方法を「片フィールド補完」というのが一般的ではある

804:766,770
20/06/06 00:54:39.41 lQMWa1rL0.net
>>768
ありがとうございます。
エンコ環境がwindowsならAmatsukazeみたいな日本人が開発しているものが使えるのですが
Linuxなのでffmpegかhandbrakeで頑張るしかないです。。。
(AviSynthをLinuxで動かせるかも?)

>>771, >>772
ありがとうございます。
お二方の説明と以下のサイトで理解できました。
URLリンク(sasuraiukyo.blog.fc2.com)
最初片方のフィールドしか見ないなんてありえないだろと思ったのですが
走査線間の隙間が小さいから補間してもそれなりに見える画像になるんですね。
なぜ片方だけにしなきゃいけないのかは分かりませんでしたが。
テロップの話はこれですか?
URLリンク(sasuraiukyo.blog.fc2.com)

805:名無しさん@お腹いっぱい。
20/06/06 09:46:07.91 mJVOadiw0.net
Avisynth+はlinuxに対応したから動くとは思うけど
今のバージョンは互換性に難がでてるからハードルはちょっと高いかも
テレシネ解除の失敗が怖いならbob化(60fps化)が安牌っぽいよ
それか話に出てたインタレ維持か(オプションはよく調べること)
>>773
地デジの60iという放送規格自体が
奇数フィールドとと偶数フィールドで違う(フレームの)映像を送れる仕組みだから
そういうソースの場合はフィールド単位での補完が必要になることがある
(高度なフィルタになるとそのへんのごまかしや補完が上手くなる)

806:名無しさん@お腹いっぱい。
20/06/07 12:30:21.91 7Nfqiv1z0.net
>>759,762
丁寧な書き方
-an -i input -codec:v copy output

807:名無しさん@お腹いっぱい。
20/06/11 17:18:48.67 /cIcGjlE0.net
覚え置き:音声の重ね合わせ(2ch → 1ch)3手法
3つともaresampleフィルタで入力を浮動小数点表現にすると同じ出力結果になるけど、規定のままだとamixは整数表現を、自動的にaresampleを挿入して変換する
-i <2ch入力> -af "aresample=internal_sample_fmt=fltp" -sample_fmt <標本化形式> -ac 1 <1ch出力>
┗ -ac 1によって出力をモノラルに指定するので自動でステレオをモノラルにdown mixされる
-i <2ch入力> -af "aresample=internal_sample_fmt=fltp,pan=mono|c0<FR+FL" -sample_fmt <標本化形式> <1ch出力>
┗ panフィルタでモノラルにする

-i <2ch入力> -af "aresample=internal_sample_fmt=fltp,channelsplit=channel_layout=stereo:channels=all,amix=duration=shortest:dropout_transition=0" -ac 1 <1ch出力>
┗ channelsplitで入力1ストリーム2chを2ストリームに分けてamixフィルタで合成。amixは入力の形式を見るっぽいので-sample_fmtを省略してるけど、変更を見越して省略しない方が良いかも

808:名無しさん@お腹いっぱい。
20/06/12 01:24:41.91 dfoNH8zL0.net
7777777

809:名無しさん@お腹いっぱい。
20/06/13 03:18:07.37 yJv1zpns0.net
MTRのピンポンやな。

810:名無しさん@お腹いっぱい。
20/06/14 21:17:41.14 83IQvDJ90.net
無音データのWAV結合で教えてください


811: ffmpeg -i input.wav -f lavfi -t 5 -i anullsrc -filter_complex "concat=n=2:v=0:a=1" output.wav こんな感じで既存WAVファイルに無音を結合できるまでは分かったのですが 例えば1分のinput.wavを5分になるように 残りを無音で埋めるような指定はできますか?



812:名無しさん@お腹いっぱい。
20/06/14 22:24:58.01 8nwq8sHe0.net
>>779
そんな小難しい事やらなくても専用のフィルタあるよ
-i <input> -af apad=whole_dur=5:00 <output>

813:名無しさん@お腹いっぱい。
20/06/15 20:12:27 EQBwt7Pi0.net
ありがとうございます
コマンドを実行してみましたが
Both whole and pad length are set, this is not possible
私の環境ではエラーが出て使えないみたいです
なにがいけないのか心当たりがあればご教示ください

ffmpeg version 4.2.3
built with gcc 9.3.1

814:名無しさん@お腹いっぱい。
20/06/15 20:26:32.22 EQBwt7Pi0.net
5:00 ではなく 300 と指定すると上手く行きました
なぜ 5:00 が認識しないのかはわかりません
00:05:00 でも 00:05:00.00 でもダメでした
-i <input> -af apad=whole_dur=300 <output>

815:名無しさん@お腹いっぱい。
20/06/15 21:11:11 hK9euIXv0.net
>>782
あー'5:00'って書かないとだね
5の後のコロンが引数の区切りに判定されて、whole~に5、pad~に0が指定された感じ

816:名無しさん@お腹いっぱい。
20/06/15 21:21:04 EQBwt7Pi0.net
ありがとうございます
シングルクォートを入れてもダメでした
その後色々と試してみて下記で上手くいきました
-i <input> -af apad=whole_dur=5\\:00 <output>

コロンの前にバックスラッシュを二つ入れてエスケープさせました
色々とヒントをいただきありがとうございます

817:名無しさん@お腹いっぱい。
20/06/15 22:05:25.87 hK9euIXv0.net
あららおめでとう
役に立たなかったか……エスケープ周りは環境にかなり依るから難しいね

818:名無しさん@お腹いっぱい。
20/06/15 22:43:21.61 EQBwt7Pi0.net
役に立たないなんて滅相もないです
環境を書かなかった私に非があります(Windows)
ここで訊かなければたどり着かなかったと思うので
本当にありがとうございます

819:名無しさん@お腹いっぱい。
20/06/16 01:27:31.52 1H0Ujvhz0.net
>>784
ffmpegからみると、durationは区切り文字なしかシングルクォートで囲う必要があるんだけど、
Windowsのコンソール上ではシングルクォートは完全無視されてしまうので、
結局コレ自体をエスケープするしか無いんだよね。
ffmpeg -i input.wav -af apad=whole_dur=\'5:00\' output.wav
ffmpeg -i input.wav -af apad=whole_dur=5\\:00 output.wav
一応、どちらもおなじパース結果になってるのは確認した
[Parsed_apad_0 @ 000001c34fa39f40] Setting 'whole_dur' to value '5:00'

820:名無しさん@お腹いっぱい。
20/06/19 21:35:21.36 wjif/wbO0.net
ffmpegがVulkan APIに対応したらしいけど
このスレ的にはなんか御利益あるの?

821:名無しさん@お腹いっぱい。
20/06/19 21:56:33.00 BJP5kTAQ0.net
linux使ってる人にはHWで使える選択肢が増えたらしい

822:名無しさん@お腹いっぱい。
20/06/20 00:18:46.06 oFBCQp8H0.net
AMD AMFがLinuxで使えるな
あとはvulkanでのスケーリングもある

823:名無しさん@お腹いっぱい。
20/06/20 00:21:48.23 bHRBXN9z0.net
>>790
使える?>スケーリング(リサイズ)

824:名無しさん@お腹いっぱい。
20/06/20 18:14:03 T2VIowv60.net
ffmpeg + nvenc で品質の指定方法(crfの代替)を調べていて、
大別すると以下の3タイプがありました。
?と?が多い感じがしますが、どれが良いのでしょうか?

(A)-rc constqpタイプ
?-rc constqp + 「-qp」
 ?-rc constqp + 「-qmin -qmax」
 ?-rc constqp + 「-cq」

(B)-rc vbr_hq (vbrも) タイプ
 ?-rc vbr_hq + 「-b:v -maxrate:v (-bufsize:v) (-qmin -qmax)」
 ?-rc vbr_hq + 「-cq -qmin -qmax -b:v 0」

(C)-cq タイプ
 ?-cq のみ

825:名無しさん@お腹いっぱい。
20/06/23 02:28:39 Iv


826:qQxY3a0.net



827:名無しさん@お腹いっぱい。
20/06/26 12:39:24.47 FEeAf8v10.net
ゲーム録画したVFRをCFR変換(ともにnvenc,264,lossless,444)するときに60000/1001じゃなくて59.94って指定したら59940/1000になった上に、1クリップだけ再変換しようとしたら一部のフレームがエラーで読み込めなくなってて?変換失敗するようになってしまった
読み込みエラーの方は色々試したけど直せず、諦めて再録画したから過ぎたことではあるけど
MPCとかVLCとかのメディアプレーヤーでは異常なく再生できたからエラーフレームだけスキップしてエンコードできればいいと思うんだけど、そんなコマンドか方法あるか、どなたかご存知ですか

エラーの記録は残ってなくてアバウトですみません

828:名無しさん@お腹いっぱい。
20/06/26 19:55:43.80 Giy0G+ib0.net
馬鹿にはvfrは無理
バカ用のaviutlとlsmashでも使っとけ

829:名無しさん@お腹いっぱい。
20/06/27 09:19:21.99 +jaggmdS0.net
いや、VFR→CFR変換自体はできたんだよ
1クリップだけ壊れてたの
他のクリップは壊れてなくて59940/1000から60000/1001に戻せた
ちなみにaviutl-lsmashで読み込めたからデリバーもしてみたけど無理だっ他のNLEでは/1000にしちゃったせいで読み込めなかったし

830:名無しさん@お腹いっぱい。
20/06/27 10:10:58.27 bxqb0uu60.net
> 1クリップだけ再変換しようとした
・「クリップ」という単位を具体的に
> 一部のフレームがエラーで読み込めなくなってて?
・疑問を呈されてもここの誰にも分からない
> MPCとかVLCとかのメディアプレーヤーでは異常なく再生できた
・異常が無かったという根拠は
> エラーフレームだけスキップしてエンコードできればいいと思う
・なぜ「フレーム単位」だと思うのか
・エラーが起こる箇所が把握できているならその前後の時間で切り出しすれば良いだけでは

831:名無しさん@お腹いっぱい。
20/06/27 11:34:02.59 4gzwt/Jq0.net
>>797
言葉足らずですみません
・「クリップ」という単位を具体的に
時間を分けてキャプチャした複数の動画ファイルをエンコードしたということです
そのうち1個だけエラーになってffmpegでも他のエンコーダNLEで再エンコードできなくなってしまいました
・疑問を呈されてもここの誰にも分からない
そこは承知していますので、答えを頂けないのは当然でダメ元で最後のスキップだけでもヒントがあればと思って聞いてみました
・異常が無かったという根拠は
正確には最後まで再生可能で視覚的に認識できる異常はなかったということです
・なぜ「フレーム単位」だと思うのか
特定のエンコード時間/フレームあたりで何度かInvalid NAL unit sizeというエラーが出たのでフレームかGOP単位かなと
詳しくないので全然違うかもしれませんが
・エラーが起こる箇所が把握できているならその前後の時間で切り出しすれば良いだけでは
それは検討してみましたが、あくまでエンコード中のエラー出たときの時間を目視しただけなのでフレーム単位では把握してないので、アバウトに切り出すとカット部分が視覚的に認識できるレベルになってしまうかなと思い、自動でエラー箇所のみカットできる機能があればなぁ、と。

832:名無しさん@お腹いっぱい。
20/06/27 11:34:33.59 4gzwt/Jq0.net
>>798
○他のエンコーダやNLEでも

833:名無しさん@お腹いっぱい。
20/06/28 01:57:58.71 k12uv22y0.net
800

834:
20/06/28 02:26:18.22 gfS2e6EN0.net
>>794
60000/1001を指定したらいいんじゃないの?
それともフレームレートはそれでうまくいったけど1つだけ"Invalid NAL unit size"が出て変換失敗するクリップがあって困ってるってこと?

835:名無しさん@お腹いっぱい。
20/06/28 10:20:42.37 n/wM5H3B0.net
>>801
そのとおりです
他は60000/1001に指定し直して変換できました
1個だけエラーが出ます

836:名無しさん@お腹いっぱい。
20/06/29 06:00:07.94 elEEwsC20.net
GOPの仕組み理解してるなら「フレーム単位で切り出そう」とか「エラーフレームだけ自動でスキップ」とか普通は考えないでしょ

837:名無しさん@お腹いっぱい。
20/06/29 09:10:18.40 fGn/XM0m0.net
フレーム単位というか、正確にはGOP単位ですかね
すみません

838:名無しさん@お腹いっぱい。
2020/06/29


839:(月) 21:24:52.87 ID:Iw5RDQFE0.net



840:名無しさん@お腹いっぱい。
20/06/29 23:01:45.77 PNIbrnA30.net
-fflags +discardcorrupt
のことかな
URLリンク(ffmpeg.org)

841:名無しさん@お腹いっぱい。
20/06/30 13:31:46.32 5gSeSplB0.net
>>794
>59.94って指定したら59940/1000になった上に
そら、そうなるわ
初めからやり直したほうがいい

842:名無しさん@お腹いっぱい。
20/06/30 17:39:30.96 9nGQcFeN0.net
>>806
多分そんな感じのです!
今度起きたらやってみます、ありがとうございます
>>807
結局撮り直しました
NLEだと設定で59.94選ぶだけで理由までわかってなかったんで、一つ賢くなりました
みなさん、ありがとうございました

843:名無しさん@お腹いっぱい。
20/06/30 18:43:51.90 8OHHAFLK0.net
ゲームガイジが去ったか
みなご苦労

844:名無しさん@お腹いっぱい。
20/06/30 19:20:43.32 Q5hwQduM0.net
別のがまだ残ってるな

845:名無しさん@お腹いっぱい。
20/06/30 22:34:03.49 GcJpEbP30.net
ん、もしかして似非の分数フレームレートに間違えて変換したものを真の分数フレームレートに再変換しようとしてたのか
余計に歪になるだろうに再変換する理由が分からないけど解決したらしいし良いのか

846:名無しさん@お腹いっぱい。
20/07/01 16:13:42.08 fJSebLhl0.net
PC環境変えたせいかどうかは知らんが、Win10 x64 2004でmedia-autobuild_suite使うと以下のエラー(一部修正あり)でビルドできないんだけど・・・
バグ?
Likely error (tail of the failed operation logfile):
| SRTO_SENDER
src/libavformat/libsrt.c: In function 'libsrt_setup':
src/libavformat/libsrt.c:409:5: warning: 'srt_socket' is deprecated [-Wdeprecated-declarations]
409 | fd = srt_socket(cur_ai->ai_family, cur_ai->ai_socktype, 0);
| ^~
In file included from src/libavformat/libsrt.c:24:
"srt.h":735:41: note: declared here
735 | SRT_ATR_DEPRECATED_PX SRT_API SRTSOCKET srt_socket(int, int, int) SRT_ATR_DEPRECATED;
| ^~~~~~~~~~
make: *** [/build/ffmpeg-git/ffbuild/common.mak:59: libavformat/libsrt.o] Error 1
make failed. Check "ab-suite.make.log"
This is required for other packages, so this script will exit.
16:07:02 Creating diagnostics file...
Attach "logs.zip" to the GitHub issue.
Make sure the suite is up-to-date before reporting an issue. It might've been fixed already.
Try running the build again at a later time.

847:名無しさん@お腹いっぱい。
20/07/01 16:41:05.52 fJSebLhl0.net
そういえばこんなメッセージが出てたな
mkdir: cannot change permissions of '/dev/shm': Permission denied
mkdir: cannot change permissions of '/dev/mqueue': Permission denied

848:名無しさん@お腹いっぱい。
20/07/01 19:47:36.94 y0ro8GMj0.net
tracに報告が上がってる
URLリンク(trac.ffmpeg.org)
URLリンク(github.com)
URLリンク(github.com)

849:名無しさん@お腹いっぱい。
20/07/04 16:36:16.66 this51Mw0.net
コア数10のCPUを使っているのですが
エンコード中に全スレッドを使用してはいるのですが
CPU使用率が65%くらいになってしまいます。
100%使用したいのですが
どのようにすれば良いですか?

850:名無しさん@お腹いっぱい。
20/07/04 16:40:39.56 nIJNKBme0.net
来世に期待

851:名無しさん@お腹いっぱい。
20/07/04 19:11:13.96 0ANLy8wN0.net
デコード、エンコード、フィルタのどれかが
ボトルネックになっている可能性があるのでコマンドを書いてくれれば

852:名無しさん@お腹いっぱい。
20/07/06 01:29:26.90 jA46r/RV0.net
media-autobuild_suite
未だに>>812のエラーが直ってないんだけど・・・

853:名無しさん@お腹いっぱい。
20/07/06 03:08:25.26 W0nv545K0.net
ここに報告すれば直るとでも思ってるのか?

854:名無しさん@お腹いっぱい。
20/07/06 08:02:52.03 C68/7q6X0.net
いくら要るんだ?

855:名無しさん@お腹いっぱい。
20/07/06 16:29:48 YAxkMqsH0.net
いくらよりオクラのが好きです

856:名無しさん@お腹いっぱい。
20/07/07 22:04:53.40 Q8huhYjd0.net
ffmpegって複数起動して同時にエンコードして問題ありませんか?
見たところ、問題なさそうなのですが、
たまにファイルがバグったりしませんか?

857:名無しさん@お腹いっぱい。
20/07/07 22:09:27.98 KNbfqKim0.net
お前が言ってるのは、
メモ帳を2つ起動して2つのファイルを編集して問題ありませんか?
っていうレベルでくだらない。
エンコードの前にプロセスやファイルについて調べてから出直せ

858:名無しさん@お腹いっぱい。
20/07/07 22:12:02.83 Q8huhYjd0.net
メモ帳などGUIソフトですが
ffmpegはCUIソフトなので
同時起動を想定して作られていないのではないかと思いました

859:名無しさん@お腹いっぱい。
20/07/07 22:19:06.46 wp/aeHA80.net
GUIもCUIも関係ないよ

860:名無しさん@お腹いっぱい。
20/07/07 22:24:35.73 Qh1mTp5C0.net
問題ないよ

861:名無しさん@お腹いっぱい。
20/07/07 22:34:14.76 Q8huhYjd0.net
まじすかああああ
信じていいんですかああああ?
引っかけとかじゃないですよねええ

862:名無しさん@お腹いっぱい。
20/07/07 22:35:45.84 Sicj1tEn0.net
>>823
そんな意地悪な言い方しなくてもよくない?

863:名無しさん@お腹いっぱい。
20/07/07 22:44:42.64 LcKLhtXN0.net
>>822
作成されるファイル名次第かな

864:名無しさん@お腹いっぱい。
20/07/07 22:48:17.09 Q8huhYjd0.net
特に数に制限もありませんか?
10個でも100個でも複数立ち上げても問題ありませんか?

865:名無しさん@お腹いっぱい。
20/07/07 22:52:58.63 LjxZ6/520.net
信じられないなら適当に数分の動画複数同時にエンコードしてみりゃいいじゃん
百聞は一見になんちゃらって言うだろ

866:名無しさん@お腹いっぱい。
20/07/07 23:15:08.15 LcKLhtXN0.net
>>830
メモリとかリソース次第かな、winならsharedSectionとか

867:名無しさん@お腹いっぱい。
20/07/07 23:24:52.88 Q8huhYjd0.net
sharedSectionって何ですか?
 

868:名無しさん@お腹いっぱい。
20/07/07 23:35:01.52 wp/aeHA80.net
一般のPCで気にする必要のないものだよ
「ありがとう」と一言言って自分で実験するよろし

869:名無しさん@お腹いっぱい。
20/07/08 01:01:18.47 95Dn7/L80.net
vid.stabの公式ビデオって盛りすぎじゃない?
こんなにうまく作れないや
URLリンク(youtu.be)
それとも補正したいのは車の振れだから、細かな振動は検知しきれないのだろうか

870:名無しさん@お腹いっぱい。
20/07/08 13:36:04.17 sPjhTk8n0.net
>>828
何がどう「意地悪」なんだ?
「プロセスやファイルについて調べろ」と答えは書いてるだろ
ffmpeg以前の問題なんだよこんなこと

871:名無しさん@お腹いっぱい。
20/07/08 13:55:30.51 ZJhqS45Q0.net
電算機は層が多階層すぎて全ての知識持ってる事までは不要だけど
1つ下の層の知識は無いと話にならないよね

872:名無しさん@お腹いっぱい。
20/07/08 14:20:01.21 fm79ErM30.net
>>836
「意地悪」で通じなければ「高圧的」と言い換える

873:名無しさん@お腹いっぱい。
20/07/08 14:27:13.14 sPjhTk8n0.net
どこの誰か分かりもしないやつが書いてる「ただの文章」から勝手に「態度」を読み取ったつもりで文句つけてるのかw
やはりくだらんな
掲示場見るのやめろw

874:名無しさん@お腹いっぱい。
20/07/08 14:55:15.80 N0cOqy8E0.net
ヒントもらって偉そうに言うな
少しは調べろ

875:名無しさん@お腹いっぱい。
20/07/08 15:33:07.47 yNr26WwS0.net
コマンドラインで音声ファイルを変換(例えばwav→ogg)すると
先頭に無音で0.1秒くらい挿入されてしまうのですが、
オプションで挿入されないようにすることは可能ですか?

876:名無しさん@お腹いっぱい。
20/07/08 15:48:09.14 u+0gaQmn0.net
ほおー ffmpegのgitもコレに対応すんのかな
ストリーミングの転送量を半減する新エンコード「H.266/VVC」発表 - Engadget 日本版 URLリンク(japanese.engadget.com)

877:名無しさん@お腹いっぱい。
20/07/08 17:13:31.61 ZJhqS45Q0.net
来てもまだ保管用に使う段階だな
標準で対応してる再生機器無いから

878:名無しさん@お腹いっぱい。
20/07/08 17:36:20.65 kw2j9lWV0.net
URLリンク(gigazine.net)

879:名無しさん@お腹いっぱい。
20/07/08 19:34:00.02 AzpV7qyU0.net
FFmpegでエンコードがどこまで進んだか
コマンドプロンプト画面上に表示する方法ってありますか?

880:名無しさん@お腹いっぱい。
20/07/08 20:12:16.69 BwUSrHEx0.net
デフォルトで出てなかったっけ

881:名無しさん@お腹いっぱい。
20/07/08 20:14:49.25 AzpV7qyU0.net
>>846
動画時間は表示されるのですが、
トータルの動画時間をいちいち調べないといけないので
不便です。

882:名無しさん@お腹いっぱい。
20/07/08 20:31:07.55 FTRC+udn0.net
つまり何がほしいの

883:名無しさん@お腹いっぱい。
20/07/08 20:39:39.60 AzpV7qyU0.net
何パーセントまで終了したか知りたいのですが
欲を言えばメーターを表示するとか、
数値でも良いのでパーセント表示できませんか?

884:名無しさん@お腹いっぱい。
20/07/08 21:05:37.38 ZJhqS45Q0.net
>>849
URLリンク(webnetforce.net)

885:名無しさん@お腹いっぱい。
20/07/08 21:12:24.48 BwUSrHEx0.net
大変すぎ

886:名無しさん@お腹いっぱい。
20/07/08 21:51:26.95 AzpV7qyU0.net
ちょっと私には敷居が高すぎます
もっと簡単な方法がありましたらお教えくださいませ

887:名無しさん@お腹いっぱい。
20/07/08 22:12:47.57 sPjhTk8n0.net
ここまでカッチリとコードがあるのにこれ以上簡単とかどんだけだよ
もう進捗がGUIで表示されるソフト使えよw

888:名無しさん@お腹いっぱい。
20/07/08 22:25:47 BwUSrHEx0.net
知りたいのはパーセンテージでもなくて、ETAなんだよな
現在のtimeもトータルの長さも判ってて、あとは簡単な四則演算だけなのに、
何故一番知りたい部分を書かない

889:名無しさん@お腹いっぱい。
20/07/08 22:32:01.64 AzpV7qyU0.net
VB.NETなら使い方を知っているのですが
エンコード中にFFmpegから、進捗に関する情報を取得するにはどうすれば良いですか?

890:名無しさん@お腹いっぱい。
20/07/09 00:19:11.97 UL/sc7i90.net
標準出力あたりに出てくるんじゃ

891:名無しさん@お腹いっぱい。
20/07/09 00:26:12.58 uvtzAyTH0.net
シェルスクリプトくらい読みなよ……

892:名無しさん@お腹いっぱい。
20/07/09 07:20:02.12 Pd5+XJsW0.net
Linux標準だから使われてるけど、速度出ない割に扱いにくいから無理ない部分もあるかもね
せめて実行ファイルの呼び出され方と標準出入力の理解は欲しい

893:名無しさん@お腹いっぱい。
20/07/09 08:47:42.67 DeHSL7E90.net
動画の時間わかっててリアルタイムにどこをエンコードしてるのが表示されてるんだから
見たまんまでわかれって話だよな

894:名無しさん@お腹いっぱい。
20/07/09 09:33:26.72 Pd5+XJsW0.net
まぁでも
demux → (seek →) decode (→ seek) → filter → encode → decode → demux
ってあって、表示される時間ってencodeの部分でしょ
予想は厳しいし表示される時間から実際の全体の時間を計ることもできなそう

895:名無しさん@お腹いっぱい。
20/07/09 10:32:30.03 r06qXH/T0.net
これまでの平均のエンコード速度、みたいなのは持ってないんだよな
最初予測が荒くて、だんだん正確になっていく、みたいなことが期待できない
そこから計算するんじゃなくて、開始時刻と現在時刻と、現在地点と全体の長さだけから
計算してしまえば、簡単に正確に計算できる筈だけど、
エンコーダーは知らない情報なので出力されない
一段上の奴なら知ってるけど、そんな機能は無い

896:名無しさん@お腹いっぱい。
20/07/09 10:50:27.93 81i3pLbk0.net
やりたいことは人それぞれだし
数こなして自分でノウハウを貯めるしかないんじゃないの?

897:名無しさん@お腹いっぱい。
20/07/09 12:30:27.56 rUG0Qktd0.net
>>835
その動画はdeshakeも併用してるよ
stabだけだと絶対に無理なのさ

898:名無しさん@お腹いっぱい。
20/07/11 20:38:07.16 1Gt3CyBH0.net
なんかRTXなのにcudaが効かないと思ってググったらnvdecってh264の444はサポートしてないのね
nvencは対応してるのになんでや
まぁデコードはCPUでもそこまで重くないからなんとかなるとはいえ

899:名無しさん@お腹いっぱい。
20/07/18 15:15:13.57 L8pmTivA0.net
mpeg-dashの映像とaac音声の無劣化マージいけたっけ?

900:名無しさん@お腹いっぱい。
20/07/18 15:22:14.81 G71RLvl10.net
いけたっけの前にできない理由がわからない

901:名無しさん@お腹いっぱい。
20/07/18 16:09:52.34 xYEpPon50.net
何らかのコンテナが対応してない可能性を考えたんじゃ
どうしてそうなるかは分からないけど

902:名無しさん@お腹いっぱい。
20/07/18 19:01:14.28 DlfL7cYS0.net
ffmpegだけで逆位相ってできる?
通常の曲にカラオケ版の曲の逆位相を当ててボーカルの声だけ抽出したい

903:名無しさん@お腹いっぱい。
20/07/18 19:10:05.21 xYEpPon50.net
af "aeval=-val(ch)"
けサンプルの時間的な狂いなく合わせるのきつくて成功しないと思うね

904:名無しさん@お腹いっぱい。
20/07/18 20:01:17.77 gzxKUrGK0.net
AIでもまだ無理な分野だな

905:名無しさん@お腹いっぱい。
20/07/18 20:10:37.82 DlfL7cYS0.net
早速ありがとう
完全でなくてもある程度抽出できれば大丈夫
それで
ffmpeg -i "対象ファイルのパス" -af "aeval=-val(ch)" "任意のファイル名.mp3"
とかでやってみたけどやり方が悪いのか元々ステレオだったのがモノラルになって出力しまう
できればステレオでやりたいんだけどどこを直せばいい?

906:名無しさん@お腹いっぱい。
20/07/18 20:20:29.56 G71RLvl10.net
そう言う目的なら波形編集ソフトがいいのかなあ

907:名無しさん@お腹いっぱい。
20/07/18 20:22:29.80 xYEpPon50.net
>>871
aeval=expr=-val(ch):channel_layout=same でやってみて
aevalは既定で、expr引数の縦棒「|」で区切ってサンプル毎に指定した式の数が出力チャンネル数になっちゃう
channel_layout引数に'same'を指定するとフィルタの入力と同じチャンネルになる

908:名無しさん@お腹いっぱい。
20/07/18 20:26:05.04 xYEpPon50.net
抽出(or 背景除去)は機械学習とかでそれなりにできるようにはなってるけど
学習からの予想でできたものって素材本来の味じゃないからなぁ

909:名無しさん@お腹いっぱい。
20/07/18 20:38:45.69 gzxKUrGK0.net
普通に画像を認識するのと同じように、時間とスペクトルの二次元データがあれば、
機械学習できる筈
問題は、スペクトルに変換するのに時間がかかりすぎること
生物は蝸牛管と脳で超並列で分析してるから簡単にやれてる

910:名無しさん@お腹いっぱい。
20/07/18 20:51:44.48 xYEpPon50.net
>>875
もちろん伴奏か歌唱の単体の素材もあったら今でもかなりの精度でできそう
けど素材がmix後のしか無い場合、本来の素材からは少なからずぼやけるはず

911:名無しさん@お腹いっぱい。
20/07/18 20:54:38.66 gzxKUrGK0.net
ぼやけるなら、変換の精度が低いんだろう
AIの出力って要は、脳内で鳴らした音を録音するようなものだから

912:名無しさん@お腹いっぱい。
20/07/18 21:15:00.54 DlfL7cYS0.net
>>873
おお!
目的のものができた
丁寧にありがとう

913:名無しさん@お腹いっぱい。
20/07/18 21:15:44.13 xYEpPon50.net



914:精度はどこまで行っても"推測"の域を出られないからね 元の2つの波形から重ね合わせた波形は一意に決まるけど、逆に重ね合わせた波形から元の波形はほぼ無限に有り得ちゃう 学習による傾向から範囲を限定してもはっきりしたのにはできない



915:名無しさん@お腹いっぱい。
20/07/18 21:22:37.73 xYEpPon50.net
>>878
どうもー
タイミング調整で詰んだけど、前に位相反転でキャンセリング調整したことあったからね
素材の品位に差が無かったら上手くいったのかも知れないけど

916:名無しさん@お腹いっぱい。
20/07/19 09:15:04.76 sdyIHVp+0.net
hevc_nvecのb_ref_modeをeachに指定すると
Each B frame as reference is not supported
ってメッセージが出て出力できないんだけど、eachって使えないのかな
NVEncCだと--bref-mode eachが使えるから、hevc_nvecでも使えておかしくないと思うんだけど
なにか他に指定しなきゃいけないオプションでもあります?
投げたコマンドは↓で、FFMpegのバージョンは4.3
FFMPEG -y -i input.mp4 -c:v hevc_nvenc -bf 3 -b_ref_mode each -an output.mp4

917:名無しさん@お腹いっぱい。
20/07/19 16:49:37.72 rq6kjMIQ0.net
Zeranoe版のサイト、ずいぶん様変わりしたんだな。

918:名無しさん@お腹いっぱい。
20/07/19 17:41:24.03 rq6kjMIQ0.net
>>881
GPUとドライババージョンは?

919:名無しさん@お腹いっぱい。
20/07/19 17:45:07.44 rq6kjMIQ0.net
>>881
あと -b_ref_mode middle だとどうなる?

920:名無しさん@お腹いっぱい。
20/07/19 19:34:15.12 rq6kjMIQ0.net
>>881
一応調べたとこまで。
●3月時点: RTX 2080 SUPER + Game Ready Driver 442.59でも、HEVCで b_ref_mode each がサポートされてないって言われる
URLリンク(forums.developer.nvidia.com)
●ffmpegの該当エラー処理部
URLリンク(github.com)
 → NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE を調べて、GPUでEACHがサポートされているかを調べている。
   ここで 「EACHはサポートしとらんで」 という結果が返っているためエラーとなっている。
   (-b_ref_mode middle が通るなら、「MIDDLEのみサポートしとるで」 という結果が返っているのだと思う)
 →参考:NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODEの定義
   URLリンク(github.com)
●rigaya氏のNVEncCの場合
URLリンク(github.com)
 →NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODEは調べているが、DISABLEDかどうかを見ているだけ。
   「EACHをサポートしているかどうか」はチェックしていない。
ということで、どうも each については、そもそも現時点で本当に使えるのかどうかよくわからんことになってる。
NVEncCで使えてるように見えても、実はちゃんと使われていない可能性もあるかも?
NVEncC.exe --check-features だと、B ref mode のサポート状況はyes/no表示になってるから、
yesだとしても、eachをサポートしてるのか、middleだけなのかはわからないんだよね。
とりあえず上で聞いた質問の答えを返してもらえるとありがたい。

921:名無しさん@お腹いっぱい。
20/07/19 20:35:00.25 sdyIHVp+0.net
1660superで、ドライバは446.14(リリース日:2020.5.27)
middleだと普通に行ける
ネット漁って使用例見てもみんなmiddleかdisableなんだよね
その可能性は考えたけど、やっぱNVEncCでもちゃんと使えてるかは不明か~

922:名無しさん@お腹いっぱい。
20/07/19 22:50:44.40 rq6kjMIQ0.net
>>886
とりあえずrigaya氏のNVEnc5.11の記事にコメントしといた


923:。 あと、NVEncC.exeで  --bref-mode each  --bref-mode middle  --bref-mode disabled をやってみて、結果に違いが出るのかどうかを確認してみてもらえるとありがたいかな。 eachでmiddleやdisableと異なる結果が出るなら、とりあえずeachでなにかやってるってことになるだろうし。



924:名無しさん@お腹いっぱい。
20/07/20 00:44:39.43 5oMYCxdy0.net
middleとeachで結果変わった…
rigaya氏のNVEncだと有効なのかな、それも不思議な話だ
◆投げたコマンド
NVEncC --avhw -i INPUT -c hevc -u quality --vbrhq 0 --vbr-quality 18 -b 3 --bref-mode disable/middle/each -o OUTPUT

925:名無しさん@お腹いっぱい。
20/07/20 00:59:34.27 u+vC8HPJ0.net
ごめん規制に巻き込まれて結果書き込みづらいが
とにかく若干eachの方が容量増えた
I,P,Bのフレーム数は変わらず

926:名無しさん@お腹いっぱい。
20/07/20 01:05:25 sMBTWBL30.net
>>888
・ffmpegのチェック処理にバグがある
・ドライバのバグで NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE に戻すべき値を間違っている
 (バグってるのはそこだけで、実パラメータとしてEACHを設定してやればちゃんとEACHとして動く)

といったことが考えられるけど、どうなんだろね。

ffmpegのソースの部分修正と自ビルドができるなら、>>885のエラー処理部のとこで
 ・NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE の戻り値をログ出力して確認
 ・該当エラー処理をうまいことコメントアウト
してみて、-b_ref_mode each/middle/disabled を比較してみるという手もある。

927:名無しさん@お腹いっぱい。
20/07/20 03:07:01 5oMYCxdy0.net
ごめんその手のスキルは持ち合わせてない

結果のログ載せようとすると弾かれるのか…
何が引っかかるのやら

928:
20/07/20 06:23:21.56 ZdhxNz7z0.net
>>891
URLリンク(hastebin.com)
URLリンク(hardbin.com)
ログとかはこういうので公開するといい

929:名無しさん@お腹いっぱい。
20/07/20 06:50:44.74 5oMYCxdy0.net
はえーいろんなサービスがあるもんだねー
貼り付けてみた
URLリンク(hardbin.com)
といっても分かるのは前述通り各フレームのサイズが微妙に変わったことくらいだけれど

930:名無しさん@お腹いっぱい。
20/07/21 00:52:07.66 UW4DncKk0.net
>>881の -b_ref_mode each の件、たぶん原因判明。ffmpegのバグ。
詳細はrigaya氏のブログのNVEnc 5.11の記事のコメント欄を参照。
NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE は each と middle の両方が
サポートされている場合、1(each) と 2(middle) の論理和をとって 3 を返す模様。
>>885にあるように、今のffmpegの処理は「eachをサポートしてるなら1を返すはずや!」という
チェックになっているので、それを修正する必要がある。
・・・報告ってどうやるんだっけな・・・。

931:名無しさん@お腹いっぱい。
20/07/21 01:16:58.75 75/FE8z20.net
>>894
みんな詳しいな、尊敬するわ
バグ報告はここっぽい
URLリンク(trac.ffmpeg.org)

932:名無しさん@お腹いっぱい。
20/07/21 01:36:43.18 V6VjZJnu0.net
I find bag.
This is middle and each bag.
1 + 2 is 3.
It is bag, all right?
You fix please.

933:名無しさん@お腹いっぱい。
20/07/21 02:00:21.01 oYJjamTG0.net
私はカバンを見つけました

934:名無しさん@お腹いっぱい。
20/07/21 02:20:57.74 UW4DncKk0.net
>>895
サンキュー。とりあえずチケット登録しといた。
コード修正は誰かにまかせるぜスタイルなので、フォローできる人はよろしく頼む。
  #8809 (hevc_nvenc / b_ref_mode each is not working) ? FFmpeg
  URLリンク(trac.ffmpeg.org)
早く直してもらえるといいな。まあ俺Turing持ってないんだけど・・・w

935:名無しさん@お腹いっぱい。
20/07/21 09:15:14.38 yhRpHULW0.net
bref-modeって何するもん?

936:名無しさん@お腹いっぱい。
20/07/21 14:03:26 xY8VAVEM0.net
900

937:名無しさん@お腹いっぱい。
20/07/21 14:35:33.57 y8zEtScE0.net
>>899
x264/x265で言うところの --b-pyramid みたいなもんじゃないかな?
Bフレームを参照するBフレームを作ることで圧縮効率を上げるみたいな。
(自分の理解が間違ってたら指摘よろ)
NVIDIAのSDKドキュメントの説明だと、
  「パフォーマンスへの影響なしに画質を改善できるので、有効にすることを強く推奨」
とされている。
 URLリンク(docs.nvidia.com)
h264_nvenc で使えるのは、-b_ref_mode middle だけ。
hevc_nvenc だと middle だけではなく、(上記バグが修正されれば) each も使えるけど、
そもそもHEVCのBフレームがサポートされたのはTuringからなので、TuringのGPU(無印1650を除く)が必要。

938:名無しさん@お腹いっぱい。
20/07/21 15:00:23.20 yhRpHULW0.net
うちのは1660なので試してみよう

939:名無しさん@お腹いっぱい。
20/07/21 22:57:12.57 hbGpSwkL0.net
一つの動画ファイルの中で
明るくなったり暗くなったりする動画ファイルがあるのですが
明るさの平均値が一定になるように
ホワイトバランスを設定するような機能ってffmpegにありますか?
 

940:名無しさん@お腹いっぱい。
20/07/21 23:06:40.06 oYJjamTG0.net
あります

941:名無しさん@お腹いっぱい。
20/07/21 23:37:44.96 yhRpHULW0.net
こういうのってなんで生きてるんだろうな

942:名無しさん@お腹いっぱい。
20/07/22 00:07:31.50 PnRxCa4D0.net
立場の低い人を困らせるのが生きがいだからだろ
言わせんな(そいつが)恥ずかしい

943:903
20/07/22 18:45:22.19 Fy+7VVut0.net
>>904
どのコードを使えば良いかお教え願えないでしょうか?

944:名無しさん@お腹いっぱい。
20/07/22 18:58:42.21 JHY9D4oh0.net
知ってる訳がない

945:名無しさん@お腹いっぱい。
20/07/24 07:00:47.78 oM8O6VkH0.net
何がやりたいのかもう少し詳しく
とりあえずhisteqが近そうだけども

946:名無しさん@お腹いっぱい。
20/07/26 15:51:21.21 gfh2Twnh0.net
ffmpegOutで、2passってできる?
具体的にはvidstabを使いたいんだが、1passすら始まらずtransformでtrfファイルが見つからないとログがでる
-c:a copy
-c:v libx264
-crf 30
-vf vidstabdetect -an -f null -
-c:a copy
-c:v libx264
-crf 18
-vf vidstabtransform -y
vidstab自体はビルドできてる
detectとtransformでそれぞれプロフィールを分ければエンコできるんだが、できれば一気にやりたい

947:名無しさん@お腹いっぱい。
20/07/26 16:07:12.41 gfh2Twnh0.net
ごめん、スレ間違えた
取り消します

948:名無しさん@お腹いっぱい。
20/07/26 17:20:12.55 fCzyjOBH0.net
Hqdn3dでスムージングをかけながら、
動画を静止画として出力したいのですが、
なぜ


949:か反映されません。 それ以外の設定は反映されるのですが、 Hqdn3dだけは、画像出力の場合にだけ無効化される仕様なのでしょうか?



950:名無しさん@お腹いっぱい。
20/07/29 08:45:48.87 ErdE8Any0.net
>901
URLリンク(github.com)
なおったっぽい

951:名無しさん@お腹いっぱい。
20/07/29 18:53:12.25 oNkDnRhB0.net
>>913
ffmpeg-20200729-cbb6ba2-win64-staticで反映されてるね。

952:912
20/07/29 19:11:01.67 +QEfK52S0.net
どなたかよろしくお願いいたします。
 

953:名無しさん@お腹いっぱい。
20/07/29 22:16:00.97 dqFr7O270.net
>>896のおかげか

954:名無しさん@お腹いっぱい。
20/07/30 00:34:19.53 1zwRp07c0.net
カバンが見つかってよかったね

955:881
20/07/30 03:31:42.41 rv6AnFpc0.net
each使えるようになったけど新たな問題が…
FFMPEG -y -i input.mp4 -c:v hevc_nvenc -refs 5 -bf 3 -b_ref_mode each -an output.mp4
↑なら成功するけど
FFMPEG -y -i input.mp4 -c:v hevc_nvenc -refs <6-16> -bf 3 -b_ref_mode each -an output.mp4
のように、refsが6以上になるとエラーが出てエンコードできない
[hevc_nvenc @ 0000029fd8825340] EncodePicture failed!: generic error (20):
Video encoding failed
Conversion failed!
middleだと-refs 16でも行ける
NVEncCだとeach指定でも--refは16まで行ける

956:名無しさん@お腹いっぱい。
20/07/30 14:27:15.12 I+v0iwdb0.net
>>918
・意味ないかもだけど -refs のかわりに -dpb_size を使ってみた場合はどうなるかな?
  FFMPEG -y -i input.mp4 -c:v hevc_nvenc -dpb_size <6-16> -bf 3 -b_ref_mode each -an output.mp4
・何もわからない可能性もあるけど、差し支えなければ -loglevel debug をつけたログを
 テキストファイルかpastebinあたりで出してみてもらえるとありがたいかな・・・

957:名無しさん@お腹いっぱい。
20/07/30 14:47:32 rv6AnFpc0.net
NVEncCでeach使うとref 5と16の結果が一緒だった。middleは5と16の結果が違った
どうもeachだと上限5なのかな

958:名無しさん@お腹いっぱい。
20/07/30 21:16:14 3SzyDS+U0.net
>912
入力コマンドを書き込んでほしいのと
>画像出力の場合にだけ無効化
の無効化とはどのように確認しましたか。

959:名無しさん@お腹いっぱい。
20/07/31 02:23:31.32 RujOhmlm0.net
X265のオプションの解説にHEVCの規格上、ferは最大8まで、bフレーム有効で7、b-pyramid有効(NVENCにあるかは知らん)で6になる。エンコードするにはLevel無しのエンコードを許可するオプションが必要
とか何とかあるし、その辺でハードウェア的に対応してないとかそんなんなんじゃない?(適当)
じゃあなんでmiddleはエンコードできんねんって話だけど…

960:名無しさん@お腹いっぱい。
20/07/31 20:38:20.66 H2q7LLT50.net
>>921
コマンドは
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "hqdn3d=500.00,format=yuv420p" -vframes 1 -qscale:v 1 -an -vsync 0 "D:\test2.png"
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "hqdn3d=500.00:500.00:0.00:0.00,format=yuv420p" -vframes 1 -qscale:v 1 -an -vsync 0 "D:\test2.png"

こんな感じです。
無効なのは、単に画像がスムージング前と変化無しだからです

961:名無しさん@お腹いっぱい。
20/07/31 23:02:00 oJrRErp50.net
hqdn3dは3次元デノイズなので最初の1フレームだけだとフィルタが効いてない。
よって2フレーム以降ならフィルタの効果がある。
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "hqdn3d=500.00,format=yuv420p" -vframes 2 -qscale:v 1 -an -vsync 0 "D:\test2%d.png"
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "hqdn3d=500.00:500.00:0.00:0.00,format=yuv420p" -vframes 2 -qscale:v 1 -an -vsync 0 "D:\test2%d.png"

962:名無しさん@お腹いっぱい。
20/08/01 02:23:34.70 3os4bqIM0.net
複数音声(英日)、複数字幕(英日)、チャプター情報が入ったmp4のdemuxがうまくいかずに詰んでる
ffmpeg.exe -i video.mp4 -map 0:0 -c copy video1.mp4
ffmpeg.exe -i video.mp4 -map 0:2 -c copy video2en.aac
ffmpeg.exe -i video.mp4 -map 0:3 -c copy video3jp.aac
ffmpeg.exe -i video.mp4 -map 0:5 -c copy video.csv
ffmpeg.exe -i video.mp4 -map 0:6 -c copy videoen.srt
ffmpeg.exe -i video.mp4 -map 0:7 -c copy videojp.srt

963:名無しさん@お腹いっぱい。
20/08/01 02:34:07.45 DvoqeN4P0.net
[srt @ 044e8


964:ca0] SRT supports only a single subtitles stream. Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument Stream map '0:7' matches no streams. ダメなのは字幕とチャプター http://imgur.com/SQ6Wo2X.jpg map番号は合ってると思うのだが..



965:名無しさん@お腹いっぱい。
20/08/01 03:28:19.87 nFuHjL8R0.net
画像見る限り5までしかないようだが

966:名無しさん@お腹いっぱい。
20/08/01 07:28:29.29 u8/you4D0.net
5もエラーで出力されない

967:名無しさん@お腹いっぱい。
20/08/01 08:49:04.46 H+Ki5q+80.net
あってないじゃん

968:名無しさん@お腹いっぱい。
20/08/01 13:14:24.77 0bF8Zvaj0.net
>>924
確かに、一フレームだけ出力しようとするとスムージングはかからないのですが
連番ファイルとして出力するとかかるようです。
hqdn3dは3次元フィルターですが、4つあるパラメータのうち、後ろの二つは時間方向に対するサイズで
前の二つが空間方向に対するサイズなので、前の二つだけは機能してくれても良いと思うのですが・
今やりたいことは、スムージングのパラメータを変えながら、スムージングのかかり具合を調べるために
ピンポイントであるフレームだけを画像として保存したいのですが、
どうすれば良いですか?
最初からスムージングだけ処理していって、
あるフレームだけ保存するようなことはできないでしょうか?

969:名無しさん@お腹いっぱい。
20/08/01 17:16:47.64 UaBdjEjs0.net
いっぱい出力して、いるやつだけ残して消せばどうだろうか

970:名無しさん@お腹いっぱい。
20/08/01 20:47:14.65 oHwVoXgP0.net
trimフィルタを使ってピンポイントであるフレームだけフィルタを当てる。
同じフレームをコピーしてhqdn3dを使う。2番目の出力にhqdn3dの効果がある。
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "trim=start_frame=300:end_frame=301,loop=1:32767:0,hqdn3d=500.00,format=yuv420p" -vframes 2 -qscale:v 1 -an -vsync 0 "D:\test2%d.png"
前後フレームでhqdn3dを使う。2番目の出力にhqdn3dの効果がある。
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "trim=start_frame=300:end_frame=302,hqdn3d=500.00,format=yuv420p" -vframes 2 -qscale:v 1 -an -vsync 0 "D:\test2%d.png"

971:名無しさん@お腹いっぱい。
20/08/01 22:33:22 PeoZKIHv0.net
>>925
mp4のチャプタをxmlファイルなんかにエクスポートするにはどうしたらいいんだ?
メタデータから読み出さないとダメみたいだけど、
チャプタを付加する方法は見つかるのに、抽出する方法が見つからない。

972:名無しさん@お腹いっぱい。
20/08/01 22:40:54 oHwVoXgP0.net
ffprobe -i "video.mp4" -show_chapters -of xml > ch.xml

973:名無しさん@お腹いっぱい。
20/08/01 23:31:14.63 PeoZKIHv0.net
>>934
レスありがと
でも、この形式だと、そのままでは他で流用できないねぇ
汎用性のあるチャプターファイルの形式ってなんだろう?
Neroチャプター形式(TXT)
Appleチャプター形式(TXT)
BIFS/OD形式(よくわからん)
ffmpegMetadata形式(INI)
matroskachapters形式(XML)
とりあえず、mpvのスクリプト(createchapter.lua)で簡単に作成できるmatroskachapters(xml)がmkvtoolnixに対応してるので、
これを使ってチャプタ付きmkvを作成、ffmpegでmp4に変換、という手順でやってる。

974:名無しさん@お腹いっぱい。
20/08/02 00:37:04.10 2PvHZjFV0.net
あー。xmlならmp4boxでdemuxした時に確かに生成されるな

975:名無しさん@お腹いっぱい。
20/08/10 01:37:04 OljsJD7n0.net
監視カメラのmp4データ(7000kbps、30フレーム)を、HLS形式(m3u8形式)にffmegで変換できましたが、
その際、ultrafast でも変換するのに再生時間と同じ程度の時間がかかります。

変換後のサイズは気にしないので圧縮に時間かかるのだったら圧縮したくないんですが、
時短のためのなにか良いオプションあるでしょうか。

現在は次のコマンドラインで変換しています。

ffmpeg -i 変換前.mp4 -vcodec libx264 -preset ultrafast -start_number 0 -hls_time 2 -hls_list


976:_size 0 -f hls 変換後.m3u8 使用しているCPUは2GHzくらいのもの2コアです。 変換中は100%使用率になります。



977:名無しさん@お腹いっぱい。
20/08/10 06:44:01 mT2JHhD20.net
サイズ縮小する時に、CPUが律速してGPUは遊んでるんだよな
もっとGPUに仕事を回せないものか

978:名無しさん@お腹いっぱい。
20/08/10 07:11:54 L4lGNE3u0.net
どうせ自分でCPUでエンコードする設定にしておいて
何言ってんだ?ってところだろ…

979:名無しさん@お腹いっぱい。
20/08/10 08:16:05 Dt5KRjf/0.net
監視カメラの映像で7000kbpsもいるのかどうか知らんけど単純にビットレートを落とせばいんじゃね
7000kbpsじゃ時間かかって当たり前なんだから使用上問題が出ないレベルまで落とすしか無いでしょ

980:名無しさん@お腹いっぱい。
20/08/10 09:20:35 jNB6Q27b0.net
2GHzの2コアなら時間がかかって当たり前
それとエンコード後の拡張子m3u8は違うと思う

981:名無しさん@お腹いっぱい。
20/08/10 09:59:47 OljsJD7n0.net
>>940
レスありがとうございます。
元データの品質を落とすことも考慮したいと思います。

>>941
m3u8とは別に、たくさんのファイルができました。
これらのファイルが細切れになった実際の映像データです。


元データの品質のまま、たんに細切れにするだけなら、
処理に時間がかからなさそうに思うんですが、
そのようなオプションはあるでしょうか。

現在使用しているのは、>>937のとおりです。

もしなければ、元データの品質を予め落とすようにするしかありません。

982:名無しさん@お腹いっぱい。
20/08/10 10:13:43.43 mT2JHhD20.net
配信するの?

983:名無しさん@お腹いっぱい。
20/08/10 10:14:18.74 6lndBV1F0.net
>>942
変換前も普通にH.264なら
-vcodec libx264 -preset ultrafast
の代わりに
-c:v copy
で行けると思うけど。

984:名無しさん@お腹いっぱい。
20/08/10 10:45:57 moAiggyZ0.net
サイズ気にしないなら-c copyが一番速い、はず

985:名無しさん@お腹いっぱい。
20/08/10 12:41:15 cI/ydpko0.net
2GHz2コアだったら4Ghz10コアにするだけでめっちゃ早くなって解決って気がするけど
18とか32コアからアップグレードとかだとコスパ悪くなるけど

986:名無しさん@お腹いっぱい。
20/08/10 13:01:37 mT2JHhD20.net
CPUそのままでGPUで加速するから面白いのに

987:名無しさん@お腹いっぱい。
20/08/10 22:56:09 OljsJD7n0.net
>>944 >>945
レスありがとうございました!!

いけました。高速で変換できました!
こうしたかったんです。


>>946 >>947
2コアは心もとないので、Raspberry pi 4 8GB(4コア) を使うことにしました。
上の変換は、copyだけど、スーッといけました。
外部HDDディスクをusb3.0で接続、マウントしています。

>>943
nginxとイントラネットで、自分用に監視カメラの映像をHLS配信します。


皆様、どうもありがとうございました。
がんばります。

988:名無しさん@お腹いっぱい。
20/08/13 21:47:25 CFOAI0KV0.net
テストで組んだリストリーミング環境で、ffmpegがどうしても数10分後に停止してしまいます。(1)
あと、視聴ソフトウェアで確認できる映像ではリアルタイムとの遅延が10秒程度ありいつまでもその差が埋まりません。(2)

[camera]→rtsp→[PC1 / ffmpeg]→rtmp→[PC2 / nginx]→視聴ソフトウェア

PC1のffmpegは次のようにしています。
上流のcameraからrtspでストリームを掴んで、変換後に、下流のnginxにrtmpで流しています。
ffmpeg -i rtsp://user:pass@192.168.1.2:554/h264/stream -c h264 -an -r 15 -s 720x406 -b:v 512k -f flv rtmp://192.168.12.15/live/cam1

PC2のnginxのrtmp設定は次のようにしています。

rtmp {
server {
listen 1935;
access_log /var/log/nginx/rtmp_access.log


989:; application live { live on; }



990:名無しさん@お腹いっぱい。
20/08/13 21:47:44 CFOAI0KV0.net
最下流の視聴ソフトウェアVLCでrtmpでnginxに接続して、cameraの映像と音声を数10分間は受信できました。
ところが、しばらくすると、映像が止まってしまいます。音声のみ聞こえます。再接続しようとしても駄目です。

このとき、ffmpegの最初にある項目のframeカウントが停止してしまっています。
frame=10396 fps= 14 q=31.0 size= 43611kB time=00:11:31.26 bitrate= 516.8kbits/s dup=0 drop=10392 speed=
それ以外の、最後の項目のspeedの数値は動いているのでffmpegがフリーズしているわけではないと思います。


ffmpegを再起動してから、視聴ソフトでnginxに再接続すると再生できますが、また同じように映像は停止します。

(1)(2)について何か設定を工夫する必要があると思うのですが、
どのように設定すればよいのでしょうか。

991:名無しさん@お腹いっぱい。
20/08/13 21:52:39 CFOAI0KV0.net
>>949
すみません、ffmpegのコマンドはこっちでした。

ffmpeg -i rtsp://user:pass@192.168.1.2:554/h264/stream -vcodec copy -c:a aac -f flv rtmp://192.168.12.15/live/cam1

992:名無しさん@お腹いっぱい。
20/08/13 21:53:53 CFOAI0KV0.net
>>951
訂正
映像だけでなく音声も停止しました。

993:名無しさん@お腹いっぱい。
20/08/14 11:14:42 VrGtMuee0.net
>>949
自己解決しました。

(1)
-rtsp_transport tcp -stimeout 10000000 をつけるとffmpegが止まらなくなりました。
安定して動作しています。
tcpが有効に作用したと思います。

(2)
ライブ映像の遅れは、早送りすると追いつくことができました。

994:名無しさん@お腹いっぱい。
20/08/14 11:24:31 jiTbT3oz0.net
解決して良かったね
特殊な理由なければFlashのRTMPじゃなくてHLSストリーミングお勧めしたい

995:名無しさん@お腹いっぱい。
20/08/14 12:26:19 CTsuUgIZ0.net
すぐ上の人とは別人なのか

996:名無しさん@お腹いっぱい。
20/08/14 22:48:56.90 VrGtMuee0.net
>>955
>>937はわたしです。その節はお世話になりありがとうございます。
>>954
レスありがとうございます。
rtmpではなく、今HLSライブストリーミングテストしています、
video.jsの最新のものでは、HLSライブのものでも巻き戻しもできるので便利です。

997:名無しさん@お腹いっぱい。
20/08/14 22:54:45.10 VrGtMuee0.net
>>956
このvideojsのライブ巻き戻し再生に関して、
何か設定が悪いのか、巻き戻し、早送りの反応がとても悪い。
30秒以上待たされることもあります。
なにが悪いんだろう。tsファイルを検索するnginx側だろうか?
カウント0から再生とライブ再生に戻すのは早いんですけどね。
もうしばらくググりながら悩む必要がありそう。

998:名無しさん@お腹いっぱい。
20/08/14 23:20:05 3DNoaat90.net
>>956
もうHLSの試行したの!?驚き
動きも適応も早くて尊敬します

ライブラリvideo.jsには詳しくなくて力になれない……惜しい

999:名無しさん@お腹いっぱい。
20/08/15 13:43:44 lFRQ78oW0.net
地デジtsから副音声を抽出したい
しかし

Program 1040
Stream #0:2[0x112]: Audio: aac

Program 1041
Stream #0:2[0x112]: Audio: aac

と、まるで同じ
どうやって副音声側1041の0:2を指定する記述をすればよろしいのでしょうか。。。

-map 0:2
では当然のごとく1040側の主音声が抽出できるだけ。。。

1000:名無しさん@お腹いっぱい。
20/08/15 13:53:33 dyy4f/UD0.net
クレヨンしんちゃん予約しといた

1001:名無しさん@お腹いっぱい。
20/08/15 14:10:03 sRgeJH1o0.net
検索すると-dual_mono_modeで指定するみたいな記事があるけどドキュメントにそんなオプションないよね…

1002:名無しさん@お腹いっぱい。
20/08/15 15:08:57 lFRQ78oW0.net
>>961
どうもです
mapをそれに置き換えて記述しても主音声が抽出されるだけでした

1003:名無しさん@お腹いっぱい。
20/08/15 15:34:58 sRgeJH1o0.net
本当にここで聞きた�


1004:「ならffprobeの結果とか実際に使ったコマンドとか書いたほうがいいよ



1005:名無しさん@お腹いっぱい。
20/08/16 19:54:33 nNgrTpHl0.net
FFmpegを使って、輝度値の倍率って設定できますか?
例えば、赤色の輝度値が1.2倍、青色が0.8倍、緑も0.8倍みたいな設定をしたいのですが、
brightnessで輝度値は設定できるのですが、
これは倍率ではなく、オフセットのため、使うことができません。

C#とかだと、輝度値の倍率とオフセットを別で設定できるのですが
FFmpegでもできないでしょうか?

1006:名無しさん@お腹いっぱい。
20/08/16 20:41:57 SDeDnwOS0.net
Program 3104
Metadata:
service_name : ?|?A?
service_provider:
Stream #0:1[0x111]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR4:3 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Side data:
cpb: bitrate max/min/avg: 20000000/0/0 buffer size: 9781248 vbv_delay: N/A
Stream #0:2[0x112]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 186 kb/s
Stream #0:3[0x113]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 190 kb/s
Stream #0:4[0x116]: Subtitle: arib_caption (Profile A) ([6][0][0][0] / 0x0006)
Stream #0:5[0x117]: Data: bin_data ([6][0][0][0] / 0x0006)
Program 3105
Metadata:
service_name : ?|?A?
service_provider:
Program 3106
Metadata:
service_name : ?|?A?
service_provider:
Program 3488
Metadata:
service_name : ?|?A?
service_provider:
Program 3108
Metadata:
service_name : ?|?A?NW;~
service_provider:
No Program
Stream #0:0[0x12]: Data: epg
Unsupported codec with id 98306 for input stream 0
Unsupported codec with id 96272 for input stream 4
Unsupported codec with id 100359 for input stream 5

1007:名無しさん@お腹いっぱい。
20/08/16 20:48:14 Uqhv11Pq0.net
>>964
lut~ってフィルタなんかでいけるはず

1008:名無しさん@お腹いっぱい。
20/08/16 21:03:35 Tx8kWVMc0.net
3、4年前にコンパイルしたffmpeg(3.4)使ってたけど、そろそろAV1に対応させようかと思って
久しぶりにコンパイルに挑戦したらつまずいた。ちなMac(10.14)。
3.4の./configureオプションはこんな感じ↓

./configure --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libx264 --enable-libx265 --enable-libvpx --enable-libfdk-aac --enable-libvorbis --enable-libopus --enable-libmp3lame --disable-ffplay --disable-ffprobe --disable-ffserver --enable-small

『pkg-config』オプション
./configure --prefix=/usr --with-pc-path=/usr/local/lib/pkgconfig --with-internal-glib

『libx264』オプション
./configure --prefix=/usr/local --enable-static

『libx265』オプション
cd x265path/build/linux
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DENABLE_SHARED=NO ../../source/

『libvpx』オプション
./configure --prefix=/usr/local --disable-shared --enable-static --disable-unit-tests

『libvorbis』オプション
./configure --prefix=/usr/local --with-ogg-libraries=/usr/local/lib --with-ogg-includes=/usr/local/include --disable-shared

『上記以外のコーデックとyasm-1.3.0、nasm-2.15.03』オプション
./configure --prefix=/usr/local --disable-shared

1009:名無しさん@お腹いっぱい。
20/08/16 21:09:59 Tx8kWVMc0.net
>>967
まずlibaomとlibrav1eがコンパイルできん。仕方がわからん。
oggをコンパイルして次にvorbisコンパイルしたらエラーが出よる。
libaomとlibrav1eは諦めて本体コンパイルしたらコーデック無いって出よる。
それから--disable-ffserverってオプション無いって。これは外せばいいんだろうけど。

1010:名無しさん@お腹いっぱい。
20/08/16 21:13:28 Tx8kWVMc0.net
>>968
libx265は

cd x265path/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local/share/cmake-3.18 -DENABLE_SHARED=off -DENABLE_NASM=on ../aom

ってすればできた。あとはわからん。エロい人教えて。

1011:名無しさん@お腹いっぱい。
20/08/16 21:22:28 Tx8kWVMc0.net
>>969
下の間違い。

cd x265path/build/linux
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/share/cmake-3.18 -DENABLE_SHARED=NO ../../source/

cmake-3.18もコンパイルしてインストール�


1012:オた。



1013:名無しさん@お腹いっぱい。
20/08/16 22:17:12.12 VkSMfHJN0.net
URLリンク(trac.ffmpeg.org)
詳しくは知らない
URLリンク(ffmpeg.zeranoe.com)
でmacOSのバイナリ配布している

1014:名無しさん@お腹いっぱい。
20/08/16 22:18:49.54 sG1wc5El0.net
なんでコンパイル方法をテンプレにまとめてないわけ?
試行錯誤しなくても説明どおりにすればサルでもできるような。
まず本家からソースコードしか配布されてないってとこがffmpegの敷居を高くしてるんだよ。
5ch・2chにまとめられてればありがたい。ググって出てくるのはわかりにくいんだよ。
初心者はパスの入力なんかでもつまずく。AVファンがパソコンに詳しいとは限らないから。
WinとMac、それぞれのビルド方法をだれかテンプレ化してくれ。サルでもできるようなやつな。

1015:名無しさん@お腹いっぱい。
20/08/16 22:27:02 ZVmM0seZ0.net
ffmpegのフルコンパイルは熟練者でも厳しいからなあ

1016:名無しさん@お腹いっぱい。
20/08/16 22:30:21 sG1wc5El0.net
>>971
その公式のコンパイルガイド見ただけでできるような初心者は
一人もいない。何日も試行錯誤しないといけない。
よそがビルドしたバイナリ版はいらんのがいっぱい入ってるし
必要なlibfdk-aacが入ってない。第一怪しい←ここ重要
よそが配布したhand brakeにマルウェア仕込まれてたことあっただろ。
やはり自分でソースコードからコンパイルしたい。

1017:名無しさん@お腹いっぱい。
20/08/16 22:33:38 nNgrTpHl0.net
>>966
LUTフィルターを調べてみましたが
1Dとか3Dとかあっていまいちよく分かりませんでした
コードを見せていただけないでしょうか?

1018:名無しさん@お腹いっぱい。
20/08/16 22:34:34 SDeDnwOS0.net
みんなもビルドして使ってね
という趣旨じゃないからな
ソースコード開示義務があるから自力でビルドすることも可能というだけで
レシピすら無い夕食材料セットみたいなもん

1019:名無しさん@お腹いっぱい。
20/08/16 22:44:17 xu73v8LW0.net
ネタにマジレスするけどコンパイルするならDockerとか使ったほうが楽だぞ
Linux以外のバイナリについては知らん

1020:名無しさん@お腹いっぱい。
20/08/17 00:19:16 XeOA6k6+0.net
ネタではない。見ればだいたいわかるだろ。
MacにはHomebrewあるけど使いたくない。
コンパイルすりゃしまいじゃん。

>ソースコード開示義務があるから
>>976
そんな義務あるんか。知らんかったわ。
ソースコード開示されてなかったらvlcとかChromeとかに組み込めないけど
そんな義務あったんか。

>>973
だからやり方さえ詳しく書いてあればあとはコピペするだけだからサルでもできるやん。

1021:名無しさん@お腹いっぱい。
20/08/17 00:32:11 FEiKD+L30.net
ffmpegのバージョン、ライブラリのバージョンでやり方が変わるからだめなんだよ
すぐ使えなくなる

1022:名無しさん@お腹いっぱい。
20/08/17 00:41:16 XeOA6k6+0.net
>>979
そうみたいね。わいも前は試行錯誤の末にできた方法でやったら
今回はダメだった。
だから5ch・2chのこのスレだったらタイムリーに更新できるじゃん。
このスレに来れば常に確実な方法がわかる、って感じにしようず。

1023:名無しさん@お腹いっぱい。
20/08/17 06:29:43 4Dns2W820.net
>>980
お前がすればええやん

1024:名無しさん@お腹いっぱい。
20/08/17 18:19:46 7juacBpw0.net
ffmpegならこちらへ 5
スレリンク(software板)

1025:名無しさん@お腹いっぱい。
20/08/17 20:56:00 ccgVI60I0.net
URLリンク(github.com)
ビルドスクリプト使っては

1026:名無しさん@お腹いっぱい。
20/08/17 21:11:14.94 tUgUnE3P0.net
Winだけど、ffmpegのビルド方法まとめてほしいよね
ビルドスクリプト使ったらエラーでビルドできなかった(>>983とは別物)

1027:名無しさん@お腹いっぱい。
20/08/17 21:22:41.28 iNbka2BJ0.net
>>983
スクリプト


1028:は便利なんだけどね fdk-aacやopusといったライブラリを追加で入れようとすると途端に融通が利かなくなって・・・



1029:名無しさん@お腹いっぱい。
20/08/17 22:07:26 0vhyggWz0.net
というかビルド作業って中途半端に抽象化・カプセル化されてて、皆何となく使えちゃってる気がする
その弊害として実際に踏まれてる手順が分からないし、他の環境・対象向けに応用するやり方も分からなくなってる

1030:名無しさん@お腹いっぱい。
20/08/17 22:07:52 0vhyggWz0.net
パッケージ管理ツールに頼らず自前でビルドするこの際、gitとかGNU makeみたいな役割が単純明快な基本的ツールでのビルドの汎用手法纏めなきゃなのか……

1031:名無しさん@お腹いっぱい。
20/08/17 22:08:58 NxZrMJBD0.net
ビルドしたことないけど、makeじゃないの?

1032:名無しさん@お腹いっぱい。
20/08/17 23:23:37 0vhyggWz0.net
>>988
多分何も言わなかったらmakeと言えばGNU makeだと思う
あんま詳しくないから拾ってきたもの

・GNU make (UNIX系、Windows)
・BSD make (UNIX系)
・Schily make
・nmake / Microsoft Program Maintenance Utility (Windows)
・Borland make (Windows)
・Solaris make (Solaris)

1033:名無しさん@お腹いっぱい。
20/08/17 23:30:25 mCXiLXWV0.net
./configure
make
make install

1034:名無しさん@お腹いっぱい。
20/08/17 23:53:16.00 OTuExVUg0.net
ArchlinuxのAURにあるffmpeg-fullのPKGBUILDとか見たらいいよ
AV1はパッチ当ててる

1035:980
20/08/17 23:55:07.81 3LjqniNC0.net
>>981
一応ffmpeg-4.3.1でコンパイルできた。libaomとlibrav1eは諦めた。
libaomは実時間の100倍かかるなんて記述もあるし、まだいいかなと。
ちなみにワイの環境ではvp9は実時間の15倍くらい。最初は実時間の8倍くらいの
速度でエンコードするんだけど、ものの数分でサーマルスロットリンクが発生して
速度が落ちる。iMacの性能は本当に低い。今3年前のiMac使ってるけど、9年前の
iMacと比べて速度はほぼいっしょ。変わったのは古いのは本体の一部が火傷する
くらいに熱くなってたけど今のはほんのり温かくなる程度なとこぐらい。
古いのでエンコしまくってたらすぐつぶれた。新しいのはそういうのはないだろう。
たぶんcpuが速度落とすより前にMacがリミッターかけてるんだと思う。
つぶれないように。でも最近はワイほとんどエンコしてない。それはさておき。
libaomとlibrav1e以外は、前と同じだけ全部入れてコンパイルできた。
これで前と同じ環境、プラスAV1でエンコはできないけれどAV1の「認識」はできる
ffmpegバイナリを手に入れることができた。おおむね満足してる。
Mac使ってる人でサルでもわかるように今回のビルド方法まとめてほしい人いる?
ただしx265とliboggとlibvorbisは最新のではなく以前ビルドしたときと同じ
古いバージョンを使ってる。それだとうまくいった。
またx264も古いバージョンのを使ってる。以前ビルドした時、当時の最新
バージョンは設定どおりのビットレートでエンコできないバグがあったから
バグのない古いバージョンでビルドしたんだけど、今回もそれを使ってビルドした。
最新のはそのバグは解消されてると思うけど、検証すんのめんどくさい、
てかできない。まあこれで問題なく使えるんならいいでしょってことで。
以上を了解できるならまとめてもいいよ。

1036:名無しさん@お腹いっぱい。
20/08/18 06:23:46 mHCFhUSS0.net
方法そのまま教えるのは魚をあげるのと同じだからなあ
そもそもmakeとは、から始まって、
素直にビルドできない原因と解決方法を個別に説明してくれる方が有�


1037:闢�い



1038:名無しさん@お腹いっぱい。
20/08/18 07:57:59 AM/qOxOj0.net
>>978
やり方書いてあっても難しい
ライブラリ群の依存関係とか、ライブラリのバージョンが変わったらビルドエラー出たりとかで
それを一つ一つ潰していってやっとビルドできる。 それで安心してたら次のリビジョンアップで
またビルドできなくなったりと苦難の連続だよ

1039:名無しさん@お腹いっぱい。
20/08/18 08:10:28.22 mHCFhUSS0.net
全部最新だと通らなくて、わざと古いままにする必要があるとかそういう系?

1040:名無しさん@お腹いっぱい。
20/08/18 08:29:58 yR2+k7Pc0.net
前にビルドしたけどx265とx264がマルチコアに対応させれられなくて諦めたんだけど
そのへんうまくいってる?

1041:名無しさん@お腹いっぱい。
20/08/18 11:34:26 Z3eCd2WC0.net
./configure
make all
make install
make clean

1042:名無しさん@お腹いっぱい。
20/08/18 12:25:26.70 V/x7qTSR0.net
全部最新で通らなかったなんてこと起きたことないなあ

1043:名無しさん@お腹いっぱい。
20/08/18 13:06:54.95 9hQsNyMT0.net
505

1044:名無しさん@お腹いっぱい。
20/08/18 13:09:15.39 b+U/zleH0.net
O2

1045:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 485日 11時間 57分 46秒

1046:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch