ffmpegならこちらへ 7at SOFTWARE
ffmpegならこちらへ 7 - 暇つぶし2ch19:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
もしてかしてRGBとYUVの色範囲の違いじゃね
aviutlとかはYUVソースをPC表示するためにRGB(0-255)に変換していて
ffmpegの場合はそういう処理をせずにYUV(16-235)の色階調そのまま
とか?

20:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
俺も以前に連番PNG化したときにそんな感じのことあったな
レンジ合わせれば普通に見える

21:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
色空間とかごちゃごちゃしててホンマ嫌い

22:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
>>19>>20
-vf scaleのin_rangeでlimitedとfullを変えてpng出力すると
”若干”でなくだいぶ変わるのでそういうことでもなさそうです
(out_rangeは指定しても変化なし)

23:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
auto_scalerがbt709 Color MatrixでYUV→RGB
そしてlimitedレンジからfullにしたのが
「ffmpegで抜き出した場合」の画像
システムガンマがBT.1886になるようにYUVのYにフィルターがかかってるのが
「madVR等で抜き出した場合」の画像

24:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
>>23
ありがとうございます。納得しました
頂いた情報を元に軽く調べてみましたが
ffmpeg側で合わせる方法は見当たらないようですね

25:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
出来ると思うんだけど、画像へのリンクが切れてるんだよね。
>>23が正しいかどうかもわからない。
とりあえず、colorspaceフィルタでは無理だと思う。

26:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
動画は残ってるから再現できたぜ

27:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
sRGBディスプレイで閲覧するとしてzscaleでtransferinをbt709、transferをiec61966-2-1にして輝度をフィルタリングすればいい
colorspaceはたしかリニア輝度にするときシーンライトにしてしまうはず。

28:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
シーンライトはscene referredだ

29:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
transferの検索結果にカメラとかテレビとかの専門サイトがたくさんでてくるなあ
職業カメラマンはこんな複雑なことわかってないといけねえのか…大変だ

30:名無しさん@お腹いっぱい。
22/09/13 19:20:16.89 AtCX4aUG0.net
framerate30の動画を1変更したいんだけど他はそのままの条件で行きたいけど-r 1にしてもできる動画サイズが元のより大きくなってしまう。
どうしたら劣化させずにframerateだけ小さくして、ファイルサイズも小さくできますか?

31:名無しさん@お腹いっぱい。
22/09/13 20:46:53.33 KKrJu2dD0.net
新しめコーデック HEVC, AV1を使う
-crf を少しずつ上げる、-b:v を直接指定する

32:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
デコードせずにはフレームレートを変換できないような動画であると仮定すると、解決策はビットレートを直接指定すること。
強制的にビットレートを下げるには-b:vを使ってね。

33:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
>>31,32
ありがとうございます。勉強してきます。

34:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
m4aのタグ編集したいんだけどpipe:0としてstdinで渡すとmp4系列は機能しないんだね・・・

35:名無しさん@お腹いっぱい。
22/10/06 14:39:53.64 yozy4LzK0.net
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:名無しさん@お腹いっぱい。
22/10/06 15:33:57.58 e2X/rTrv0.net
続けて質問申し訳ありません。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:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
自己解決

-shortest

38:名無しさん@お腹いっぱい。
22/10/07 10:31:39.04 HYHyp6R60.net
scale_cudaのinterp_algo=lanczosってなんかバグってる
bicubicの方がいい

39:名無しさん@お腹いっぱい。
[ここ壊れてます] .net
MacOS使ってるんだけどlibfdk-aacってビルドした後にバイナリの実行ファイルは生成されない?
ビルドが成功したのかもわからんから不安

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

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

生成されるのは確認できた

40:名無しさん@お腹いっぱい。
22/11/04 22:06:13.38 U/7bjjk/0.net
yt-dlpが早いのはffmpegの-c copyと同じコピー使ってるからかな?
でも、ようつべは開発者ツールのネットワークで検索して出てきた元webm&webaをffmpeg -i url output.mp4したら弾かれたから何かそういう技術あんのかな?

41:名無しさん@お腹いっぱい。
22/11/04 22:07:22.81 U/7bjjk/0.net
あ、ちなみにちゃんとrange=0-数にしてffmpeg入力しても弾かれたから

42:名無しさん@お腹いっぱい。
22/11/07 18:45:11.78 v7t8S9HG0.net
bgra (実際は透明部分無し)のrawvideo(24GB)をyuv420p10leのAV1に変換したく、ただHEVCやVP9など他のものも試したいと考えてます
ファイルサイズがかなり大きいのでRGB to YUVだけ終わらせた中間ファイルを残しておきたいのですが、映像コーデックをffv1で残しておけば色空間の変換以外で劣化は起きない認識で良いのでしょうか?

43:名無しさん@お腹いっぱい。
22/11/09 23:57:36.66 Mpacpztv0.net
あってるよ
yuv420p10leでrawvideoとffv1間の変換は可逆

44:名無しさん@お腹いっぱい。
22/11/10 07:45:45.95 tDwXq83r0.net
ありがとうございます!

45:名無しさん@お腹いっぱい。
22/11/10 09:25:39.89 +pIcgAqo0.net
フォーマットのこと全然判らんな
あれはどういう必要があって複雑なことになってるんだ

46:名無しさん@お腹いっぱい。
22/11/10 17:15:19.37 qd/x3luN0.net
省資源、コンポジット、アライメントの都合だね
フォーマットってのはつまりVRAMに値をどう配置するかって話だけど
得意不得意あるからフォーマットがたくさんある
MSXの画面モードはRGBやYUV(のようなもの),パックドやプレーナー、コンポジット(のようなもの)全部入りで面白いよ

47:名無しさん@お腹いっぱい。
22/11/12 06:16:55.21 bxoLcHPa0.net
規制が強くなったのか、専ブラでないと書き込めない

48:名無しさん@お腹いっぱい。
22/11/14 09:34:18.60 I/iilzDo0.net
エンコーダの性能をしらべるために動画の中で動きの激しい箇所のみをエンコードしたいのですが、
動画の中で動きが激しい場所を調べられるオプションはありますか?

49:名無しさん@お腹いっぱい。
22/11/14 20:29:29.55 pQS1kwvb0.net
vmafmotionフィルタか, sitiフィルタのsi

50:名無しさん@お腹いっぱい。
22/11/14 20:30:21.07 pQS1kwvb0.net
siじゃなくてtiのほうだった

51:名無しさん@お腹いっぱい。
22/11/14 21:19:20.02 6Q32qEHB0.net
エントロピーフィルタを使うシーンかとおもいや、あれはフレーム間調べないんだ

52:名無しさん@お腹いっぱい。
22/11/14 22:06:10.05 I/iilzDo0.net
>>49,>>51
ありがとうございます!
調べて、考えてみます。

53:名無しさん@お腹いっぱい。
22/11/17 02:50:10.22 q1Kg69KW0.net
単純にh.264をhevcへ変換するだけの簡単な仕事、AMD 3020eで試したら散々な目に遭った
GPUでエンコードするとブロックノイズまみれ、CPUでエンコードするとCore i5-4670の1/10程度の速度
Windowsのstatic版の最新安定版で試してみたのだが、gentooインストールバトルして最適化したらCPUエンコード速度が改善する余地あるのだろうか、それとも所詮はZenアーキテクチャの限界でハードウェア的に無理??

54:名無しさん@お腹いっぱい。
22/11/17 02:59:35.69 q1Kg69KW0.net
ブロックノイズはボックスブラー試してみまふ

55:名無しさん@お腹いっぱい。
22/11/17 08:06:58.06 V7wTzgUr0.net
その為に買ったGPUだし、GPU以外は選択肢に無いな

56:53
22/11/17 12:15:33.62 q1Kg69KW0.net
hpの14sシリーズ最安値機を2万円台で買ったのを試しただけなので、、、

Core i5-4670機が稼働する限りはCPUエンコード、壊れたら中古で第6世代あたりの廉価デスクトップi5とか第8Core i3とか…

passmarkやcpu-monkey的にはfinal PentiumのG7400でもマルチスレッド性能は4670より上ですね

57:名無しさん@お腹いっぱい。
22/11/17 15:14:01.15 ut8ZrMWT0.net
誰も聞いてないのに貧乏語りするの気持ち悪いな

ガラクタいくつも並べて無駄な時間かける暇あるなら、働いてまともなPC組めば?
12400とかで安くマシなの組めるだろ

58:名無しさん@お腹いっぱい。
22/11/17 18:08:47.53 uM8UlpNl0.net
いきなり情報量ゼロの罵倒を始める方が闇が深いな
カルシウム足りてるか?
12世代の反りを嫌う人が居るのは理解して居るか?
同じZenならRyzen 7 1000シリーズ中古があるじゃないか

59:名無しさん@お腹いっぱい。
22/11/17 18:19:51.42 d/HUjigR0.net
格安ボロ買って散々な目にあっただのとw自己否定したいだけ?

60:名無しさん@お腹いっぱい。
22/11/17 19:07:20.04 FdCZVBHw0.net
2万円台ノートとほぼ同価格の12400挙げるのはアホ

61:名無しさん@お腹いっぱい。
22/11/17 20:07:44.07 npXDYmd70.net
エンコで時間使う人間が12400程度の金も出さないとか、人生いろいろケチりで損してそうだな
中古買う奴が反り気にするとかどんなブーメランだよ

62:名無しさん@お腹いっぱい。
22/11/17 20:17:11.89 xRoM3nbV0.net
古いPCで何かすることは否定しないけど
大して参考になる情報でもない、脈絡もなくいきなり自分語りしだす方がおっさん臭くてキツいね

63:名無しさん@お腹いっぱい。
22/11/17 20:56:34.37 Ghwc++Ue0.net
誰もffmpegの話をしていない

64:名無しさん@お腹いっぱい。
22/11/18 05:09:18.42 wimZPxMW0.net
どう見ても3020eでのエンコはネタつくりだべ
Celeron N4000とかでやるのと大差ない

65:名無しさん@お腹いっぱい。
22/11/18 09:08:39.50 eGW4OO8R0.net
真面目に考えて損した

66:名無しさん@お腹いっぱい。
22/11/18 14:18:46.16 +OcAjUTr0.net
Linux関連の板でもないのに「Gentooインストールバトル」とかキモすぎる
そもそもここffmpeg自体のフィルターやオプション、最近のコーデックが話題であってHEVCとかいまさらなんだわ
ましてやHEVCに世代合わせるかのようにボロPCしか例に出さんし
悪いこといわんからまともなエンコしたきゃ、ここ2年くらいのCPUか1650S以上のグラボ使っとけ
5600Xや11400, 12400あたりの安CPUでもHEVCなら足りる

67:名無しさん@お腹いっぱい。
22/11/18 14:59:27.40 f8D9mpxf0.net
CPUはここ10年のなら何でもいい
肝心なのはGPU

68:名無しさん@お腹いっぱい。
22/11/18 15:29:45.24 Govgu8G50.net
RocketかAlderのiGPUありなら新しいQSVあるしCPUエンコ狙えなくもないし一石二鳥だな

69:名無しさん@お腹いっぱい。
22/11/18 20:41:38.12 wimZPxMW0.net
遅すぎる原因、分かりました
これまでの環境でgit for Windowsのシェルで実行していたのを、同じ感覚でWSLで実行したためでした
興味深い情報の提供、感謝いたします

70:名無しさん@お腹いっぱい。
22/11/18 22:49:58.50 a2MJgMIX0.net
>>52 sitiフィルタの使い方を調べて動画のスコアを調べようとしたのですが、「そんなフィルターはない!」と怒られてしまいます。
何か追加でインストールが必要なのでしょうか?
それとも、入力したのがyuvファイルだったのがダメだったのでしょうか?
何か、分かる方がいらっしゃいましたら、おしえて頂けると幸いです

71:名無しさん@お腹いっぱい。
22/11/19 07:00:56.99 wohxqVmy0.net
バージョンが古いのでは?5.1以降が必要
URLリンク(github.com)

72:名無しさん@お腹いっぱい。
22/11/27 15:11:29.53 hpt+1WbU0.net
mp4動画にチャプター情報つけてるんだけど
そのちゃごとにタイムコードを付加するというのは無理なのかな?

73:名無しさん@お腹いっぱい。
22/11/28 01:02:52.94 VB5HSDAy0.net
>>72
このスレの大半は無視と罵倒とマウンティングで出来ています
x264 / hevc /VP8の話題は原則禁止です
mp4とだけ書くのも禁止です
ffmpeg -i foo.mp4などと実行してVideo部分のcodecを確認してから質問してください

74:名無しさん@お腹いっぱい。
22/12/03 08:16:01.13 pWoUq+ys0.net
>>72
Yes, it is possible to add a timecode to each chapter in an mp4 container.

To do this, you can use the -timecode option in FFmpeg. This option allows you to specify a timecode for each chapter in the mp4 container.

Here is an example command that you can use to add timecodes to each chapter in an mp4 container:

ffmpeg -i input.mp4 -map 0 -c copy -metadata:s:t:0 timecode="00:00:00:00" -timecode_frame_start 0 output.mp4
In this command, the -timecode option is used to specify a timecode for each chapter in the mp4 container. The timecode is specified in the format HH:MM:SS:FF, where HH represents the hours, MM represents the minutes, SS represents the seconds, and FF represents the frames.

