公式サイト
http://ffmpeg.org/
エンコード、ストリーミング配信を高画質高音質で行えるffmpeg。
OSに拘らず対応コーデックが多い。
対応コーデックが多く、多彩なオプションを使用可能。
コマンドラインから使用することができる。
前スレ
ffmpegならこちらへ 6
https://egg.5ch.net/test/read.cgi/software/1629006665/
探検
ffmpegならこちらへ 7
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
2022/08/05(金) 21:05:41.29ID:EVyx8BnW02022/12/04(日) 19:12:20.70ID:fIgRbBjn0
8353
2022/12/05(月) 12:19:39.60ID:E/pfDvK+0 >>53
ブロックノイズまみれになる原因が分かりました。
CPUエンコードと異なり -maxrateが効かないのを知らずに -b:v 指定だけが有効になってしまい、品質が派手に落ちたのが原因でした。
-qmaxで適切な値、例えば『少しくらいの劣化許容』なら -qmax 25 などと指定すれば、おおむね期待通りの結果が得られました。
質問と罵倒だけで無価値なログが残るのを避けるため報告します。
参考:
https://nico-lab.net/installing_amd-vce_with_ffmpeg/#i-2
ブロックノイズまみれになる原因が分かりました。
CPUエンコードと異なり -maxrateが効かないのを知らずに -b:v 指定だけが有効になってしまい、品質が派手に落ちたのが原因でした。
-qmaxで適切な値、例えば『少しくらいの劣化許容』なら -qmax 25 などと指定すれば、おおむね期待通りの結果が得られました。
質問と罵倒だけで無価値なログが残るのを避けるため報告します。
参考:
https://nico-lab.net/installing_amd-vce_with_ffmpeg/#i-2
2022/12/05(月) 12:51:05.65ID:uQn9iJkq0
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
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
2023/01/03(火) 04:54:43.41ID:zIiXdB410
FFmpegで指定できる伝達特性をまとめていて気がついたのですが。
zscaleフィルターsmpte240mのガンマと逆ガンマ補正の計算式が逆に実装されているのではないでしょうか?
実際にFFmpegを使用して映像にフィルタを適用し、試したわけではありません。
zscaleフィルターsmpte240mのガンマと逆ガンマ補正の計算式が逆に実装されているのではないでしょうか?
実際にFFmpegを使用して映像にフィルタを適用し、試したわけではありません。
2023/01/03(火) 05:18:30.99ID:zIiXdB410
ソースコードで言えば、この部分がおそらく間違っているのだろうと思いました。プログラムが読めないので確信はないのですが。
https://github.com/sekrit-twc/zimg/blob/b413cea0a39ee14db2bbb82d5a0805a9337e7a39/src/zimg/colorspace/gamma.cpp#L128-L150
https://github.com/sekrit-twc/zimg/blob/b413cea0a39ee14db2bbb82d5a0805a9337e7a39/src/zimg/colorspace/gamma.cpp#L128-L150
2023/01/03(火) 08:44:49.99ID:Ttl3j4JF0
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
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
2023/01/03(火) 08:48:27.99ID:Ttl3j4JF0
https://www.jstage.jst.go.jp/article/itej1978/45/11/45_11_1342/_pdf
このPDF見ながらソース読んでみたけど、処理自体は正しく書かれてるように思える
あとはこれを使ってる場所が正しくLとVを使ってるかどうかじゃないかなあ
Lを使うべきところでVを使ってるとか、その逆とか
このPDF見ながらソース読んでみたけど、処理自体は正しく書かれてるように思える
あとはこれを使ってる場所が正しくLとVを使ってるかどうかじゃないかなあ
Lを使うべきところでVを使ってるとか、その逆とか
2023/01/05(木) 00:25:07.91ID:7mKKIxKi0
返信ありがとうございます。私もそのPDFを読んでみました。
>このPDF見ながらソース読んでみたけど、処理自体は正しく書かれてるように思える
>あとはこれを使ってる場所が正しくLとVを使ってるかどうかじゃないかなあ
>Lを使うべきところでVを使ってるとか、その逆とか
はい、そう思います。
同じソースコードの330行目を見ると、OETFの引数にVを、EOTFの引数にLを入力していませんか。
もしそうなら、LとVを逆に扱っていないでしょうか?
>このPDF見ながらソース読んでみたけど、処理自体は正しく書かれてるように思える
>あとはこれを使ってる場所が正しくLとVを使ってるかどうかじゃないかなあ
>Lを使うべきところでVを使ってるとか、その逆とか
はい、そう思います。
同じソースコードの330行目を見ると、OETFの引数にVを、EOTFの引数にLを入力していませんか。
もしそうなら、LとVを逆に扱っていないでしょうか?
2023/01/05(木) 00:46:28.28ID:7mKKIxKi0
2023/01/05(木) 10:37:14.14ID:QEuK8P+m0
>>90
330付近は300から始まるブロックだけど、select_transfer_functionって名前の通りでその処理(リニア化、ガンマ化)をするためにどの計算方法を使うかを選んでいる
リニア化はシーン参照(入力参照)なら上カーブになる240m_inverse、そうじゃない(出力参照)なら下カーブになるRec.1886eotfで正解じゃない?
勘違いしてるかな
いや、出力参照でRec.1886を使ってるのが正しいのかと言われると断言できないけど
330付近は300から始まるブロックだけど、select_transfer_functionって名前の通りでその処理(リニア化、ガンマ化)をするためにどの計算方法を使うかを選んでいる
リニア化はシーン参照(入力参照)なら上カーブになる240m_inverse、そうじゃない(出力参照)なら下カーブになるRec.1886eotfで正解じゃない?
勘違いしてるかな
いや、出力参照でRec.1886を使ってるのが正しいのかと言われると断言できないけど
2023/01/05(木) 20:49:46.37ID:7mKKIxKi0
リニア化は人間の視覚特性に合わせて暗部の圧縮をするので下カーブになると思います。
ただ、どうして出力参照でRec.1886 EOTFを適用するんでしょう。
PDFの記述と食い違いがあります。(今気づきましたが、1991年の記事なんですね)
Rec.1886はCRTの模倣なので、再生時の逆ガンマ補正がもしCRTだけ(パススルー)だったら理にかなっています。
ネットで調べてもよくわからないです。
とりあえずいまは式をMarkdownへ書き起こす作業をしています。
ただ、どうして出力参照でRec.1886 EOTFを適用するんでしょう。
PDFの記述と食い違いがあります。(今気づきましたが、1991年の記事なんですね)
Rec.1886はCRTの模倣なので、再生時の逆ガンマ補正がもしCRTだけ(パススルー)だったら理にかなっています。
ネットで調べてもよくわからないです。
とりあえずいまは式をMarkdownへ書き起こす作業をしています。
2023/01/05(木) 22:32:23.12ID:7mKKIxKi0
https://www.desmos.com/calculator/6pe790alex
smpte_240m_inverse_oetfとrec_1886_eotfをプロットしてみました。
https://imgur.com/m4LvLc6
この画像のようにシーン参照のTFと出力参照のTFを組み合わせるのが一般的?なんですかね。
zscaleのRec.709の実装が正しいとすると
シーン参照のTFと出力参照のTFはsmpte_240m_inverse_oetfとrec_1886_eotfだと思います。
うーん。
smpte_240m_inverse_oetfとrec_1886_eotfをプロットしてみました。
https://imgur.com/m4LvLc6
この画像のようにシーン参照のTFと出力参照のTFを組み合わせるのが一般的?なんですかね。
zscaleのRec.709の実装が正しいとすると
シーン参照のTFと出力参照のTFはsmpte_240m_inverse_oetfとrec_1886_eotfだと思います。
うーん。
2023/01/05(木) 22:39:04.19ID:7mKKIxKi0
書き起こした式です。
https://hackmd.io/@ZxGphnYi-5Xv/S1O0xX49j
https://hackmd.io/@ZxGphnYi-5Xv/S1O0xX49j
2023/01/05(木) 23:36:35.76ID:7mKKIxKi0
こちらの画像がより正確かもしれません。
https://imgur.com/4dAy77Y
Scene-referredについて追記した版です。
https://hackmd.io/@ZxGphnYi-5Xv/SJGAX845j
Rec.709も加えました
https://www.geogebra.org/m/cnudez4f
https://imgur.com/4dAy77Y
Scene-referredについて追記した版です。
https://hackmd.io/@ZxGphnYi-5Xv/SJGAX845j
Rec.709も加えました
https://www.geogebra.org/m/cnudez4f
2023/01/05(木) 23:49:13.62ID:7mKKIxKi0
BT470_MとREC_470_BGとLOG_100とLOG_316の式がH.273と違いますね
2023/01/05(木) 23:59:42.83ID:7mKKIxKi0
すみません>>96解決しました。
BT470_MとREC_470_BGは、OETFとinverse OETF、func.to_linearとfunc.to_gammaがそれぞれ逆ですが、結果的に処理は正しく
LOG_100とLOG_316は、式の区間が調整されてますが、計算結果は変わらないようです。
BT470_MとREC_470_BGは、OETFとinverse OETF、func.to_linearとfunc.to_gammaがそれぞれ逆ですが、結果的に処理は正しく
LOG_100とLOG_316は、式の区間が調整されてますが、計算結果は変わらないようです。
2023/01/08(日) 17:49:44.77ID:dgAHe8aX0
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のはずですが…
https://hackmd.io/vaTZN7iBTI-26yxQVd72TQ?view#Rec-ITU-R-BT709-66
コマンドです。
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のはずですが…
https://hackmd.io/vaTZN7iBTI-26yxQVd72TQ?view#Rec-ITU-R-BT709-66
2023/01/08(日) 17:51:08.97ID:dgAHe8aX0
テストで使った画像です。
https://imgur.com/a/NV9r62c
https://imgur.com/a/NV9r62c
2023/01/08(日) 22:59:52.19ID:dgAHe8aX0
2023/01/08(日) 23:02:48.73ID:dgAHe8aX0
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
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
2023/01/08(日) 23:09:47.05ID:dgAHe8aX0
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
では変換に成功しました。
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
では変換に成功しました。
2023/01/13(金) 22:40:17.47ID:TRrhIozd0
書けた!
2023/01/14(土) 19:01:38.04ID:hBwrxSa70
規制解除願う
2023/01/18(水) 20:05:37.97ID:imvRxbLL0
規制された?
2023/01/21(土) 18:03:30.03ID:ctgFreAT0
あなたはこのスレッドにはもう書けません。
2023/01/22(日) 12:25:10.23ID:A/H5B6HI0
マジか
2023/01/22(日) 18:23:44.45ID:XUyiU5Rj0
TEST
2023/01/22(日) 19:42:04.14ID:vglLNyZU0
てすてす
2023/01/25(水) 02:34:56.04ID:YfHvOxpR0
あなたはこのスレッドにはもう書けません。
2023/01/31(火) 15:31:36.35ID:/iJY7FYD0
ソースにチャプターが無い時に、先頭にだけチャプターを付ける、みたいなことはできる?
その後、mkvmergeで結合する時に面倒が無い
その後、mkvmergeで結合する時に面倒が無い
2023/01/31(火) 16:13:56.99ID:CxIQq1JO0
ffprobeなどで調べたらいいんじゃね。チャプター
2023/01/31(火) 19:53:18.75ID:5YX2LrDQ0
先頭にチャプターひとつって、なんかメリットあるの?
プレーヤーの動作も変わらないような
プレーヤーの動作も変わらないような
2023/01/31(火) 21:20:50.86ID:/iJY7FYD0
mkvmergeで各ファイルの先頭にチャプターを付けることもできるけど、
既に付いてるところにさらに付けると壊れるんだよな
だから、動画には全部チャプターが付いているものとして、mkvmergeでは何もしないのが安全
既に付いてるところにさらに付けると壊れるんだよな
だから、動画には全部チャプターが付いているものとして、mkvmergeでは何もしないのが安全
2023/01/31(火) 21:52:24.47ID:5YX2LrDQ0
>>114
壊れるんじゃなくて、別のチャプターセットが作られて、そちらが優先されるんじゃなかったっけ?
壊れるんじゃなくて、別のチャプターセットが作られて、そちらが優先されるんじゃなかったっけ?
2023/01/31(火) 22:15:06.93ID:/iJY7FYD0
チャプター4つとチャプター2つの動画をチャプター生成付きでマージすると、
チャプター8つの動画になって、チャプター6に飛ぼうとすると次のファイルとかになる
チャプター8つの動画になって、チャプター6に飛ぼうとすると次のファイルとかになる
2023/02/04(土) 00:48:05.77ID:frWElaDR0
ffmpeg -i input.ts -c copy -movflags faststart output.mp4
これだけを実行する小さなサイズのものをビルドしたいのですがこの場合
どんな構成オプションを設定すればよいでしょうか?
これだけを実行する小さなサイズのものをビルドしたいのですがこの場合
どんな構成オプションを設定すればよいでしょうか?
2023/02/04(土) 09:23:27.84ID:MS/k36cL0
どこまでdisableすればいいのかな
https://github.com/FFmpeg/FFmpeg/blob/master/configure
https://github.com/FFmpeg/FFmpeg/blob/master/configure
2023/02/04(土) 13:52:00.64ID:CkN0COGi0
ffmpeg-minimal-build-for-rtmp-streaming.md · GitHub
https://gist.github.com/gyk/49dc80c58691a21a1c5f5e16926beaa6
[FFmpeg-user] Minimal ffmpeg build
https://ffmpeg-user.ffmpeg.narkive.com/SaTIORmI/minimal-ffmpeg-build
https://gist.github.com/gyk/49dc80c58691a21a1c5f5e16926beaa6
[FFmpeg-user] Minimal ffmpeg build
https://ffmpeg-user.ffmpeg.narkive.com/SaTIORmI/minimal-ffmpeg-build
2023/02/10(金) 23:25:20.17ID:u9iN2NxJ0
回答ありがとうございました
ちょうどこのページが役立ちました
https://stackoverflow.com/questions/69842795/ffmpeg-custom-build-support-for-converting-ts-to-mp4-files
ちょうどこのページが役立ちました
https://stackoverflow.com/questions/69842795/ffmpeg-custom-build-support-for-converting-ts-to-mp4-files
2023/02/11(土) 07:27:58.24ID:LpXi8wul0
どのくらい小さくなるの?
2023/02/11(土) 19:32:34.21ID:4lwriVd10
102MB -> 3MB くらい
2023/02/11(土) 19:57:33.46ID:LpXi8wul0
贅肉だらけやな
2023/02/14(火) 17:53:47.05ID:dcMiAHGq0
ffmpegのフレーム補完について質問です
20fpsと24fpsとの混合フレームで120fpsの動画をフレーム補完する場合は
そのまま240fpsで補完した方がいいのでしょうか?
それとも一度20or24fpsまで落としてから改めて60fpsにすべきでしょうか?
20fpsと24fpsとの混合フレームで120fpsの動画をフレーム補完する場合は
そのまま240fpsで補完した方がいいのでしょうか?
それとも一度20or24fpsまで落としてから改めて60fpsにすべきでしょうか?
2023/02/21(火) 03:31:01.03ID:oBtwc/Px0
重複フレームがフレーム補完に悪さをするから20or24fpsまで落とそう
20fpsと24fpsとの混合フレームにするときVFRにして、それをフレーム補間の入力にしても解決になる
要は補完元のタイムスタンプが正しければいい
20fpsと24fpsとの混合フレームにするときVFRにして、それをフレーム補間の入力にしても解決になる
要は補完元のタイムスタンプが正しければいい
2023/02/21(火) 16:58:34.30ID:5JxyFhFU0
質問です。
動画のフレーム内の明暗の差を調べたいのですが、どのフィルタを使えばよいのかわかりません。
どんなフィルタを使えばよいかアドバイスいただけませんでしょうか。
動画のフレーム内の明暗の差を調べたいのですが、どのフィルタを使えばよいのかわかりません。
どんなフィルタを使えばよいかアドバイスいただけませんでしょうか。
2023/02/21(火) 20:36:02.55ID:IS7nhkfT0
フレーム内の輝度の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
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
2023/02/22(水) 03:06:14.54ID:rCEnvhou0
>>24
いいやFFmpegでも補正できるぞ
1DLUTを使ってBT.709 OOTFの伝達特性を与えればいい
ffmpeg -i src.jpg -vf lut1d=Rec._ITU-R_BT.709-6_OOTF.cube dst.jpg
.CUBEファイルhttps://pastebin.com/vDwU7u48
式はLUTのコメントに書いといた
いいやFFmpegでも補正できるぞ
1DLUTを使ってBT.709 OOTFの伝達特性を与えればいい
ffmpeg -i src.jpg -vf lut1d=Rec._ITU-R_BT.709-6_OOTF.cube dst.jpg
.CUBEファイルhttps://pastebin.com/vDwU7u48
式はLUTのコメントに書いといた
2023/02/22(水) 17:05:00.58ID:BntjpjgC0
>>125
お答え頂きありがとうございます
お答え頂きありがとうございます
2023/02/28(火) 21:52:39.24ID:ckhz4uUZ0
6.0出たの?
2023/03/01(水) 23:44:50.34ID:j99YvlUD0
出た
2023/03/02(木) 00:25:55.91ID:wXhRC9mg0
複数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"
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"
2023/03/02(木) 07:32:09.56ID:gcz4yp440
単純にinput fileの書式違ってるだけでは?
file 'path/to/file1.ts'
file 'path/to/file2.ts'
file 'path/to/file1.ts'
file 'path/to/file2.ts'
134名無しさん@お腹いっぱい。
2023/03/04(土) 20:52:35.68ID:Pq6Hhyu60 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%
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%
2023/03/04(土) 21:49:30.88ID:dBBqKSJv0
壊れてるのでは
2023/04/14(金) 21:07:01.83ID:UKZjsPgc0
誘導されてきました
ストリーミングを保存する時にファイル名に日付を入れたいんですが
チャットGPTが教えてくれた
ffmpeg -i <ストリームのURL> -c copy "output_$(date +'%Y-%m-%d').mp4"
にしてもエラーが出てしまいます
単なる「output.mp4」ならできるんですが・・・
すみませんがお助けくださいませ
ストリーミングを保存する時にファイル名に日付を入れたいんですが
チャットGPTが教えてくれた
ffmpeg -i <ストリームのURL> -c copy "output_$(date +'%Y-%m-%d').mp4"
にしてもエラーが出てしまいます
単なる「output.mp4」ならできるんですが・・・
すみませんがお助けくださいませ
2023/04/14(金) 21:08:19.71ID:/o3PsJPn0
試してないけど%を%%に置き換えるとか
2023/04/14(金) 21:47:39.04ID:s6sWAvD00
%Y-%m-%dの前後に「'」要らないとか
エラー出力に何か書いてあるのでは?
エラー出力に何か書いてあるのでは?
2023/04/14(金) 21:57:34.79ID:UyiHI4YS0
>>136
その内容をチャットGPTとやらに質問すればいいやん?
そういうオプションはOS(Windows/Mac/Linux etc)によって微妙に違うからちゃんと「〇〇のOS」を付け加えないとだめだぞ
それと具体的なエラーの内容も付け加えないとチャットGPTからダメ出しされるぞ
その内容をチャットGPTとやらに質問すればいいやん?
そういうオプションはOS(Windows/Mac/Linux etc)によって微妙に違うからちゃんと「〇〇のOS」を付け加えないとだめだぞ
それと具体的なエラーの内容も付け加えないとチャットGPTからダメ出しされるぞ
2023/04/14(金) 23:29:53.67ID:D1tYyTmm0
-strftime が要るのでは
141136
2023/04/16(日) 12:07:44.52ID:aNYLWdyh0 結局よくわからなかった
チャットGPTは当てにならないので
ストリーミングを日付込みで保存するやりかた教えてください
チャットGPTは当てにならないので
ストリーミングを日付込みで保存するやりかた教えてください
142136
2023/04/16(日) 12:22:33.65ID:aNYLWdyh0 ごめん整理します
最初から付き合って
ffmpeg -i <ストリームのURL> -c copy <出力ディレクトリ>output.mp3
これで「output.mp3」はうまく保存できるのだけど
このファイル名に日付を加えたいのだけどどうしてもできない
そういうことです
よろしくお願いします
最初から付き合って
ffmpeg -i <ストリームのURL> -c copy <出力ディレクトリ>output.mp3
これで「output.mp3」はうまく保存できるのだけど
このファイル名に日付を加えたいのだけどどうしてもできない
そういうことです
よろしくお願いします
2023/04/16(日) 12:28:27.26ID:d8YVornD0
そのコマンドはどこから実行してるの?
2023/04/16(日) 12:39:56.65ID:dsHNvnjy0
本当に%Yという名前のファイル名にしたいのか日付で置き換えて欲しいのか判らないので、
置き換える時は -strftime オプションを付けることになっている
置き換える時は -strftime オプションを付けることになっている
2023/04/16(日) 12:49:49.47ID:d8YVornD0
環境は絶対に教えないタイプ
2023/04/16(日) 12:58:46.48ID:aNYLWdyh0
>>146
Windows10って書けばいい?
そもそもの知識がないので
わからない事がどうわからないのかがわからないし
自分が知りたい事のために他人の必要な物がよくわからないので
不備あるならご勘弁
Windows10って書けばいい?
そもそもの知識がないので
わからない事がどうわからないのかがわからないし
自分が知りたい事のために他人の必要な物がよくわからないので
不備あるならご勘弁
2023/04/16(日) 12:59:37.49ID:DhfAyrEB0
ffmpegの機能じゃなくてコマンドプロンプト(cmd.exe)やpowershellなどのコンソール側の機能で日付を付ければいいんじゃね
cmdは知らんけどpowershellなら
([datetime]::now.tostring() + "outputname")
でいけると思う(適当w)
cmdは知らんけどpowershellなら
([datetime]::now.tostring() + "outputname")
でいけると思う(適当w)
2023/04/16(日) 13:38:01.78ID:MN6JaOmR0
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> "<出力ディレクトリ>"
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> "<出力ディレクトリ>"
2023/04/16(日) 13:53:51.81ID:rOf8z/QI0
そのコマンドwin環境だとまともに動かない気もするし、そもそもffmpeg関係ない気もする
もしwin環境のコマンドプロンプトで実行するなら取得した日付の「/(スラッシュ)」を置き換える方法で簡単にできるよ(確かめた)
もしwin環境のコマンドプロンプトで実行するなら取得した日付の「/(スラッシュ)」を置き換える方法で簡単にできるよ(確かめた)
2023/04/16(日) 13:59:53.56ID:8FmzgOTk0
こんにちは、こちらは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などお好みで変更できます。
ストリーミングを保存する時にファイル名に日付を入れたいということですね。
コマンドプロンプトから以下のように入力すると、ストリーミングの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などお好みで変更できます。
2023/04/16(日) 14:14:13.98ID:8FmzgOTk0
了解です。時間も加える場合は、以下のように入力してください。
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」となります。
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」となります。
2023/04/16(日) 14:24:55.76ID:8FmzgOTk0
はい、できます。短く表記するには、以下のように入力してください。
ffmpeg -i "URL" -c copy output%date:/=%_%time::=%.ts
「%date:/=%」は日付を「/」で区切らずに連結します。例えば、2023年4月16日なら「20230416」となります。 「%time::=%」は時刻を「:」で区切らずに連結します。例えば、13時57分20秒なら「135720」となります。
ffmpeg -i "URL" -c copy output%date:/=%_%time::=%.ts
「%date:/=%」は日付を「/」で区切らずに連結します。例えば、2023年4月16日なら「20230416」となります。 「%time::=%」は時刻を「:」で区切らずに連結します。例えば、13時57分20秒なら「135720」となります。
2023/04/16(日) 14:53:45.72ID:83FROnyP0
このスレの住人は優しいなぁ!
2023/04/16(日) 17:34:53.78ID:aNYLWdyh0
2023/04/16(日) 18:24:20.27ID:8FmzgOTk0
AIに聞けよw
Windows10のffmpegでストリーミングを保存する時にファイル名に日付を入れたい
「output%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.ts」を短く表記できますか?
Windows10のffmpegでストリーミングを保存する時にファイル名に日付を入れたい
「output%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.ts」を短く表記できますか?
2023/04/17(月) 18:55:58.26ID:bD+3w7wa0
mkv←→mp4とコンテナだけ変えたいんですが
ファイルのタイムスタンプ(作成日時、更新日時)を維持するコマンドってありますか?
ファイルのタイムスタンプ(作成日時、更新日時)を維持するコマンドってありますか?
2023/04/17(月) 19:13:32.90ID:Vot0u2U40
コンテナだけ変えるほうはcopyでいいとして
タイムスタンプはOS側の機能だからffmpeg関係ないのでは
タイムスタンプはOS側の機能だからffmpeg関係ないのでは
2023/04/17(月) 19:20:23.36ID:eG0MhyYT0
そんな機能があっても不思議は無いけど、現状無い
なんでもbatでやらずに、簡単なスクリプトから呼ぶようにすれば、
ファイル名もタイムスタンプも自由自在なのに
なんでもbatでやらずに、簡単なスクリプトから呼ぶようにすれば、
ファイル名もタイムスタンプも自由自在なのに
2023/04/17(月) 20:31:08.62ID:bD+3w7wa0
>>158-159
そうですか、ありがとうございます
コンテナ変換コマンドはこんな感じでしょうか
ffmpeg -i input.mkv -vcodec copy -acodec copy output.mp4
ffmpegすら触り始めたばかりなので、スクリプトは追々勉強していきたいと思います
そうですか、ありがとうございます
コンテナ変換コマンドはこんな感じでしょうか
ffmpeg -i input.mkv -vcodec copy -acodec copy output.mp4
ffmpegすら触り始めたばかりなので、スクリプトは追々勉強していきたいと思います
2023/04/17(月) 20:36:56.38ID:xOaTAEsz0
>>160
動画音声どちらもコピーなら両方書かず-c copyだけでいいよ
動画音声どちらもコピーなら両方書かず-c copyだけでいいよ
2023/04/17(月) 20:46:42.65ID:bD+3w7wa0
>>161
ありがとうございます!
ありがとうございます!
2023/04/17(月) 20:50:18.13ID:eG0MhyYT0
いやいやいや
なるべく省略しない方がいい
直にタイプしてて少しでも早くやりたいなら省略もいいけど、
何度も使うbatやスクリプトを書くなら省略は罠になる
なるべく省略しない方がいい
直にタイプしてて少しでも早くやりたいなら省略もいいけど、
何度も使うbatやスクリプトを書くなら省略は罠になる
2023/04/17(月) 20:54:18.94ID:bD+3w7wa0
なるほど、勉強になります
165名無しさん@お腹いっぱい。
2023/04/19(水) 20:54:58.19ID:DtPsgSYv0 6.0でAV1のHWエンコ対応になったのに、あんまり話題になってないな…
最新の「git master builds」から入れたら、一見ちゃんと出力できてる様に見せかけて、
途中10秒ぐらいだけ音声が無音になってるっていう、鬼畜の様なバグがあったから、みんな気をつけろ!
それも数十ファイルに1個ぐらいで発生してたからわかりずらい。(特定の動きの速いシーンだけで発生(?))
GPUのマルチスレッド対応になったのが悪さしてたんかな…
(途中エラー終了したファイルがあったので、一個一個確認したらたまたま気づいた)
「release builds」の方の6.0に変えたら直ったっぽい。( ´o`)
最新の「git master builds」から入れたら、一見ちゃんと出力できてる様に見せかけて、
途中10秒ぐらいだけ音声が無音になってるっていう、鬼畜の様なバグがあったから、みんな気をつけろ!
それも数十ファイルに1個ぐらいで発生してたからわかりずらい。(特定の動きの速いシーンだけで発生(?))
GPUのマルチスレッド対応になったのが悪さしてたんかな…
(途中エラー終了したファイルがあったので、一個一個確認したらたまたま気づいた)
「release builds」の方の6.0に変えたら直ったっぽい。( ´o`)
2023/04/23(日) 15:57:50.40ID:ftTgy/cA0
右の音が大きくなったり左の音が大きくなったりするステレオ音源(いわゆる立体音響)を良い感じにモノラル音源に変換する方法を教えてください
2023/04/23(日) 17:21:06.61ID:GpimmP6/0
単にモノラルにするなら -ac 1
2023/04/27(木) 22:29:15.44ID:ObpWozPp0
2パスエンコ~ドしてると思ってい~た~ら~
2回エンコ~ドしてるだけで~し~た~
チクショー!!!!!
2回エンコ~ドしてるだけで~し~た~
チクショー!!!!!
2023/04/27(木) 23:45:24.44ID:N3IdiAxX0
その素晴らしいエンコに祝福を
2023/04/28(金) 00:31:16.15ID:AeSLN7Wb0
エンコの神様
2023/05/01(月) 00:02:27.79ID:xRx4Z4k40
>>168
誰もが通る道だ。どんんまいwww
誰もが通る道だ。どんんまいwww
2023/05/01(月) 00:19:31.01ID:Z6tEn1Zp0
いい加減、binにパス通した
2023/05/03(水) 06:29:19.91ID:GqzAL4j+0
AV1のエンコは洒落にならないくらい時間がかかる。
0.1倍速とかそんなもん。使いもんにならん。
0.1倍速とかそんなもん。使いもんにならん。
2023/05/03(水) 07:02:52.07ID:elGn55I40
libaom-av1の話ならav1anやそのGUIフロントエンド使え
分割エンコードしてCPUちゃんと使ってくれるようになるから
分割エンコードしてCPUちゃんと使ってくれるようになるから
2023/05/03(水) 07:16:18.02ID:elGn55I40
ffmpegだけでav1エンコしたいならlibsvtav1のほうがいい
preset 8ぐらいならx265のmediumとそんなにエンコ速度変わらないだろ
preset 8ぐらいならx265のmediumとそんなにエンコ速度変わらないだろ
2023/05/03(水) 07:26:12.59ID:Pq/Ut1kA0
svtは最適化が続けられていてプリセットの内容がちょいちょい変わるので、アプデ時は注意だ
2023/05/27(土) 18:25:36.28ID:vSdpHpKo0
スマホで見る用にDVDの画像ベース字幕焼きエンコしてるんだけど
人名とか日付だったり縦横とか2つ以上混在する場面で一瞬表示されて消えてしまう
プレイヤー側で表示するのは問題なくて焼いた動画にするとおかしくなるからoverlayの仕様なのかな
人名とか日付だったり縦横とか2つ以上混在する場面で一瞬表示されて消えてしまう
プレイヤー側で表示するのは問題なくて焼いた動画にするとおかしくなるからoverlayの仕様なのかな
2023/05/27(土) 20:15:23.58ID:CA2gRduz0
スマホのプレーヤーもソフトサブに対応してると思うけど、それじゃだめなん?
2023/05/27(土) 20:17:42.15ID:CA2gRduz0
字幕の位置をキチンと指定しないと上書きされちゃう仕様だったような
assだと問題なく焼けるんだけどね
assだと問題なく焼けるんだけどね
2023/05/27(土) 21:27:27.58ID:vSdpHpKo0
えぇ位置指定とか初耳
あとプレーヤー側でのも最終的にはそれしかないかなと考えてるけど
文字デカくしてそのぶんの位置調整とかググったら出来るのかどうかがよくわからんかったもんで
ちなみに拡大とちょっと上下位置調整するぐらいはscaleとoverlay=で問題なく出来てる
あとプレーヤー側でのも最終的にはそれしかないかなと考えてるけど
文字デカくしてそのぶんの位置調整とかググったら出来るのかどうかがよくわからんかったもんで
ちなみに拡大とちょっと上下位置調整するぐらいはscaleとoverlay=で問題なく出来てる
2023/06/07(水) 10:53:22.83ID:StYBuiL80
教えて頂きたいのですが、ffmpegでmkvにass字幕を焼き付けると
縦字幕の(―)や(・・・)が横字幕として焼き付いてしまいます。
縦字幕で正常に焼き付けることは可能でしょうか?
縦字幕の(―)や(・・・)が横字幕として焼き付いてしまいます。
縦字幕で正常に焼き付けることは可能でしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「結局どこを走ればいいんですか?自転車は」 26年度から「青切符」導入 弁護士「自覚と認識を」★2 [七波羅探題★]
- 【声優】ラブライブ声優・新田恵海(39)、事務所退所を発表 今後はフリーで活動「声優として歌手として、これからも邁進してまいります」 [Ailuropoda melanoleuca★]
- 【速報】長期金利、一時1.850%に上昇 [蚤の市★]
- 【福井】注射器に入れた自分の体液を背後から女性の服に…27歳会社員の男を3度目の逮捕 [nita★]
- 「中国はメンヘラ」日本企業の本音は「もう生活を壊されるのはゴメンだよ」 ★2 [煮卵★]
- 地方で深刻移動貧困の実態「車のために働いてる」手取り15万円のシンママ月3.2万円が軽自動車維持費★2 [七波羅探題★]
- 高市首相、進撃の巨人のモノマネをする。安倍晋三 [545512288]
- ネトウヨ、「朝敵」を「朝鮮の敵」という意味と勘違いしてしまう [165981677]
- ジョージ😎の男磨きハウス🏡
- 【速報】立花孝志ら3人を書類送検 [115996789]
- 「車のために働いてる」手取り15万円のシングルマザー、月に3.2万円が軽自動車の維持費へ消えていた。地方で移動貧困が深刻に [663766621]
- 高市内閣支持率75%。やっぱりケンモメンって、日本の人じゃない感じなの…? [673057929]