In this example, the timecode for each chapter is set to 00:00:00:00, which represents the start of the video. You can adjust this timecode as needed to specify different timecodes for each chapter.

After running this command, the output mp4 container will include timecodes for each chapter, which you can use to navigate the video at specific points in time.

75:名無しさん@お腹いっぱい。
22/12/03 12:22:30.07 jcglrjSt0.net
ところで、mp4(m4a含む)でチャプターを付ける時
一番お気楽な方法ってなんなんだろう
定番では Drax、
個人的にわかりやすいのは mkvtoolnixでMKV出力→ffmpegでコンテナ変換だと思うけど、
前者はD'nDができないし、後者はVBRフラグが引き継がれない(ffmpegのいわば仕様)

76:名無しさん@お腹いっぱい。
22/12/03 15:24:42.85 tD70AyOp0.net
気楽の定義がわからんけど、CUIのツールを組み合わせて
テキストベースでpythonとか使いながらやるのが一番楽な筈

77:名無しさん@お腹いっぱい。
22/12/03 15:51:26.07 ZLRdDl1d0.net
最近のffmpeg(snapshot2022-12-02)って、昔と比べてエンコード速度が速くなっている代わり
にVAAPI(Linuxです)使用時でもCPUを積極的に使用するように仕様が変わったんですか?

昔と言っても(2022-02-02)のsnapshotなんですが、Core i7 7700Kのマシンで、h264_vaapiで地上波m2ts
の変換で、6倍速ぐらいの速度でCPU周波数はIntel P-stateのpowersaveで1.1GHzぐらいで、task managerの使用率も1%ぐらいだったんですが、
2022-12-02版だと13倍速でる代わりに同じくpowersaveで3.2GHzぐらい食って、task managerの使用率も8%ぐらいでした。
何か変更でもアナウンスされてましたっけ?

78:75
22/12/03 16:48:01.56 jcglrjSt0.net
>>76
要するに、他のメタデータを考えることなく、
チャプタの時間を指定するだけ(チャプタ名は数字順)で済むような方法という想定だったんだけど、
ググってみたら、pythonのヘルパースクリプトがあるみたいだね
pythonは使えるので、参考にして自分で書いちゃったほうが楽なのかな

mpvプレーヤーには、該当箇所でキーを押してmkvチャプタ(mkvmergeで使われるxml形式)を出力するというプラグインがあるんだけど、
同様にffmpeg用(FFMETADATA)ファイルを出力するようなものがあるといいと思った
やはり、映像や音声を確認しながらその場でチャプタを指定できると便利だ

79:名無しさん@お腹いっぱい。
22/12/03 17:14:50.24 tD70AyOp0.net
普段は再生にmpc-hcを使ってて、
ctrl-Gが指定時間にジャンプする機能だけど、
その時に現在の時間が表示されてるので、編集するつもりでctrl-A ctrl-Cでコピーしてくると
04:03.891
こんなフォーマットでクリップボードに入る
大抵はこれで足りる

80:名無しさん@お腹いっぱい。
22/12/03 18:02:27.62 jcglrjSt0.net
>>79
そのあたりは、mpvのプラグインスクリプトのほうが楽かな
copyTime.luaっていうのがあって、これだと "Ctrl + C" だけで同じhh:mm:ss.fff形式のものが拾える
音声で厳密に出したいときはAudacityで波形を見ながらやることもある

81:名無しさん@お腹いっぱい。
22/12/03 19:25:59.40 qgv9YMGz0.net
>>74
ありがとう

82:名無しさん@お腹いっぱい。
22/12/04 19:12:20.70 fIgRbBjn0.net
>>81
ごめん、いろいろ悪ふざけが過ぎた
ただ、一応俺の目であってるか確認したけど、このレス自体はChatGPTに答えさせたやつなんだ

83:53
22/12/05 12:19:39.60 E/pfDvK+0.net
>>53
ブロックノイズまみれになる原因が分かりました。

CPUエンコードと異なり -maxrateが効かないのを知らずに -b:v 指定だけが有効になってしまい、品質が派手に落ちたのが原因でした。

-qmaxで適切な値、例えば『少しくらいの劣化許容』なら -qmax 25 などと指定すれば、おおむね期待通りの結果が得られました。

質問と罵倒だけで無価値なログが残るのを避けるため報告します。
参考:
URLリンク(nico-lab.net)

84:名無しさん@お腹いっぱい。
22/12/05 12:51:05.65 uQn9iJkq0.net
vspipe -c y4m "test7.vpy" - |\
ffmpeg -y -i - -pix_fmt nv12 -c:v h264_amf -quality quality -rc vbr_peak -qmin 20 -qmax 26 -g 120 -maxrate 8M -b:v 2.5M "x264.mkv"

これで使ってる、まあエンコードはしないけどね

-c:v hevc_amf -quality quality -min_qp_i 20 -max_qp_i 28 -min_qp_p 20 -max_qp_p 28 -header_insertion_mode idr -g 120 -rc vbr_peak -bf 1 -vbaq false -maxrate 8M -b:v 1.5M

85:名無しさん@お腹いっぱい。
23/01/03 04:54:43.41 zIiXdB410.net
FFmpegで指定できる伝達特性をまとめていて気がついたのですが。
zscaleフィルターsmpte240mのガンマと逆ガンマ補正の計算式が逆に実装されているのではないでしょうか?
実際にFFmpegを使用して映像にフィルタを適用し、試したわけではありません。

86:名無しさん@お腹いっぱい。
23/01/03 05:18:30.99 zIiXdB410.net
ソースコードで言えば、この部分がおそらく間違っているのだろうと思いました。プログラムが読めないので確信はないのですが。
URLリンク(github.com)

87:名無しさん@お腹いっぱい。
23/01/03 08:44:49.99 Ttl3j4JF0.net
SMPTE_240M_ALPHA = 1.1115
SMPTE_240M_BETA = 0.0228

光(L)、信号(V)とすると、
smpte_240m_oetf(float V)はこんな処理
1. Vが0以下ならV = 0とみなしてL = 0 (終わり)
2. Vが0.0912 (※4xBETA) より小さいなら
L = V ÷ 4 (終わり)
3. Vがそれ以上なら
L = { ( V + 0.1115 ) ÷ 1.1115 } の (1 ÷ 0.45)乗

smpte_240m_inverse_oetf(float L)はこんな処理
1. Lが0以下ならL = 0とみなしてV = 0 (終わり)
2. Lが0.0228より小さいなら
V = L x 4 (終わり)
3. Lがそれ以上なら
V = 1.1115 x ( Lの0.45乗 ) - 0.1115

88:名無しさん@お腹いっぱい。
23/01/03 08:48:27.99 Ttl3j4JF0.net
URLリンク(www.jstage.jst.go.jp)

このPDF見ながらソース読んでみたけど、処理自体は正しく書かれてるように思える
あとはこれを使ってる場所が正しくLとVを使ってるかどうかじゃないかなあ
Lを使うべきところでVを使ってるとか、その逆とか

89:名無しさん@お腹いっぱい。
23/01/05 00:25:07.91 7mKKIxKi0.net
返信ありがとうございます。私もそのPDFを読んでみました。
>このPDF見ながらソース読んでみたけど、処理自体は正しく書かれてるように思える
>あとはこれを使ってる場所が正しくLとVを使ってるかどうかじゃないかなあ
>Lを使うべきところでVを使ってるとか、その逆とか
はい、そう思います。
同じソースコードの330行目を見ると、OETFの引数にVを、EOTFの引数にLを入力していませんか。
もしそうなら、LとVを逆に扱っていないでしょうか?

90:名無しさん@お腹いっぱい。
23/01/05 00:46:28.28 7mKKIxKi0.net
>>89は予想です。
func.to_linearやfunc.to_gammaって書いてあるのを見て思っただけで、全体の処理の流れを理解していません。
>>87のプログラムの説明助かりました!

91:名無しさん@お腹いっぱい。
23/01/05 10:37:14.14 QEuK8P+m0.net
>>90
330付近は300から始まるブロックだけど、select_transfer_functionって名前の通りでその処理(リニア化、ガンマ化)をするためにどの計算方法を使うかを選んでいる
リニア化はシーン参照(入力参照)なら上カーブになる240m_inverse、そうじゃない(出力参照)なら下カーブになるRec.1886eotfで正解じゃない?
勘違いしてるかな
いや、出力参照でRec.1886を使ってるのが正しいのかと言われると断言できないけど

92:名無しさん@お腹いっぱい。
23/01/05 20:49:46.37 7mKKIxKi0.net
リニア化は人間の視覚特性に合わせて暗部の圧縮をするので下カーブになると思います。
ただ、どうして出力参照でRec.1886 EOTFを適用するんでしょう。
PDFの記述と食い違いがあります。(今気づきましたが、1991年の記事なんですね)
Rec.1886はCRTの模倣なので、再生時の逆ガンマ補正がもしCRTだけ(パススルー)だったら理にかなっています。
ネットで調べてもよくわからないです。
とりあえずいまは式をMarkdownへ書き起こす作業をしています。

93:名無しさん@お腹いっぱい。
23/01/05 22:32:23.12 7mKKIxKi0.net
URLリンク(www.desmos.com)
smpte_240m_inverse_oetfとrec_1886_eotfをプロットしてみました。
URLリンク(imgur.com)
この画像のようにシーン参照のTFと出力参照のTFを組み合わせるのが一般的?なんですかね。
zscaleのRec.709の実装が正しいとすると
シーン参照のTFと出力参照のTFはsmpte_240m_inverse_oetfとrec_1886_eotfだと思います。
うーん。

94:名無しさん@お腹いっぱい。
23/01/05 22:39:04.19 7mKKIxKi0.net
書き起こした式です。
URLリンク(hackmd.io)

95:名無しさん@お腹いっぱい。
23/01/05 23:36:35.76 7mKKIxKi0.net
こちらの画像がより正確かもしれません。
URLリンク(imgur.com)
Scene-referredについて追記した版です。
URLリンク(hackmd.io)
Rec.709も加えました
URLリンク(www.geogebra.org)

96:名無しさん@お腹いっぱい。
23/01/05 23:49:13.62 7mKKIxKi0.net
BT470_MとREC_470_BGとLOG_100とLOG_316の式がH.273と違いますね

97:名無しさん@お腹いっぱい。
23/01/05 23:59:42.83 7mKKIxKi0.net
すみません>>96解決しました。
BT470_MとREC_470_BGは、OETFとinverse OETF、func.to_linearとfunc.to_gammaがそれぞれ逆ですが、結果的に処理は正しく
LOG_100とLOG_316は、式の区間が調整されてますが、計算結果は変わらないようです。

98:名無しさん@お腹いっぱい。
23/01/08 17:49:44.77 dgAHe8aX0.net
FFmpegのzscaleでST240に変換しようとしましたがエラーが出て処理が進みません
コマンドです。
ffmpeg -y -i testimage.jpg -filter_complex "zscale=rangein=full:primariesin=709:transferin=709:matrixin=470bg:range=full:primaries=709:transfer=7:matrix=470bg" -f image2 -qmin 1 -q 1 -update 1 240m.jpg
7がST240のはずですが…
URLリンク(hackmd.io)

99:名無しさん@お腹いっぱい。
23/01/08 17:51:08.97 dgAHe8aX0.net
テストで使った画像です。
URLリンク(imgur.com)

100:名無しさん@お腹いっぱい。
23/01/08 22:59:52.19 dgAHe8aX0.net
smpte240mをFFmpegのzscaleでテストするという目的はまだ達成できていませんが、試行錯誤の結果を報告します。
>>98でFFmpeg5.1を使っていました。
FFmpeg5.1とmasterの間で、FFmpeg/libavfilter/vf_zscale.cが変更されているようです。
コミットメッセージによると、smpte240m transferオプションの追加を含む変更とのことなので、2023年1月4日の最新ビルドで同じコマンドを試してみました。
しかし、>>98と同じ結果、つまりFFmpeg5.1と同じエラーが発生しました。
以下はそのエラーの出力です。

101:名無しさん@お腹いっぱい。
23/01/08 23:02:48.73 dgAHe8aX0.net
ffmpeg version 2023-01-04-git-4a80db5fc2-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.1.0 (Rev2, Built by MSYS2 project)
(文字数制限のためconfigurationを中略)
libavutil 57. 43.100 / 57. 43.100
libavcodec 59. 56.100 / 59. 56.100
libavformat 59. 34.102 / 59. 34.102
libavdevice 59. 8.101 / 59. 8.101
libavfilter 8. 53.100 / 8. 53.100
libswscale 6. 8.112 / 6. 8.112
libswresample 4. 9.100 / 4. 9.100
libpostproc 56. 7.100 / 56. 7.100
Input #0, image2, from 'testimage.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: 21988 kb/s
Stream #0:0: Video: mjpeg (Progressive), yuvj444p(pc, bt470bg/unknown/unknown), 320x240 [SAR 72:72 DAR 4:3], 25 fps, 25 tbr, 25 tbn
Stream mapping:
Stream #0:0 (mjpeg) -> zscale:default
zscale:default -> Stream #0:0 (mjpeg)
Press [q] to stop, [?] for help
Assertion failed: (!path.empty()) && ("empty path"), file ../src/zimg/colorspace/colorspace.cpp, line 33
Assertion failed: (!path.empty()) && ("empty path"), file ../src/zimg/colorspace/colorspace.cpp, line 33
Assertion failed: (!path.empty()) && ("empty path"), file ../src/zimg/colorspace/colorspace.cpp, line 33

102:名無しさん@お腹いっぱい。
23/01/08 23:09:47.05 dgAHe8aX0.net
zscaleが対応していない伝達特性reserved、bt1361、smpte428とは異なり、FFmpegは数秒間停止した後に終了するような動作をします。
709 1
bt709 1
bt470m 4
bt470bg 5
smpte170m 6
601 6
linear 8
linear 8
log100 9
log316 10
iec61966-2-4 11
iec61966-2-1 13
2020_10 14
bt2020-10 14
bt2020-12 15
2020_12 15
smpte2084 16
arib-std-b67 18
では変換に成功しました。

103:名無しさん@お腹いっぱい。
23/01/13 22:40:17.47 TRrhIozd0.net
書けた!

104:名無しさん@お腹いっぱい。
23/01/14 19:01:38.04 hBwrxSa70.net
規制解除願う

105:名無しさん@お腹いっぱい。
23/01/18 20:05:37.97 imvRxbLL0.net
規制された?

106:名無しさん@お腹いっぱい。
23/01/21 18:03:30.03 ctgFreAT0.net
あなたはこのスレッドにはもう書けません。

107:名無しさん@お腹いっぱい。
23/01/22 12:25:10.23 A/H5B6HI0.net
マジか

108:名無しさん@お腹いっぱい。
23/01/22 18:23:44.45 XUyiU5Rj0.net
TEST

109:名無しさん@お腹いっぱい。
23/01/22 19:42:04.14 vglLNyZU0.net
てすてす

110:名無しさん@お腹いっぱい。
23/01/25 02:34:56.04 YfHvOxpR0.net
あなたはこのスレッドにはもう書けません。

111:名無しさん@お腹いっぱい。
23/01/31 15:31:36.35 /iJY7FYD0.net
ソースにチャプターが無い時に、先頭にだけチャプターを付ける、みたいなことはできる?
その後、mkvmergeで結合する時に面倒が無い

112:名無しさん@お腹いっぱい。
23/01/31 16:13:56.99 CxIQq1JO0.net
ffprobeなどで調べたらいいんじゃね。チャプター

113:名無しさん@お腹いっぱい。
23/01/31 19:53:18.75 5YX2LrDQ0.net
先頭にチャプターひとつって、なんかメリットあるの?
プレーヤーの動作も変わらないような

114:名無しさん@お腹いっぱい。
23/01/31 21:20:50.86 /iJY7FYD0.net
mkvmergeで各ファイルの先頭にチャプターを付けることもできるけど、
既に付いてるところにさらに付けると壊れるんだよな
だから、動画には全部チャプターが付いているものとして、mkvmergeでは何もしないのが安全

115:名無しさん@お腹いっぱい。
23/01/31 21:52:24.47 5YX2LrDQ0.net
>>114
壊れるんじゃなくて、別のチャプターセットが作られて、そちらが優先されるんじゃなかったっけ?

116:名無しさん@お腹いっぱい。
23/01/31 22:15:06.93 /iJY7FYD0.net
チャプター4つとチャプター2つの動画をチャプター生成付きでマージすると、
チャプター8つの動画になって、チャプター6に飛ぼうとすると次のファイルとかになる

117:名無しさん@お腹いっぱい。
23/02/04 00:48:05.77 frWElaDR0.net
ffmpeg -i input.ts -c copy -movflags faststart output.mp4
これだけを実行する小さなサイズのものをビルドしたいのですがこの場合
どんな構成オプションを設定すればよいでしょうか?

118:名無しさん@お腹いっぱい。
23/02/04 09:23:27.84 MS/k36cL0.net
どこまでdisableすればいいのかな
URLリンク(github.com)

119:名無しさん@お腹いっぱい。
23/02/04 13:52:00.64 CkN0COGi0.net
ffmpeg-minimal-build-for-rtmp-streaming.md · GitHub
URLリンク(gist.github.com)

[FFmpeg-user] Minimal ffmpeg build
URLリンク(ffmpeg-user.ffmpeg.narkive.com)

120:名無しさん@お腹いっぱい。
23/02/10 23:25:20.17 u9iN2NxJ0.net
回答ありがとうございました
ちょうどこのページが役立ちました
URLリンク(stackoverflow.com)

121:名無しさん@お腹いっぱい。
23/02/11 07:27:58.24 LpXi8wul0.net
どのくらい小さくなるの?

122:名無しさん@お腹いっぱい。
23/02/11 19:32:34.21 4lwriVd10.net
102MB -> 3MB くらい

123:名無しさん@お腹いっぱい。
23/02/11 19:57:33.46 LpXi8wul0.net
贅肉だらけやな

124:名無しさん@お腹いっぱい。
23/02/14 17:53:47.05 dcMiAHGq0.net
ffmpegのフレーム補完について質問です

20fpsと24fpsとの混合フレームで120fpsの動画をフレーム補完する場合は
そのまま240fpsで補完した方がいいのでしょうか?
それとも一度20or24fpsまで落としてから改めて60fpsにすべきでしょうか?

125:名無しさん@お腹いっぱい。
23/02/15 23:22:15.85 O/sx1pLYn
リスキリング(笑)とかほざいて税金泥棒どもか゛新たな利権のネ夕披露しまくっててクソ氣色惡いよな
曰本じゅう航空騒音まみれにして私権侵害して勉強まで妨害して,アプリのひとつも作れないようなガイジだらけにして
知的産業に威カ業務妨害して壊滅させた.てめえら何ひとつ価値生産できない地球に湧いた害虫の税金泥棒こそ小学生からやり直せやカス
小学生以下の無能公務員どもか゛利権拡大させて私腹を肥やす目的て゛マヰナンバ‐だなんだと個人情報収集して漏えいさせてやがるし、
JavaScript強要したりと税金泥棒NTTに汚染された税金泥棒国税庁やらポンコツ政府サイ├のセキュリティのなさには唖然とするよな
都心まで数珠つなぎて゛私権侵害して,コ口ナに温室効果カ゛スにとまき散らして氣候変動させて災害連発させて人を殺す強盜殺人推進して.
エネ価格に物価にと暴騰させて健常者の人生を破壞するこうした他人の権利を強奪して私腹を肥やすテ囗リス├を根絶やしにするのが先た゛ろ
つか,アプリとか小学生でも独学て゛作れるわけだが、税金もらわなきゃアプリの使い方すら理解て゛きないとか小学校からやり直すのが先だろ

創価学會員は.何百万人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まで出てる世界最悪の殺人腐敗組織公明党を
池田センセ━か゛囗をきけて容認するとか本氣で思ってるとしたら侮辱にもほどがあるぞ!
URLリンク(i.imgur.com)

126:名無しさん@お腹いっぱい。
23/02/21 03:31:01.03 oBtwc/Px0.net
重複フレームがフレーム補完に悪さをするから20or24fpsまで落とそう
20fpsと24fpsとの混合フレームにするときVFRにして、それをフレーム補間の入力にしても解決になる
要は補完元のタイムスタンプが正しければいい

127:名無しさん@お腹いっぱい。
23/02/21 16:58:34.30 5JxyFhFU0.net
質問です。
動画のフレーム内の明暗の差を調べたいのですが、どのフィルタを使えばよいのかわかりません。
どんなフィルタを使えばよいかアドバイスいただけませんでしょうか。

128:名無しさん@お腹いっぱい。
23/02/21 20:36:02.55 IS7nhkfT0.net
フレーム内の輝度の10パーセンタイルと90パーセンタイルを調べる方法
ffmpeg -i input -vf signalstats,metadata=mode=print:key=lavfi.signalstats.YLOW:file=YLOW.txt,metadata=mode=print:key=lavfi.signalstats.YHIGH:file=YHIGH.txt -an -f null -
ffprobe -v error -f lavfi -i movie=input,signalstats -select_streams v:0 -show_entries packet=pts_time -show_entries packet_tags=lavfi.signalstats.YLOW,lavfi.signalstats.YHIGH -of csv=p=0 > YLOWYHIGH.csv

129:名無しさん@お腹いっぱい。
23/02/22 03:06:14.54 rCEnvhou0.net
>>24
いいやFFmpegでも補正できるぞ
1DLUTを使ってBT.709 OOTFの伝達特性を与えればいい
ffmpeg -i src.jpg -vf lut1d=Rec._ITU-R_BT.709-6_OOTF.cube dst.jpg
.CUBEファイルURLリンク(pastebin.com)
式はLUTのコメントに書いといた

130:名無しさん@お腹いっぱい。
23/02/22 17:05:00.58 BntjpjgC0.net
>>126
お答え頂きありがとうございます

131:名無しさん@お腹いっぱい。
23/02/28 21:52:39.24 ckhz4uUZ0.net
6.0出たの?

132:名無しさん@お腹いっぱい。
23/03/01 23:44:50.34 j99YvlUD0.net
出た

133:名無しさん@お腹いっぱい。
23/03/02 00:25:55.91 wXhRC9mg0.net
複数tsファイルの結合がどうしてもできません

ffmpeg -f concat -safe 0 -i input.txt -c copy output.mp4

で実行

 [concat @ 000001cf078faf00] Line 1: unknown keyword '"C:\bin\0001.ts"'
input.txt: Invalid data found when processing input

エラーになります

テキストファイルはUTF-8で保存
tsファイルもffmpegと同じフォルダ内に保存しています

input.txt内です
"C:\bin\0001.ts"
"C:\bin\0000.ts"

134:名無しさん@お腹いっぱい。
23/03/02 07:32:09.56 gcz4yp440.net
単純にinput fileの書式違ってるだけでは?

file 'path/to/file1.ts'
file 'path/to/file2.ts'

135:名無しさん@お腹いっぱい。
23/03/04 20:52:35.68 Pq6Hhyu60.net
webaファイルを変換しようとすると下記のようにエラーが出て途中で止まるのですが、何が原因なんでしょうか...?
ffmpegのバージョンは5.1.2です。

ffmpeg -i test.webm convert.mp3

Input #0, matroska,webm, from 'test.webm':
Metadata:
encoder : google/video-file
Duration: 02:02:46.46, start: -0.007000, bitrate: 1 kb/s
Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
Stream mapping:
Stream #0:0 -> #0:0 (opus (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, mp3, to 'convertdata.mp3':
Metadata:
TSSE : Lavf59.27.100
Stream #0:0(eng): Audio: mp3, 48000 Hz, stereo, fltp (default)
Metadata:
encoder : Lavc59.37.100 libmp3lame
[matroska,webm @ 0x7f9342705a40] File ended prematurelyspeed=45.1x
size= 944kB time=00:01:00.41 bitrate= 128.1kbits/s speed=45.5x
video:0kB audio:944kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.024511%

136:名無しさん@お腹いっぱい。
23/03/04 21:49:30.88 dBBqKSJv0.net
壊れてるのでは

137:名無しさん@お腹いっぱい。
23/04/14 21:07:01.83 UKZjsPgc0.net
誘導されてきました

ストリーミングを保存する時にファイル名に日付を入れたいんですが
チャットGPTが教えてくれた
ffmpeg -i <ストリームのURL> -c copy "output_$(date +'%Y-%m-%d').mp4"
にしてもエラーが出てしまいます
単なる「output.mp4」ならできるんですが・・・

すみませんがお助けくださいませ

138:名無しさん@お腹いっぱい。
23/04/14 21:08:19.71 /o3PsJPn0.net
試してないけど%を%%に置き換えるとか

139:名無しさん@お腹いっぱい。
23/04/14 21:47:39.04 s6sWAvD00.net
%Y-%m-%dの前後に「'」要らないとか
エラー出力に何か書いてあるのでは?

140:名無しさん@お腹いっぱい。
23/04/14 21:57:34.79 UyiHI4YS0.net
>>137
その内容をチャットGPTとやらに質問すればいいやん?
そういうオプションはOS(Windows/Mac/Linux etc)によって微妙に違うからちゃんと「〇〇のOS」を付け加えないとだめだぞ
それと具体的なエラーの内容も付け加えないとチャットGPTからダメ出しされるぞ

141:名無しさん@お腹いっぱい。
23/04/14 23:29:53.67 D1tYyTmm0.net
-strftime が要るのでは

142:136
23/04/16 12:07:44.52 aNYLWdyh0.net
結局よくわからなかった

チャットGPTは当てにならないので
ストリーミングを日付込みで保存するやりかた教えてください

143:136
23/04/16 12:22:33.65 aNYLWdyh0.net
ごめん整理します
最初から付き合って

ffmpeg -i <ストリームのURL> -c copy <出力ディレクトリ>output.mp3
これで「output.mp3」はうまく保存できるのだけど
このファイル名に日付を加えたいのだけどどうしてもできない

そういうことです
よろしくお願いします

144:名無しさん@お腹いっぱい。
23/04/16 12:28:27.26 d8YVornD0.net
そのコマンドはどこから実行してるの?

145:名無しさん@お腹いっぱい。
23/04/16 12:39:56.65 dsHNvnjy0.net
本当に%Yという名前のファイル名にしたいのか日付で置き換えて欲しいのか判らないので、
置き換える時は -strftime オプションを付けることになっている

146:136
23/04/16 12:46:20.74 aNYLWdyh0.net
>>145
ありがとう
ちょっと調べてみます
わからなかったらまた質問します

147:名無しさん@お腹いっぱい。
23/04/16 12:49:49.47 d8YVornD0.net
環境は絶対に教えないタイプ

148:名無しさん@お腹いっぱい。
23/04/16 12:58:46.48 aNYLWdyh0.net
>>147
Windows10って書けばいい?

そもそもの知識がないので
わからない事がどうわからないのかがわからないし
自分が知りたい事のために他人の必要な物がよくわからないので
不備あるならご勘弁

149:名無しさん@お腹いっぱい。
23/04/16 12:59:37.49 DhfAyrEB0.net
ffmpegの機能じゃなくてコマンドプロンプト(cmd.exe)やpowershellなどのコンソール側の機能で日付を付ければいいんじゃね
cmdは知らんけどpowershellなら
([datetime]::now.tostring() + "outputname")
でいけると思う(適当w)

150:名無しさん@お腹いっぱい。
23/04/16 13:38:01.78 MN6JaOmR0.net
pythonなら

import datetime
import sys
import subprocess
filename = rf'{sys.argv[2]}\{datetime.datetime.now().strftime("%Y%m%d")}.mp3'
subprocess.run(["ffmpeg.exe", "-i", sys.argv[1], "-c", "copy", filename])

UTF-8でffm.pyで保存して
python ffm.py <ストリームのURL> "<出力ディレクトリ>"

151:名無しさん@お腹いっぱい。
23/04/16 13:53:51.81 rOf8z/QI0.net
そのコマンドwin環境だとまともに動かない気もするし、そもそもffmpeg関係ない気もする
もしwin環境のコマンドプロンプトで実行するなら取得した日付の「/(スラッシュ)」を置き換える方法で簡単にできるよ(確かめた)

152:名無しさん@お腹いっぱい。
23/04/16 13:59:53.56 8FmzgOTk0.net
こんにちは、こちらはBingです。😊
ストリーミングを保存する時にファイル名に日付を入れたいということですね。
コマンドプロンプトから以下のように入力すると、ストリーミングのURLから動画をダウンロードして、ファイル名に日付を付けることができます。

ffmpeg -i "URL" -c copy output%date:~0,4%%date:~5,2%%date:~8,2%.ts

「%date:~0,4%%date:~5,2%%date:~8,2%」は現在の日付を表します。例えば、2023年4月16日なら「20230416」となります。 「ts」は出力した動画ファイルの拡張子です。mp4やmovなどお好みで変更できます。

153:名無しさん@お腹いっぱい。
23/04/16 14:14:13.98 8FmzgOTk0.net
了解です。時間も加える場合は、以下のように入力してください。

ffmpeg -i "URL" -c copy output%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.ts

「%time:~0,2%%time:~3,2%%time:~6,2%」は現在の時刻を表します。例えば、13時57分20秒なら「135720」となります。

154:名無しさん@お腹いっぱい。
23/04/16 14:24:55.76 8FmzgOTk0.net
はい、できます。短く表記するには、以下のように入力してください。

ffmpeg -i "URL" -c copy output%date:/=%_%time::=%.ts

「%date:/=%」は日付を「/」で区切らずに連結します。例えば、2023年4月16日なら「20230416」となります。 「%time::=%」は時刻を「:」で区切らずに連結します。例えば、13時57分20秒なら「135720」となります。

155:名無しさん@お腹いっぱい。
23/04/16 14:53:45.72 83FROnyP0.net
このスレの住人は優しいなぁ!

156:名無しさん@お腹いっぱい。
23/04/16 17:34:53.78 aNYLWdyh0.net
>>154 できたよ
ありがとうございました!
またわからない事あったら訊きにきます

157:名無しさん@お腹いっぱい。
23/04/16 18:24:20.27 8FmzgOTk0.net
AIに聞けよw

Windows10のffmpegでストリーミングを保存する時にファイル名に日付を入れたい

「output%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.ts」を短く表記できますか?

158:名無しさん@お腹いっぱい。
23/04/17 18:55:58.26 bD+3w7wa0.net
mkv←→mp4とコンテナだけ変えたいんですが
ファイルのタイムスタンプ(作成日時、更新日時)を維持するコマンドってありますか?

159:名無しさん@お腹いっぱい。
23/04/17 19:13:32.90 Vot0u2U40.net
コンテナだけ変えるほうはcopyでいいとして
タイムスタンプはOS側の機能だからffmpeg関係ないのでは

160:名無しさん@お腹いっぱい。
23/04/17 19:20:23.36 eG0MhyYT0.net
そんな機能があっても不思議は無いけど、現状無い

なんでもbatでやらずに、簡単なスクリプトから呼ぶようにすれば、
ファイル名もタイムスタンプも自由自在なのに

161:名無しさん@お腹いっぱい。
23/04/17 20:31:08.62 bD+3w7wa0.net
>>159-160
そうですか、ありがとうございます
コンテナ変換コマンドはこんな感じでしょうか
ffmpeg -i input.mkv -vcodec copy -acodec copy output.mp4

ffmpegすら触り始めたばかりなので、スクリプトは追々勉強していきたいと思います

162:名無しさん@お腹いっぱい。
23/04/17 20:36:56.38 xOaTAEsz0.net
>>161
動画音声どちらもコピーなら両方書かず-c copyだけでいいよ

163:名無しさん@お腹いっぱい。
23/04/17 20:46:42.65 bD+3w7wa0.net
>>162
ありがとうございます!

164:名無しさん@お腹いっぱい。
23/04/17 20:50:18.13 eG0MhyYT0.net
いやいやいや
なるべく省略しない方がいい

直にタイプしてて少しでも早くやりたいなら省略もいいけど、
何度も使うbatやスクリプトを書くなら省略は罠になる

165:名無しさん@お腹いっぱい。
23/04/17 20:54:18.94 bD+3w7wa0.net
なるほど、勉強になります

166:名無しさん@お腹いっぱい。
23/04/19 20:54:58.19 DtPsgSYv0.net
6.0でAV1のHWエンコ対応になったのに、あんまり話題になってないな…



最新の「git master builds」から入れたら、一見ちゃんと出力できてる様に見せかけて、
途中10秒ぐらいだけ音声が無音になってるっていう、鬼畜の様なバグがあったから、みんな気をつけろ!

それも数十ファイルに1個ぐらいで発生してたからわかりずらい。(特定の動きの速いシーンだけで発生(?))
GPUのマルチスレッド対応になったのが悪さしてたんかな…

(途中エラー終了したファイルがあったので、一個一個確認したらたまたま気づいた)
「release builds」の方の6.0に変えたら直ったっぽい。( ´o`)

167:名無しさん@お腹いっぱい。
23/04/23 15:57:50.40 ftTgy/cA0.net
右の音が大きくなったり左の音が大きくなったりするステレオ音源(いわゆる立体音響)を良い感じにモノラル音源に変換する方法を教えてください

168:名無しさん@お腹いっぱい。
23/04/23 17:21:06.61 GpimmP6/0.net
単にモノラルにするなら -ac 1

169:名無しさん@お腹いっぱい。
23/04/27 22:29:15.44 ObpWozPp0.net
2パスエンコ~ドしてると思ってい~た~ら~
2回エンコ~ドしてるだけで~し~た~
チクショー!!!!!

170:名無しさん@お腹いっぱい。
23/04/27 23:45:24.44 N3IdiAxX0.net
その素晴らしいエンコに祝福を

171:名無しさん@お腹いっぱい。
23/04/28 00:31:16.15 AeSLN7Wb0.net
エンコの神様

172:名無しさん@お腹いっぱい。
23/05/01 00:02:27.79 xRx4Z4k40.net
>>169
誰もが通る道だ。どんんまいwww

173:名無しさん@お腹いっぱい。
23/05/01 00:19:31.01 Z6tEn1Zp0.net
いい加減、binにパス通した

174:名無しさん@お腹いっぱい。
23/05/03 06:29:19.91 GqzAL4j+0.net
AV1のエンコは洒落にならないくらい時間がかかる。
0.1倍速とかそんなもん。使いもんにならん。

175:名無しさん@お腹いっぱい。
23/05/03 07:02:52.07 elGn55I40.net
libaom-av1の話ならav1anやそのGUIフロントエンド使え
分割エンコードしてCPUちゃんと使ってくれるようになるから

176:名無しさん@お腹いっぱい。
23/05/03 07:16:18.02 elGn55I40.net
ffmpegだけでav1エンコしたいならlibsvtav1のほうがいい
preset 8ぐらいならx265のmediumとそんなにエンコ速度変わらないだろ

177:名無しさん@お腹いっぱい。
23/05/03 07:26:12.59 Pq/Ut1kA0.net
svtは最適化が続けられていてプリセットの内容がちょいちょい変わるので、アプデ時は注意だ

178:名無しさん@お腹いっぱい。
23/05/27 18:25:36.28 vSdpHpKo0.net
スマホで見る用にDVDの画像ベース字幕焼きエンコしてるんだけど
人名とか日付だったり縦横とか2つ以上混在する場面で一瞬表示されて消えてしまう
プレイヤー側で表示するのは問題なくて焼いた動画にするとおかしくなるからoverlayの仕様なのかな

179:名無しさん@お腹いっぱい。
23/05/27 20:15:23.58 CA2gRduz0.net
スマホのプレーヤーもソフトサブに対応してると思うけど、それじゃだめなん?

180:名無しさん@お腹いっぱい。
23/05/27 20:17:42.15 CA2gRduz0.net
字幕の位置をキチンと指定しないと上書きされちゃう仕様だったような
assだと問題なく焼けるんだけどね

181:名無しさん@お腹いっぱい。
23/05/27 21:27:27.58 vSdpHpKo0.net
えぇ位置指定とか初耳
あとプレーヤー側でのも最終的にはそれしかないかなと考えてるけど
文字デカくしてそのぶんの位置調整とかググったら出来るのかどうかがよくわからんかったもんで
ちなみに拡大とちょっと上下位置調整するぐらいはscaleとoverlay=で問題なく出来てる

182:名無しさん@お腹いっぱい。
23/06/07 10:53:22.83 StYBuiL80.net
教えて頂きたいのですが、ffmpegでmkvにass字幕を焼き付けると
縦字幕の(―)や(・・・)が横字幕として焼き付いてしまいます。
縦字幕で正常に焼き付けることは可能でしょうか?

183:名無しさん@お腹いっぱい。
23/06/07 11:11:42.31 h248HFpJ0.net
説明下手だろ

184:名無しさん@お腹いっぱい。
23/06/07 15:50:39.95 Qr2WfplD0.net
フォント名の前に@つけてもダメ?

185:名無しさん@お腹いっぱい。
23/07/15 18:05:08.96 4OQzm0U+0.net
このスレ動てるか?

186:名無しさん@お腹いっぱい。
23/07/19 01:54:26.45 /95Q402x0.net
スレ動いてると信じて誰か教えて
フィルタで指定するファイルPathの記述がどーしてもうまくいかないです
コロンや\のエスケープは、\\や/\、\\\\など複数種類試したんだけど、どれもFailed to openでして
エラーメッセージ的には「removelogo=C\\:\\\\logo.lgd」←この指定が一番イケそうなんですけど、ダメでした
Error loading image file 'C:\logo.lgd'
OSはWindows11、実行バイナリは自動ビルドの最新を使ってます

187:名無しさん@お腹いっぱい。
23/07/19 02:22:21.67 c/rcUHkO0.net
フォルダ区切り \ じゃなくて / 使うとどうかな

188:名無しさん@お腹いっぱい。
23/07/19 02:46:43.35 /95Q402x0.net
バックスラッシュは単体だけでなく、複数ミックスしてうまくいった事例が昔はあったらしく
いろいろ試しましたがダメでした

189:名無しさん@お腹いっぱい。
23/07/19 03:30:08.89 ise1Epoh0.net
それは実行環境によるんじゃないですかねぇ
バッチファイルとかコマンドプロンプトならコロンも\もエスケープは要らないと思うんだけど

190:名無しさん@お腹いっぱい。
23/07/19 04:14:29.06 /95Q402x0.net
URLリンク(ffmpeg.org)
少なくともエスケープ無しだと全然ダメで、ドキュメントによると要るのが正解っぽい
どなたか実際に使えてるPATH入りのフィルタの記述、教えてくれんだろか…

191:名無しさん@お腹いっぱい。
23/07/19 07:15:08.21 +Q3T7XJL0.net
>>186
C\\:/file.txt

192:名無しさん@お腹いっぱい。
23/07/19 12:18:33.51 30l5ZOEV0.net
オレも以前困ったときがあってその時は解決できた
記憶も定かではないけどちょっと思い出してみるとこんな感じ

フィルターの記述で:(コロン)はフィルターのオプションの区切り文字として使われている
 scale=w=100:h=200
みたいな感じに
なので
 C:/xxx.txt
こういうパスの記述だと:(コロン)をフィルターのオプション区切りと誤認する
そのため
 C\:/xxx.txt
という感じでエスケープする
これでダメならエスケープをエスケープしてw
 C\\:/xxx.txt

また
パス区切りは\(バックスラッシュまたは円記号)ではなく/(スラッシュ)を使うんじゃなかったかな・・・

あと
プラットフォームがwindowsだと:(コロン)を使わないドライブレター(デバイス)指定があったはず
powershellでGet-Partitionあたりで調べられたような・・・

193:名無しさん@お腹いっぱい。
23/07/19 14:19:31.05 kPInWsuE0.net
FFREPORT出力先の指定(環境変数に代入)も同じ問題を抱えていたな
その時は、バッチファイルだったんだけど、
: → \\:
\ → \\\\ でよかったような
オプションはまた違うのかもね

194:名無しさん@お腹いっぱい。
23/07/19 14:31:17.54 Ii+p4eLA0.net
自分はカレントディレクトリを操作してファイル名だけを指定してるわ

195:名無しさん@お腹いっぱい。
23/07/19 14:53:11.25 /95Q402x0.net
なんかoverlay fontとか他の要素だと通る記述が、logo消しだと通らないんですよね
pathのparserが違うとは思いたくないけど、実行時の出力を見るとありえそう
一旦あきらめますわ
ありがとう

196:名無しさん@お腹いっぱい。
23/07/19 15:51:14.89 vcnIrXPi0.net
Error loading image file 'C:\logo.lgd'
ffmpeg できれいにロゴを消す方法
URLリンク(nico-lab.net)
ここだと画像を指定しているな
removelogo=logo.bmp

197:名無しさん@お腹いっぱい。
23/07/20 08:39:57.62 PENUdqnp0.net
m3u8ファイルをURLから読ませて.tsファイルを落として結合してくれる機能は便利なんだけど一時的にアクセスできないエラーがあると飛ばして結合しちゃうのが困る。
ログファイルでエラーチェックしてそこだけリトライできたら良いのに全部DLし直しになるしwebサーバが過負荷だったりすると今度は他のファイルでエラー出たりと。
irvineで手作業でやってるけどm3u8のパス記述は相対が多いので一手間かかる。
Irvineみたいなツールでm3u8を読ませると一覧でステータス表示しながらファイル落としてくれるツールないですか?

198:名無しさん@お腹いっぱい。
23/08/12 13:36:04.64 nmj8+2WF0.net
再生するには困らないmkvファイルがあって、
ffmpegに読ませようとすると
EBML header parsing failed
になってしまう

なんとか無理やり読ませられないかな

199:名無しさん@お腹いっぱい。
23/08/12 16:14:57.46 vJasxnmJ0.net
>>198
mkvmerge(mkvtoolnix)でリコンテナしてみたらどうかな?

200:名無しさん@お腹いっぱい。
23/08/12 16:34:41.51 nmj8+2WF0.net
mkvmerge v73.0.0 ('25 or 6 to 4') 64-bit
エラー: The type of file 'xxx.mkv' could not be recognized.

mkvmergeでも駄目だった

201:名無しさん@お腹いっぱい。
23/08/12 16:37:35.39 nmj8+2WF0.net
v78でも同様

202:名無しさん@お腹いっぱい。
23/08/12 16:39:48.03 cnkD+scW0.net
>>200
本当にMKVなのか? MediaInfo Liteで情報見てみてよ

203:名無しさん@お腹いっぱい。
23/08/12 16:42:09.55 nmj8+2WF0.net
多分違う
ヘッダが
49 44 33 04(ID3 )
こんなんなってる
よく再生できたな

204:名無しさん@お腹いっぱい。
23/08/12 19:07:14.39 nmj8+2WF0.net
結局、aacファイルだったみたいで、拡張子を.aacに変えたら全てが正常になった

205:名無しさん@お腹いっぱい。
23/08/12 19:23:49.80 1hiMtR7h0.net
極窓が必要だな
古すぎて対応してないだろうけどw

206:test
23/08/21 21:41:48.79 xVaREiry0.net
test

207:名無しさん@お腹いっぱい。
23/08/21 21:46:28.78 xVaREiry0.net
いつもFFmpegでH.264形式でエンコードする時に
GOPを設定せずに行うのですが、
MPC BEで再生した時、
なぜか動画によって、フレーム毎にシークバーが動かせるものと
8秒おきにしか動かせないものがあることに気が付きました。

エンコードの設定は全く同じで、元ファイルが異なるだけで
なぜかシークの挙動が異なります。

MediaInfoで調べるといずれも
keyint=250 / keyint_min=25
という同じGOPの設定になっています。

試して、フレーム毎にシークバーが動かせるファイルに関して、
keyint=30 / keyint_min=3

の設定でエンコードしてみたところ、
やはりファイルサイズは大きくなることが分かりました。

つまり、
keyint=250 / keyint_min=25
という設定にも拘わらず、フレーム毎にシークバーを動かせるファイルが存在することになります。

どのようにすれば、毎回このように、ファイルサイズを小さくしたままで
フレーム毎にシークバーを動かせるファイルをエンコードすることができますか?

もしかして、シークバーを微調整できるかどうかって、
keyint以外にも設定があったりしますでしょうか?

208:206
23/08/21 21:51:00.98 xVaREiry0.net
すいません、どうも動画時間が関係していることが分かりました。

動画時間が8秒以下の場合には、
keyint=250 / keyint_min=25
の設定であってもフレーム毎にシークできるようです。

それなら、8秒以上でも設定によっては
同じ設定でフレーム毎にシークできるようにすることは可能でしょうか?

209:名無しさん@お腹いっぱい。
23/08/22 11:34:09.48 MopIHYVE0.net
なんとなくだけど
mp4やmkvといったコンテナの違いじゃね

210:名無しさん@お腹いっぱい。
23/08/25 00:12:32.60 ResDke840.net
MPC BEがどうシークしてるかわからないからな
シークできるフレームといえばキーフーレームだし
そのキーフーレーム間隔をいじるのがkeyintだから

キーフーレーム間隔を設定する方法には-force_key_framesとかkeyint以外にもあるけど、そういう話じゃなさそうだね
keyint=250で8秒おきにしーくできるってことは、その動画は30fps?

211:名無しさん@お腹いっぱい。
23/08/25 01:42:26.54 ResDke840.net
URLリンク(mega.nz)
GOPのサイズを調べるために作ったバッチファイルだけど、これでキーフレームの位置もわかるから
MPC BEのシークバーを動かせる位置とキーフレームの位置を比べてほしい

212:名無しさん@お腹いっぱい。
23/08/25 01:45:30.10 ResDke840.net
キーはnO_J99RB0ZSoHYX_qGSaFFbWNFHaOUEqEcB2yNTAtQY

213:名無しさん@お腹いっぱい。
23/08/25 14:51:41.16 gOZ+IRCA0.net
aviutlでキーフレームごとに移動を設定してchapterを作る方が分かりやすいかも

214:名無しさん@お腹いっぱい。
23/08/27 10:47:33.97 IrMn2t3Y0.net
初歩的な質問ですいません
一般的なWindowsでの使用でどのビルドを選べばいいか迷っています
sharedなし、gpl、win64までは絞れ込めたのですが
master、6.0、5.1のどのバージョンにしようか悩んでいます
>>166を見ると現行のmasterは避けたほうがいいですか?

215:名無しさん@お腹いっぱい。
23/08/27 11:42:14.39 y2UJjkD20.net
masterのwin64のsharedのlgplがおすすめ
バグが1番修正されていて、動作が速い、最も機能豊富、そしてディスク占有率が低い
ただ新機能と一緒にエンバグしてることがあるから、そんなバグと出会ったときは安定版の6.0がいい
安定版にはmasterでは修正されているバグが残ってるから、気をつけないといけない
ただ重大なバグはバックポートされるけどね
バグと出会うまではmasterを使うのがいいと思う

216:名無しさん@お腹いっぱい。
23/08/27 12:51:03.43 IrMn2t3Y0.net
あれ、とんちんかんなことやってしまった
sharedのlgplのほうがいいんですね
質問してよかった
ありがとうございました

217:名無しさん@お腹いっぱい。
23/08/28 13:49:59.87 EO3EP1Us0.net
ffmpegのさまざまなフィルター機能をブラウザ上で試せるサイトらしい
URLリンク(ffmpeg.lav.io)

218:名無しさん@お腹いっぱい。
23/08/28 23:51:20.91 AU9hnfC10.net
バズってるね

219:名無しさん@お腹いっぱい。
23/08/29 08:41:48.48 ORJWGcjl0.net
tokyo-hotとかのフリー素材状態になっちゃってるエロ動画のハイライトシーンだけを切り出すffmpegのスクリプトを作ってGitHub的な場所で配布したらニーズあると思うんだけどな。
東熱本編だけで1000本以上あって全部持ってても見切れない人も多い。
そこから1作ごとのハイライト集、中出し精子が音立てて逆流するとかの性癖シーン集、ギャルとかの女優属性集とかにできたらいいのに。
転載品は冒頭に広告追加したり逆にオープニングテロップをカットしたりと30秒くらい尺のブレがあるしカリビアンや1pondoは前後編が1本になった再リリース版とかも多いから編集スクリプトと作品を紐づける作業が人力になりそうなのが辛いところか。

220:名無しさん@お腹いっぱい。
23/08/29 13:15:33.60 49SrYcAR0.net
夢が広がるな!

221:名無しさん@お腹いっぱい。
23/08/29 20:05:21.24 vsXMIzmL0.net
編集マンでも技術高い若手のやつが地方テレビ局の下請け会社を見限ってvtuberや大物YouTuberの仕事に回ったらしいからな。
編集技術高いやつが手入れたらペース悪いエロ動画も再利用できるかもしれん。
腐れマンコのリサイクルでSDGsやん。

222:名無しさん@お腹いっぱい。
23/09/01 06:59:47.35 W4SYObV70.net
29.97 --> 25 の具合いいフィルタの書き方ないすか
フレームは素直に1-2-3-4-5-5
簡単かと思ってたら、なかなか綺麗な25fpsにならんす

223:名無しさん@お腹いっぱい。
23/09/02 15:44:19.26 g/LsqXem0.net
URLリンク(ffmpeg.org)
式が0と評価されたときフレームを破棄するフィルタselectに、6フレーム目で0となる式を書いて、setptsでPTSを振りなおすかんじ
ffmpeg -i 30fps.mp4 -filter_complex "select='mod((n+1),6)',setpts=N/25/TB" -r 25 25fps.mp4

224:名無しさん@お腹いっぱい。
23/09/02 18:27:15.13 1jtN7cVQ0.net
>>223
ありがとう
フィルタでフレーム番号とか評価できんのか…
頭出し頑張って、途中でパターンが変わらない事祈ってつっこむ

225:名無しさん@お腹いっぱい。
23/09/02 21:29:15.70 g/LsqXem0.net
29.97から1-2-3-4-5-5って間引くなら、こう書いたほうがいいかな、映像が速くならない
-filter_complex "select='mod((n+1),6)',setpts=N/(25000/1001)/TB" -r 25000/1001

226:名無しさん@お腹いっぱい。
23/09/02 22:53:28.00 1jtN7cVQ0.net
>>225
おk、試してみる
もういい加減テレシネ◯ね、としか言いようがない

227:名無しさん@お腹いっぱい。
23/09/02 23:09:05.12 pP0qkXDJ0.net
未だに末端の人がこんな苦労を強いられるのか

228:名無しさん@お腹いっぱい。
23/09/02 23:18:57.31 1jtN7cVQ0.net
いや、60fpsで全自動の動き補償的なのでやっつければ苦労ゼロで十分綺麗
純粋に興味の話で、フィールドの間引きとか精密にやって遊んでみたくなっただけ
テレシネがどーのとか2000年代初頭の話題かと

229:名無しさん@お腹いっぱい。
23/09/16 22:34:57.61 te6lY3LQ0.net
FFmpegに関係あるか微妙だけど動画に詳しそうな人が多そうなのでここで、すまん
mkvコンテナでタイムベース1/90000を設定するにはTimestampScale Elementを(1/90000)/1ナノ秒≒11111にすればいいのか、もっといい方法あるのかこれしか無いのか教えてほしい
TimestampScale Elementは整数値を求めるってあるけど(1/90000)/1ナノ秒は整数値にならないので

230:名無しさん@お腹いっぱい。
23/09/16 22:54:22.56 te6lY3LQ0.net
>>215
終わった質問だけどGPLのほうがいいと思うが

231:名無しさん@お腹いっぱい。
23/09/17 02:47:12.27 TueMVTDa0.net
TimestampScale Elementを11111にすると30000/1001fpsのとき55.6分に1フレームくらいの誤差がでる?

232:名無しさん@お腹いっぱい。
23/09/17 22:10:32.86 GpuwaodO0.net
x64のLinux上でH265のHWエンコード(CPU)したい時は、どう書けば良いのでしょうか?

233:名無しさん@お腹いっぱい。
23/09/17 22:12:39.87 YnL1Gbfe0.net
そういうのはもうChatGPTに聞けば良くね?

234:名無しさん@お腹いっぱい。
23/09/17 22:20:56.82 sOTTdSik0.net
URLリンク(trac.ffmpeg.org)

235:名無しさん@お腹いっぱい。
23/09/19 14:30:49.23 F9DpvMZ80.net
>>229
解決した
mkvでタイムベース1/90000にするにはTimestampScale Elementを11111にするしかない

236:名無しさん@お腹いっぱい。
23/09/19 14:34:50.31 F9DpvMZ80.net
mkvではタイムベースがナノ秒単位に丸められるから、マルチプレクサがTimestampScale Elementをストリームのフレームレートの逆数の倍数にすることで精度を出してるらしかった

237:名無しさん@お腹いっぱい。
23/09/19 14:53:29.52 F9DpvMZ80.net
MP4のタイムベースをMKVに移植すること自体間違いだった

238:名無しさん@お腹いっぱい。
23/09/21 14:13:14.66 qZWwf6t+0.net
すごくアホな質問だったらゴメン
例えば
30fps 4秒=120コマの動画を
24fps 5秒の動画に無劣化で変更することって出来る?
再エンコありなら出来たんだけど使うコマ数は同じなんだからエンコなしで出来たらと思って

239:名無しさん@お腹いっぱい。
23/09/21 14:52:02.95 0V25mtVE0.net
>>238
そういうアホな質問はchatgptに聞くと答えてくれるよ

240:名無しさん@お腹いっぱい。
23/09/21 14:56:18.72 ZfZolt930.net
なんかフレームレートのこと勘違いしてない?
30fpsは1秒間30コマってことだよ
そして4秒の動画を5秒にするって再生速度落としたいの?

241:名無しさん@お腹いっぱい。
23/09/21 15:11:08.72 piLWozyP0.net
ちょっぴりスローになっちゃうな

242:名無しさん@お腹いっぱい。
23/09/21 15:19:30.65 qZWwf6t+0.net
>>240
そう
音声と映像の速さがあってない動画を直したい

243:名無しさん@お腹いっぱい。
23/09/21 15:47:17.21 ZfZolt930.net
音と映像を分離して音の長さを調整してまた合成すればいい

244:名無しさん@お腹いっぱい。
23/09/21 16:18:35.43 qZWwf6t+0.net
-bsf:v "setts=TS/xxx" -c:v copy
xxx=fps比(30→24なら0.8)で行けたっぽい
一瞬で終わったしファイルサイズ的に再エンコもかかってない
GPTにも聞いたら-vf "setpts=xxx*PTS" を使うように言われたけどこれだと再エンコ掛かってた

245:名無しさん@お腹いっぱい。
23/09/21 16:45:06.36 uvQDdF6k0.net
再エンコせずにって聞かないと

246:名無しさん@お腹いっぱい。
23/09/21 17:25:56.44 Nx/q/nof0.net
一旦rawのh264で取り出してmp4boxなんかでfps指定してmuxするのが安全かと
FFmpegで無劣化のfps変換試したけどあんまり上手くいかなかったから信用してない

247:名無しさん@お腹いっぱい。
23/09/21 23:41:49.39 OUfNzmmc0.net
>>244
-c:v copy入れなきゃそうなる

248:名無しさん@お腹いっぱい。
23/09/21 23:51:16.81 ojH1OzSE0.net
5.1chも -c:a copyで器用に仕上げてくれたら楽できんのに

249:名無しさん@お腹いっぱい。
23/09/22 07:37:39.51 jNpMm3UU0.net
>>247
vfとcopyは併用できないような

250:名無しさん@お腹いっぱい。
23/09/27 07:22:48.58 TN/ONX0F0.net
Google colabでも使えるAI系の超スロー動画の補完プログラムを使って30fps動画を120fpsにしてから再生速度を4分の1に落とすみたいなこと何度かやった。
バックでばんばん突かれておっぱいが暴れるシーンとかすごいえっちな感じになる。

251:名無しさん@お腹いっぱい。
23/09/27 09:42:40.25 KId/6ZqM0.net
高速度撮影エロいのに作品殆ど無いんだよな

252:名無しさん@お腹いっぱい。
23/09/28 02:11:10.56 0NuwhNhg0.net
すっごい初歩的な質問なんだけど”-i”で見る動画の情報でインターレースがかかってるか解除されてるかを
判別するのに見るところってどこなんでしょ?

253:名無しさん@お腹いっぱい。
23/09/28 08:32:06.20 Q04JLix+0.net
フラグじゃないの

254:名無しさん@お腹いっぱい。
23/09/28 16:37:33.93 GWPxIIwL0.net
フィールドオーダーの欄がtop firstか、bottom firstか、top coded first (swapped)か、bottom coded first (swapped)になってればインターレースだね
フィールドオーダはピクセルフォーマット、レンジ、カラースペース(color_space_name,color_primaries_name,color_transfer_name)の後ろにある
たとえばインターレースだと、こういう表示になる
Input #0, mpeg, from 'インターレース.VOB':
Duration: 00:15:19.39, start: 0.280633, bitrate: 9343 kb/s
Stream #0:0[0x1bf]: Data: dvd_nav_packet
Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top first), 720x480 [SAR 8:9 DAR 4:3], 9000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn
Side data:
cpb: bitrate max/min/avg: 9000000/0/0 buffer size: 1835008 vbv_delay: N/A
Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
プログレッシブはこんなかんじ
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'プログレッシブ.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2021-09-02T08:54:09.000000Z
Duration: 00:01:35.47, start: 0.000000, bitrate: 12287 kb/s
Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080, 11964 kb/s, 30 fps, 30 tbr, 30k tbn (default)
Metadata:
creation_time : 2021-09-02T08:54:09.000000Z
handler_name : ?Mainconcept Video Media Handler
vendor_id : [0][0][0][0]
encoder : AVC Coding
Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default)
Metadata:
creation_time : 2021-09-02T08:54:09.000000Z
handler_name : #Mainconcept MP4 Sound Media Handler
vendor_id : [0][0][0][0]

255:名無しさん@お腹いっぱい。
23/09/28 17:56:50.98 0NuwhNhg0.net
>>254
ありがとうございます!
なるほどそこに表示されるのか

256:名無しさん@お腹いっぱい。
23/09/29 22:17:06.91 v8IjDtmr0.net
フィルタで具体的に調べるならidet, fieldmatchフィルタがある

257:名無しさん@お腹いっぱい。
23/10/08 20:40:09.00 C6CaeYYl0.net
たまに「presetは動画の品質には影響しない。影響するのはファイルサイズのみ」的な事が書かれてるサイトを見かけるのですがこれ本当ですか?
そんなわけないと思いつつコーデックによっては違うのでしょうか

258:名無しさん@お腹いっぱい。
23/10/11 13:00:06.17 8Qjx0hAv0.net
動き探索の精度も落とすことがあるからフレーム内の品質がちゃんと変わるよ

259:名無しさん@お腹いっぱい。
23/10/14 01:33:14.72 u1+76yrr0.net
影響なきゃなんでサイズ変わるのよな

260:名無しさん@お腹いっぱい。
23/10/16 09:54:51.57 Wb0gkuWM0.net
疑ってはなりません
疑いは信仰心の妨げです

261:名無しさん@お腹いっぱい。
23/11/11 02:37:20.39 1malZXOT0.net
100個の動画をクロスフェードで繋ぐときのベストプラクティスってありますか?
無難に2個繋いで出力
それに1個を繋いで出力
これを99回繰り返すしかないのかなって思ってます

262:名無しさん@お腹いっぱい。
23/11/11 12:31:07.83 4sqiPefd0.net
え、人力でやろうとしている?

263:名無しさん@お腹いっぱい。
23/11/11 13:49:13.41 awGmv+Y+0.net
URLリンク(forum.videohelp.com)
このページにも記載されているのですが、
無圧縮のAVI動画を生成して、
動画プレイヤーで再生すると、
MPCやImageJなどは正常に表示できるのですが、
Gomやaviutlなどは上下逆さに表示されてしまいます。
全てのプレイヤーにおいて、
正常に表示されるようにしたいのですが、
そのようなオプションはございますでしょうか?

264:名無しさん@お腹いっぱい。
23/11/11 15:16:01.17 C1doljme0.net
GomとAviUtlって事はデコーダーのせい
昔からある解決できない問題

265:名無しさん@お腹いっぱい。
23/11/11 16:00:37.12 KXufywG30.net
同じデコーダーなりレンダラーを使えばおなじになるんじゃないの?

266:名無しさん@お腹いっぱい。
23/11/11 20:27:34.41 awGmv+Y+0.net
>>264
ありがとうございます。
これって無圧縮動画に関してのみバグがあり
圧縮された動画に関しては問題なしという意味で合っていますでしょうか?

267:名無しさん@お腹いっぱい。
23/11/11 22:03:00.59 PXfY+gek0.net
FFmpeg 6.1
URLリンク(twitter.com)
(deleted an unsolicited ad)

268:名無しさん@お腹いっぱい。
23/11/11 22:04:06.10 PXfY+gek0.net
なぜか不要なtwitterがはいってしまった

269:名無しさん@お腹いっぱい。
23/11/11 22:41:11.88 OT8sEUiy0.net
ツイッターの投稿リンク貼ると自動的に入るメッセージで5ちゃんねるの仕様

270:名無しさん@お腹いっぱい。
23/11/11 23:10:43.65 4sqiPefd0.net
うちでは削除して表示されるけど

271:名無しさん@お腹いっぱい。
23/11/12 23:19:05.25 eodsEG4Y0.net
専ブラと動作が違うんじゃないか

272:名無しさん@お腹いっぱい。
23/11/12 23:34:35.40 eodsEG4Y0.net
>>264だけだとわからなかったけどAviUtlの問題なんだねこれ
AVIに詰める動画が非圧縮か圧縮かでデータの読み込む順番が違うらしい、AviUtlは同じように扱って画像の上下がひっくり返ると
URLリンク(learn.microsoft.com)
GomとAviUtlが間違ってる、知らんかった>>266はあってるんじゃないか

273:名無しさん@お腹いっぱい。
23/11/13 07:12:57.21 hbAiU7tp0.net
勉強になるスレやわ。

274:名無しさん@お腹いっぱい。
23/11/17 13:09:33.00 m7ozYYfR0.net
ffmpeg使った簡単な動画編集用の
GUIフロントエンドがあったら一定の需要あると思うんだけど
もしかして既に存在してる?

275:名無しさん@お腹いっぱい。
23/11/17 13:49:15.91 DXxL7LL70.net
LosslessCutとかVidCutterがそれにあたると思う

276:名無しさん@お腹いっぱい。
23/11/17 19:07:48.53 vS8SiRsf0.net
LinuxならWinFFかな

277:名無しさん@お腹いっぱい。
23/11/17 19:52:04.27 4QxJnMWo0.net
GOP単位での編集で再エンコード無ししかやりたくないから、avidemuxで足りてる

字幕を含んだtsを編集して、字幕抽出できるようなツール知らない?

278:名無しさん@お腹いっぱい。
23/11/19 00:14:13.52 OY5K2bMo0.net
ffmpegって、インプットの上限いくつなんですか?

279:名無しさん@お腹いっぱい。
23/11/19 09:03:57.74 HH13clBd0.net
普通に考えるとそんなもん無い
リソース側の限界まで増やせる筈

280:名無しさん@お腹いっぱい。
23/11/19 16:52:11.64 QmNxOuOE0.net
動画に半透明の帯を重ねてそこに文字をテロップみたいに表示したいんですが、そんなことできますでしょう?

281:名無しさん@お腹いっぱい。
23/11/19 17:15:16.11 a+Ig2BBI0.net
「ffmpeg 半透明」でGoogle検索してみつかる方法はダメ?

282:名無しさん@お腹いっぱい。
23/11/20 06:59:52.63 v76/U6NU0.net
ありがとうございます。
できました!

283:名無しさん@お腹いっぱい。
23/11/23 03:13:38.92 QBuJ5hYe0.net
まったく同じ内容をfilter_complexに記述すると上手く行くのに、filter_complex_scriptで別ファイルに書くとエラーを吐く
なにかルール違うんですかね?

284:名無しさん@お腹いっぱい。
23/11/23 08:36:31.98 wJkYm+IG0.net
どんなエラー

285:名無しさん@お腹いっぱい。
23/11/23 10:28:44.94 0nDFfT/u0.net
原因わかりました
ファイルの文字コードがBOM付になってたのが原因でした
ありがとうございました

286:名無しさん@お腹いっぱい。
23/11/23 12:02:48.28 d50Y9VoO0.net
>>285
どういたしまして

287:名無しさん@お腹いっぱい。
23/11/23 12:05:00.49 wJkYm+IG0.net
報酬はいつもの口座に

288:名無しさん@お腹いっぱい。
23/11/23 13:03:35.67 A88cmnK10.net
10イラン・リヤルになります

289:名無しさん@お腹いっぱい。
23/11/23 16:32:21.60 FQJI0Qn00.net
age

290:名無しさん@お腹いっぱい。
23/11/24 18:15:02.86 vo8xiADU0.net
前スレの601と同じ問題が発生してるんですけどこれはffmpegのバグなんですか?
0601名無しさん@お腹いっぱい。
2022/07/11(月) 23:41:20.01ID:w/B8fgoq0
CFRのmp4をconcatで結合すると何故かVFRになるんですが
CFRのまま結合する方法ってありますか?

291:名無しさん@お腹いっぱい。
23/11/24 18:37:21.08 7CrWFgYN0.net
結局判定ソフトのバグじゃなかったっけ

292:名無しさん@お腹いっぱい。
23/11/24 21:58:19.42 bJ7A5NPc0.net
このツール面白いね
大量の動画を加工したりするとメモリがすぐ100%になるんだけど、そんなもん?
32GBないときついんかな

293:名無しさん@お腹いっぱい。
23/11/24 22:14:00.84 QiUK+rku0.net
concatのときにsettsビットストリームフィルタを使って任意のフレームに調整してみては

294:名無しさん@お腹いっぱい。
23/11/24 23:28:22.68 I4ZPCAaJ0.net
>>292
実行する内容によるかもだけど俺は16GBで同時にyoutube を再生させるだけなら固まったりしないよ

295:名無しさん@お腹いっぱい。
23/11/24 23:33:03.05 xBq9VLa30.net
自分は8GBだけど実行中リソースメータ見てもメモリそんなに使ってないよ

296:名無しさん@お腹いっぱい。
23/11/24 23:40:30.42 JkaheaID0.net
やってることは30秒くらいの20の動画をクロスフェードで結合して、オーバーレイで画像乗っけてそこに文字を出力してる
フレームレートとか弄ってるオプションないんだけどね

297:名無しさん@お腹いっぱい。
23/11/25 07:20:55.26 19KpjTjX0.net
>>292
gpu支援使え

298:名無しさん@お腹いっぱい。
23/11/25 08:25:35.11 ZWIb2K860.net
GTX1660中古で10000円ちょっと
Bフレームが使える一番安いあたり
これをお前のPCに取り付けろ
エンコード速度は数倍に跳ね上がる

299:名無しさん@お腹いっぱい。
23/11/25 08:40:34.41 zRzjYqWz0.net
10年前に買ったPCだけど、GTX770載ってるからGPUエンコード試してみる

300:名無しさん@お腹いっぱい。
23/11/25 14:42:34.17 Q8Mc4Ydp0.net
GTX770って10年前のGPUだぞ
NVENC対応だがH.264のBフレすら怪しい

301:名無しさん@お腹いっぱい。
23/11/26 14:55:50.11 Bp+HiGQY0.net
GPU使うようにしてみても、メモリはすぐ16GB使われてしまうわ
買い替え時なのか…

302:名無しさん@お腹いっぱい。
23/11/26 18:11:35.24 fjlbRDn90.net
ffmpeg-windows-build-helpersだとauto.confの問題でmpg123がUbuntu Focal(20.04)以下じゃないとビルドできないのね
情報すくな!fdk-aac人気無いのね

303:名無しさん@お腹いっぱい。
23/11/26 18:35:22.78 j6PdVfq60.net
自分でaacにエンコードしないしな
元からaacならそのままaacで残す
何か不可逆なでかいファイルだったらopusにする

304:名無しさん@お腹いっぱい。
23/11/26 23:46:25.09 VZ+Isdxa0.net
ハードエンコードってグラボの性能でノイズの入り方変わる?
時間だけ?

305:名無しさん@お腹いっぱい。
23/11/26 23:49:00.77 j6PdVfq60.net
グラボの安定性による
なるべく水平に保ち、振動を与えず、電圧の変動が少ない時間帯を狙ってエンコードする

306:名無しさん@お腹いっぱい。
23/11/27 12:22:17.73 GS6rB8xb0.net
>>305
これマジ?
GPU自体の性能は関係ないの?

307:名無しさん@お腹いっぱい。
23/11/27 20:05:06.47 /RmWL3jd0.net
GDDRビデオメモリの品質とか特性は影響ありそう

308:名無しさん@お腹いっぱい。
23/11/27 20:11:28.19 Q4yWCUkc0.net
ワロタ

309:名無しさん@お腹いっぱい。
23/11/28 11:12:08.95 sTSrHeP70.net
GTX770だけど、GPUエンコードにしたらブロックノイズ凄かったから、結局通常のエンコードに戻したわ

310:名無しさん@お腹いっぱい。
23/11/28 13:21:52.83 Vtgd5lQg0.net
>302
windows11, WSL2, Ubuntu22.04.3 だけど、普通に --enable-libfdk-aac 付いてるよ。

311:名無しさん@お腹いっぱい。
23/11/28 13:52:47.48 6zKUlvFx0.net
>>309
だから、中古でいいからGTX1660買えよ。
恐ろしく速く綺麗になるから。GTX770なんて今や電気代食うだけのゴミだ。

312:名無しさん@お腹いっぱい。
23/11/28 16:20:17.07 VamztRax0.net
同意
NVEncでAV1不要なら中古でGTX1660買った方がいい

313:名無しさん@お腹いっぱい。
23/11/28 17:11:01.76 PIBjhZAo0.net
せっかくなら3060ti or12GBだ

314:名無しさん@お腹いっぱい。
23/11/28 17:59:48.47 VB99PVWh0.net
GT710にはNVENCがあるのに上位のGT1030には無いという罠

315:名無しさん@お腹いっぱい。
23/11/28 19:06:38.31 eBym+m7A0.net
AIイラスト(Stable Diffusion)もやりたいという方は3060ti 12gb

316:名無しさん@お腹いっぱい。
23/11/28 20:59:49.26 vYu144MH0.net
あれは自分でやらんでも他の人が死ぬほどやってくれてる

317:名無しさん@お腹いっぱい。
23/11/28 22:56:52.49 Zhm0D/GM0.net
>>310
ありがとううっかりUbuntu23に上げちゃったからわけわかめでダウングレードしまくった

22.04 LTS(Jammy Jellyfish)はmpg123コンパイル可ってことね

318:名無しさん@お腹いっぱい。
23/11/30 13:16:33.77 TUn0JpIM0.net
FFmpeg Bug TrackerでElon Muskという名前で活動してる彼って何者なんだ?
チケットを切るとシュババババと現れて指摘したり、サクッと修正したり、強面で有能な謎の人物って印象なんだけど…
ハンドルがハンドルだけに検索性がないし…主要貢献者の誰かなのか…?

319:名無しさん@お腹いっぱい。
23/11/30 16:14:11.81 thVr5Ce50.net
本人なんじゃね。
彼は日本のアニメ大好きだろ。

320:名無しさん@お腹いっぱい。
23/11/30 23:25:20.51 O0cF2eif0.net
ローカルのm3u8読み込めない!と思ったらBOM付きUTF8が原因でした

321:名無しさん@お腹いっぱい。
23/12/01 08:52:07.10 cvlboUU80.net
ローカルに保存する時にBOM付けたの?

322:名無しさん@お腹いっぱい。
23/12/01 09:28:19.62 bm9XcSia0.net
少し前までメモ帳が自動付加だったね

323:名無しさん@お腹いっぱい。
23/12/02 00:06:25.60 RNgAc/tp0.net
>>321
powershellのファイル作成のutf8がbom付きだったのでそれが原因でした

324:名無しさん@お腹いっぱい。
23/12/02 08:14:18.50 KfG0QS9+0.net
ffmpegに名前付きパイプで動画と音声を流し込んでmp4を作成してるんですが動画によって途中で止まってしまいます
止まるのは同じ動画の同じ場所なのでたまたまではない感じなんですが何か分かる人いませんか?

325:名無しさん@お腹いっぱい。
23/12/02 09:39:00.70 KfG0QS9+0.net
ちなみにとまってしまうのは送信側ですと
.netのNamedPipeServerStreamの
WriteAsyncです

326:名無しさん@お腹いっぱい。
23/12/02 11:16:16.56 KfG0QS9+0.net
すみません。自己解決しました。

327:名無しさん@お腹いっぱい。
23/12/02 22:57:41.71 nOw5FHR50.net
どうして途中で止まってたの?

328:名無しさん@お腹いっぱい。
23/12/02 23:03:35.52 cot0Kg9G0.net
GTX1660借りてきて入れ替えてエンコードしても結局このエラーでたわ
32GBにするしかないのか…
Error submitting a packet to the muxer Too many packets buffered for output stream 0:1.
Error while filtering: Cannot allocate memory
Failed to inject frame into filter network: Cannot allocate memory

329:名無しさん@お腹いっぱい。
23/12/02 23:05:10.46 nOw5FHR50.net
>>318
詮索や攻撃を避けるためのユーザー名だろう。私怨を招きがちな役回りだからね。

330:名無しさん@お腹いっぱい。
23/12/10 17:42:15.35 bqvuhZIh0.net
今mpg123_svnが暴走しててコンパイルできないよ(Ubuntu20以下,22ははなから無理)

331:名無しさん@お腹いっぱい。
23/12/12 13:40:42.67 vztV7E/10.net
コンプかけるのにsox使ってるけど、ファイル名に'ソ'とか入ってるとエラーになる
他にいいコンプツール無いかな

332:名無しさん@お腹いっぱい。
23/12/12 13:45:18.47 iaKZAtMY0.net
>>331
「ソ」は「\」を含むからだな

333:名無しさん@お腹いっぱい。
23/12/12 22:59:55.14 NFmnNPcr0.net
ソ問題まだ終わらないんだな・・・

334:名無しさん@お腹いっぱい。
23/12/12 23:13:38.12 2JLrnoWx0.net
S_JISある限り終わらんさ

335:名無しさん@お腹いっぱい。
23/12/13 21:28:04.85 2d5KKCkC0.net
C言語以外でも問題でるんか?

336:名無しさん@お腹いっぱい。
23/12/13 21:54:13.56 K6LvpdD40.net
S言語

337:名無しさん@お腹いっぱい。
23/12/14 08:25:50.46 T1aT2r9f0.net
0x5cに特別な意味を持たせてる環境が絶滅しない限り問題は続くだろ
Shift-JIS策定の時点で誰も気付かなかったのか、それとも2バイト目に使える枠がもう無くてどうしようもなかったんだろうか

338:名無しさん@お腹いっぱい。
23/12/14 08:32:02.81 1XAfxldf0.net
EUCだと2~3バイトなのでそうゆうことなんでしょう

339:名無しさん@お腹いっぱい。
23/12/25 09:30:11.77 QDGZO90m0.net
某動画ファイルをm3u8から落としているのですが、tsファイルの一部がダウンロードエラーになった場合
リトライせずにスキップしてしまいます。
コマンドは下のような感じになっていますが、セグメントのダウンロードをリトライする方法はありますか?
ffmpeg \
-http_persistent 1 -http_multiple 0 -readrate 2.0 -timeout 60000000 \
-reconnect_on_http_error 1 \
-headers 'Referer: URLリンク(hoge)'$'\r\n'$'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36'$'\r\n' \
-i URLリンク(hoge.m3u8) \
-vcodec copy \
-acodec copy \
"//hoge.mp4"

340:名無しさん@お腹いっぱい。
23/12/25 23:19:43.06 2GyJOsif0.net
ffmpegをダウンロードにあんまり使わないけど、エラーにならないところには使うこともあるな
ダウンロード用のツールは当たり前のようにリトライする

341:名無しさん@お腹いっぱい。
23/12/26 00:03:02.84 kiD6fKsl0.net
>>339
ffmpegってセグメントのリトライやセグメントが取得できなかったらそこで終了といったような機能はないんじゃないの?
ffmpegを使うダウンロードツールはツールでセグメントの取得処理(リトライ含む)をしてからffmpegに送ってるんじゃないの?

342:名無しさん@お腹いっぱい。
23/12/26 17:53:38.26 sDNOy5Xd0.net
ffmpeg
コマンドとかで自動でアップデートできないのかね?
めんどくさい

343:名無しさん@お腹いっぱい。
23/12/27 14:23:35.02 ybzm5+c50.net
>>342
自分でビルドすればコマンド1つで済むぞい

344:名無しさん@お腹いっぱい。
23/12/27 19:59:59.49 wOWpjeB10.net
これからffmpegビルドする、くらいの環境で
コマンド1発で済んだらすごい事だわな

345:名無しさん@お腹いっぱい。
23/12/27 20:03:35.73 j3EvZxr20.net
本体だけだったらconfigureとmake程度として、外部ライブラリ含めたらとんでもないことに

346:名無しさん@お腹いっぱい。
23/12/27 20:17:12.28 mVMpXx7K0.net
windowsならchocolatey辺りで拾ってくればupgradeも管理者で
choco upgrade ffmpeg
するだけいいんじゃね
自分は使ってないので期待するライブラリが含まれているか知らんけど

347:341
23/12/29 20:23:29.30 jGbJ6eXA0.net
>>346
あー
Chocolateyいけそうですね

ありがとう

348:341
23/12/29 20:25:05.85 jGbJ6eXA0.net
>>347
あと、
いろんなソフトがffmpegを使ってて、すごいffmpegが重複する…

パスを指定できるソフトはいいが…

349:名無しさん@お腹いっぱい。
23/12/29 22:01:12.59 4TIeMTy20.net
ええ加減シンボリックリンク使いなさい

350:名無しさん@お腹いっぱい。
23/12/29 22:01:35.19 /JO8DN550.net
そんなの一つのffmpegにパス通せばそっち参照してくれんじゃね?
絶対パスで実行ファイルのパス参照してたらどうしようもないけど

351:341
23/12/29 23:02:21.49 jGbJ6eXA0.net
>>349
アップデートされたら、元に戻るでしょ

352:341
23/12/29 23:02:47.54 jGbJ6eXA0.net
>>350
だから、
指定できないソフトって話。

353:名無しさん@お腹いっぱい。
23/12/29 23:38:41.67 ZDLT1skL0.net
まずはパスの通ったディレクトリに格納
ソフトが要求すればシンボリックリンクを要求されたパスに格納
それでもダメならハードリンクを持ってくる
コピーを置く必要はまったくない

354:名無しさん@お腹いっぱい。
23/12/29 23:45:10.08 ZDLT1skL0.net
インストールでアプリケーションに古いffmpegが上書きされる場合は、リネームなどで退避させる必要があるけど、
バッチファイルなどでインストールスクリプトを作成し、予めffmpegのリンク等をリネームで避けておく方法が簡単
属性を変更禁止にしても一応なんとかなる

355:名無しさん@お腹いっぱい。
23/12/30 08:54:57.96 ZDrPT4xb0.net
総じてどっちが面倒なんだよ、って事にはなるけど
趣味の世界だし好きにやったら
反論じみた反応がうっとおしい感もあるんで、一人でひっそりやって欲しい

356:341
23/12/30 14:23:46.84 uwhRnByi0.net
>>354
返信ありがとう。
まあ、それでいけるかもしれませんね。
ただ、そのリンクを手動更新するか、ffmpeg更新スクリプト、的なのを自作する必要がありますね。

357:名無しさん@お腹いっぱい。
23/12/31 16:46:12.11 m/VOWGpX0.net
今年最後の

358:名無しさん@お腹いっぱい。
24/01/01 06:22:34.39 kTy8S5B70.net
version: 6.1.1 2023-12-31

359:名無しさん@お腹いっぱい。
24/01/01 19:38:30.71 CAmQPYjL0.net
inputを200個くらい指定したコマンドをコマンドプロンプトで実行しようとすると、inputが150超えた辺りで勝手に実行されてしまう
ちなみコマンドはこんな感じ
ffmpeg ^
-i a.mp4 ^
-i a.mp4 ^
-i a.mp4 ^

-i a.mp4 ^
-i a.mp4
inputの上限とかあるんかな

360:名無しさん@お腹いっぱい。
24/01/01 19:44:28.46 UfBWXjNe0.net
引数の文字数上限に達したとか

361:名無しさん@お腹いっぱい。
24/01/01 19:50:11.48 mfF/eD4N0.net
フォー!

362:名無しさん@お腹いっぱい。
24/01/01 21:23:29.45 CAmQPYjL0.net
inputを1つごとに改行して152個目で自動実行されちゃうね
でも、153個目以降を改行しないで152行目に書くと読み込んでくれるので引数の数が原因ではないみたい

363:名無しさん@お腹いっぱい。
24/01/03 20:04:27.38 RryEwxf50.net
動画ファイル再生時に特定の字幕を選択するような設定ってある?
英語音声で日本語字幕srtが自動で選択状態で再生されるようにしたい
ちなみに焼き付けはなしでsrtはコンテナ化はしてもしなくてもどっちでもいい

364:名無しさん@お腹いっぱい。
24/01/03 21:05:03.20 0z3GswBt0.net
音声の言語タグに合わせて字幕を自動で選ぶような設定はないようなきがする

365:名無しさん@お腹いっぱい。
24/01/03 22:34:14.65 RryEwxf50.net
>>364
すまん、補足が適切じゃなかったかも
単純にmp4かmkvを開いたら字幕1が勝手に選ばれてるようなファイルしたい
vlcでファイル開くと動画と音声が1つずつ選ばれてるみたいな状態

366:名無しさん@お腹いっぱい。
24/01/03 23:17:44.70 2xVPHblA0.net
優先ストリーム(V/A/S)の設定はMKVコンテナできるけど、
mkvtoolnixでやってるので、ffmpegでのやり方はわからないな

367:名無しさん@お腹いっぱい。
24/01/03 23:59:53.10 MB1H6/j90.net
>>363
できるよ

368:名無しさん@お腹いっぱい。
24/01/05 19:16:04.07 9tAvWj2W0.net
こんにちはー 質問(1)です
動画ファイルの始まりから13フレームはスキップし以降から最後までを出力する記述はどう書けば良いのでしょう?
以下の解説サイトを参照して
ffmpeg -frames 13 -i input.mp4 -c copy output.mp4
としてもうまく行かず試行錯誤中です。

「ffmpeg で指定時間でカットするまとめ」
> 3. 指定時間までカットし、最後まで出力する
> ffmpeg -ss [duration] -i input.mp4 -c copy output.mp4

「ffmpeg で時間単位やフレーム単位でカットする方法」
> -frames (output,per-stream)
> 指定したフレーム数で出力する。vframes の使用推奨

使用 ffmpeg version: 2023-09-07-git-9c9f48e7f2
動画データは、ドライブレコーダー の30秒割、後部約13フレームのオーバーラップ。
-f concat で連結用に後ろから遡りカットは複雑そうなので
連結用の冒頭を削りたい。

369:名無しさん@お腹いっぱい。
24/01/05 19:21:49.17 9tAvWj2W0.net
質問?(2)です
ffmpeg -i "input.mp4" -vcodec libx264 "output.mp4"
等の場合は、input.mp4 も output.mp4 両方フルパスで指定できますが
-f concat の動画ファイル連結で
ffmpeg -f concat -i "filelist.txt" -c copy "[SaveDir\]output.mp4"
結合したいファイルの名称を羅列するテキストファイル「filelist.txt」と
それに記述するファイル名にはフルパスで指定するとエラーになります。

フルパス指定でも対応できるように ffmpeg 元へ要望みたいなのはドコか出せる場所ありましたっけ?

自作フリーソフト(Windows GUI操作)にffmpeg呼び出し処理機能搭載してるのですが
現状フルパス指定できないので
動画ソースがフォルダ跨いでるとかにも対応できない
動画ソースと同じフォルダ内に「filelist.txt」とbatファイル置かないといけない
ffmpeg 実行文までにbatファイル内記述でc:\Users\[UserName]> から対象ファイル群のフォルダまで移動させなければいけない
他の一時ファイルを作業用tmpフォルダに作ってアプリ終了時にフォルダごと削除して終えるようにしてるが
いろんなフォルダで連結作業をするとゴミファイルが残ってしまう・・・

370:名無しさん@お腹いっぱい。
24/01/05 21:34:52.58 x3XDisN30.net
13フレームはスキップして14フレーム目にキーフレームがないとコピーでは出力できない
filelist.txtに
file 'フルパス'
でいけるはず

371:名無しさん@お腹いっぱい。
24/01/05 22:22:01.35 BPx5PFjF0.net
>>318
アイドルと同じ名前を名乗ったデスノートのLみたいだな
Elonはテスラー総統だけど

372:名無しさん@お腹いっぱい。
24/01/05 22:38:16.07 x3XDisN30.net
あと -safe 0 の追加も忘れずに
ffmpeg -f concat -safe 0 -i "filelist.txt" -c copy "[SaveDir\]output.mp4"

373:名無しさん@お腹いっぱい。
24/01/06 00:33:59.78 taMTbKuI0.net
エンコしないストリームコピーは制約が大きい
まずはエンコして望み通りの位置になるかを確認

なお、指定する位置が先頭辛さ程遠くない場合は、入力より後ろで位置を指定したほうが正確になる

374:367-368
24/01/06 18:13:07.21 aihszQ9r0.net
有用なレスありがとうございます。
-f concat の動画ファイル連結では -safe 0 の追加で
filelist.txtに file 'フルパス' でいけました!
filelist.txtのフルパス化指定もいけました!
ffmpeg -safe 0 -f concat -i "[TempDir\]filelist.txt" -c copy "[SaveDir\]output.mp4"
これで動画ソースフォルダや別ディレクトリから実行できるようになりました!
試行錯誤中の
”始まりから13フレームはスキップし以降から最後までを出力する記述を知りたい”
用のサンプル動画データ。
ドライブレコーダー の30秒割、
後部約13フレームのオーバーラップ。
EDR-21G
F_20190928081913_20190928083013_N.MP4,URLリンク(www.%41xfc.net)
F_20190928081913_20190928083044_N.MP4,URLリンク(www.%41xfc.net)
F_20190928081913_20190928083114_N.MP4,URLリンク(www.%41xfc.net)
F_20190928081913_20190928083144_N.MP4,URLリンク(www.%41xfc.net)
F_20190928081913_20190928083214_N.MP4,URLリンク(www.%41xfc.net)
F_20190928081913_20190928083244_N.MP4,URLリンク(www.%41xfc.net)
後ろ側の遡りカットでもいいですけれど
長さが必ず一緒でない場合もあれば難しくないですか?
↑連結用2つ目 4010723 の場合、28.01fps 00:00:30.487 (30.487sec)なので
14フレーム目=1000/28*14=00.490 から最後までは
FFmpeg -i "[SouceDir\]input.mp4" -ss 0.49 -to 30.487 -c copy "[SaveDir\]output.mp4"
でうまくいくのですが、
今度はファイルごとの最終時間をあいまいにできないジレンマに陥りました。
FFmpeg -i "[SouceDir\]input.mp4" -ss 0.49 -to ファイルの最後 -c copy "[SaveDir\]output.mp4"
-ss 0.49 を -i 前にするとエラーだし (@_@) むぅぅ

375:名無しさん@お腹いっぱい。
24/01/06 18:20:08.56 aihszQ9r0.net
>374 最終行訂正
エラーではなく、スキップせずに最初から全部を出力する

376:名無しさん@お腹いっぱい。
24/01/08 11:33:51.69 LTfT8ydq0.net
こんな感じでいいんじゃない?しらんけど
URLリンク(paste.mozilla.org)

377:367-368
24/01/08 22:48:29.45 iCswzd+M0.net
>>376
ありがとう!確認できました、どうやらいけたようです!
単体ではこうですね
FFmpeg -y -i "[SouceDir\]input.mp4" -ss 0.49 -c copy "[SaveDir\]output.mp4"
環境変数の割り当てでループさせるのまでは・・・まだ理解できてませんが(爆)

378:名無しさん@お腹いっぱい。
24/01/19 23:07:00.22 eLUO6VEs0.net
mkvをmp4に変換したとき bin_data ってstreamができるんだけどこれって何のデータですか?
-0:* では消せないけど有っても無くてもいい物ですかね??

379:名無しさん@お腹いっぱい。
24/01/20 09:42:35.66 uQiWy35+0.net
元のmkvはどんなStream構成なんだよ
ffprobeの結果を晒したら判定してやってもいいぞ

380:名無しさん@お腹いっぱい。
24/01/20 10:32:16.22 +BOjp6c30.net
>>379
もうちょっと自力で調べたらチャプター情報っぽいことがわかりました
消し方もわかりました
ありがとうございます

stream内のmetadataに "handler_name : SubtitleHandler" って出てたから字幕関連のファイルかと思って的外れな調べ方して出て来なかったっぽいです

381:名無しさん@お腹いっぱい。
24/01/26 02:35:10.32 3+8EFH740.net
MP4の最終フレームの表示期間を決定するための情報をご存じの方はいますか?

382:名無しさん@お腹いっぱい。
24/01/26 03:58:26.69 3+8EFH740.net
解決しました、スレ汚し失礼しました

383:名無しさん@お腹いっぱい。
24/01/26 07:43:00.24 4drl8pSY0.net
クロップが難しいな
縦長動画の中央付近を横長に切り取り、左回転した上でアップコンバートかけたいのだけど

384:名無しさん@お腹いっぱい。
24/01/26 09:10:58.07 rUaKZ5h+0.net
うちでは、横長動画から2箇所を切り取り、一方を左右反転して合体させたい

385:名無しさん@お腹いっぱい。
24/01/26 10:10:53.65 +OPiZMwE0.net
回転は再生時にすればいい、いろいろやろうとするから難しい

386:名無しさん@お腹いっぱい。
24/01/26 17:16:14.96 NYTtSFVs0.net
CUIでのクロップというのが辛すぎてhandbreakやaviutilで座標把握したらffmpegに持っていきたいけどそれさえも難しい

387:名無しさん@お腹いっぱい。
24/01/26 18:47:49.91 nSgM9xlU0.net
やりたい処理が動画のクロップ、回転、アップコンバート程度で
動画の点数が1~数個と少ないなら、自分の場合とりあえず
ffmpeg 変換エンジン内蔵のavidemux でトライするよ
それで気に入らなかったり、動画の点数が大量なら CUI で ffmpeg 叩く

388:名無しさん@お腹いっぱい。
24/01/26 19:28:49.05 yHlCMuH/0.net
avidemuxにそんな機能あったっけ

389:名無しさん@お腹いっぱい。
24/01/26 20:30:19.19 nSgM9xlU0.net
ffmpeg の話題から少し外れるけど、あるよ
起動直後だとキーフレーム単位での無劣化切り貼り程度しかできないけど
例えば mp4なら
・映像出力 Mpeg4 AVC(x264)
・音声出力 AAC(lav)
・出力形式 mp4 muxer
を選択すると、フィルター適用や任意のフレーム単位での編集が可能になる
そこでメニュ(映像/フィルター)を選択するとフィルターチェーンが表示されるので
・クロップ(トリミング)
・回転
などをダブルクリックして追加&設定、必要ならフィルターの順番入れ替え・・・という感じ

390:名無しさん@お腹いっぱい。
24/01/26 20:55:54.26 yHlCMuH/0.net
おお、できた
基本無劣化ででの加工にしか使わないけど意外と多機能だな

391:名無しさん@お腹いっぱい。
24/01/26 21:58:56.80 mhjuocLB0.net
ffmpegの拡張GUIみたいなもんだからな

392:名無しさん@お腹いっぱい。
24/01/26 22:00:50.47 mhjuocLB0.net
ffmpegのmp4サポートがダメダメだった頃、
avidemuxでもmp4がまともに扱えなかった


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