20/03/12 20:11:51 zMfu1JZE0.net
>>606
ffmpegに入力しても、適用する効果よしなに扱ってくれるもの?
でなければ参照先の動画ファイル直接叩いた方が良さそうだし
630:名無しさん@お腹いっぱい。
20/03/12 20:19:05 mR2WjpZh0.net
結局スクリプトファイルはコンテナを兼ねててトラックを内蔵してるの?
631:名無しさん@お腹いっぱい。
20/03/12 20:28:40.96 zMfu1JZE0.net
質問者って多分.avsは自作じゃないだろうけど
そもそも.avsで配布してる動画なんて有るんだな……ネット海は広い
632:名無しさん@お腹いっぱい。
20/03/12 20:58:23 hq1Ew8A80.net
ひょっとして最初の質問者がそもそも
中華フォーマットのavsと
編集フォーマットのavsと
判別手段すら理解できないとか混同したまま説明しているとか、そういうわけじゃないよね・・・?
ファイルの容量とか、Mediainfoとか、AviSynthとか、あるし・・・
633:名無しさん@お腹いっぱい。
20/03/12 22:03:27.33 qr4ljfdK0.net
>>593
ということ一般に公開されてるバイナリじゃ非対応の可能性があるのね
ついでに公開元みたら有効になってたからavs読み込ませたら動いたわけか
avspipemod使うより簡単・シンプルだったかもしれない
634:名無しさん@お腹いっぱい。
20/03/17 13:17:34.01 wmy15hy70.net
レス遅れてすみません。連投したせいか、書き込めなくなって代行依頼したのですが、5chが久しぶりで代行場所が違ったようです。
>>605 その通りです。
>>590 言葉足らずでしたが avs ファイルの中身は
mpeg2source("Douga.d2v")
Crop(8, 24, -8, -24)
VobSub("Douga_Eng")
VobSub("Douga_Jpn")
audio = Wavsource("Douga_Eng.wav")
AudioDub(audio)
Trim(300,4251)++Trim(5730,44703)
-------------
こんな感じで、昔どこかのサイトに書いてあったのを見て私が作っています。
元データは DVD で、VOB ファイルを DGIndex で d2v と wav に分離して 字幕は VobSub で抜き出して位置を変えて(このままだと字幕が重なってしまうので)載せています。
全てサイトに書いてあったことで、あまりメジャーなやり方でないらしいことは以前にも 5ch で質問したことがあって、知っていました。
mp4 → mp4 のやり方は載っているのに、*.avs ファイルからのやり方がないので、avs が読み込めないのか、H265 がダメなのか他に何がいけないのか、分かりませんでした。
以前の Win7+変換君 で h264 を作ってから、h265 で再圧縮をかけることも出来たかもですが、どうせ元データがあるんだから、元データから綺麗に変換したかったんです。
拡張子を m4v でなく、mp4 とすることで解決できたので、iPhone への転送も、GoogleDrive 経由でもう一度やったら出来たので、一応解決したと思います。
ありがとうございます。
ffmpeg -y -i 元ファイル.avs -vcodec hevc -preset placebo 完成ファイル.mp4"
で、今はエンコードしてますが、いろいろオプションを変えて試してみて、エンコード時間や、ファイルサイズ、映像等の最適を見つけてから、VOB ファイル削除したいと思います。
質問の仕
635:方がおかしくて申し訳なかったですが、ここで聞いたおかげで無事解決したので、レスくださった方々、ありがとうございました。
636:名無しさん@お腹いっぱい。
20/03/17 13:26:29 Vu+noQXf0.net
>>612
> ffmpeg -y -i 元ファイル.avs -vcodec hevc -preset placebo 完成ファイル.mp4"
-preset placebo は無駄に重いだけのプリセットだから、veryslowかslowerでいいんじゃないかな。
637:名無しさん@お腹いっぱい。
20/03/17 14:19:02.50 78DzOs520.net
>>612
こんな感じに.d2v、2つの.vob、WAVEをffmpegで直接がっちゃんこできないのかな
その方が手っ取り早いけども
URLリンク(okamurax.com)
638:名無しさん@お腹いっぱい。
20/03/17 14:27:59.46 uA2/gOTL0.net
もちろんavsを経由する必要はまったくない
ちょっと勉強が必要だけどね
639:名無しさん@お腹いっぱい。
20/04/02 22:07:57 GKIvFbTZ0.net
3月上旬の変更で、NVDECとNVENCを使ったフルHWトランスコードのコマンドが変更されてるので注意。
一応以前の -hwaccel cuvid -c:v h264_cuvid -i ~ の指定でも動くのだけど警告が表示されるようになってる(はず)。
環境持ってないから試せてはいないし、個人的にはこれをこのまま定着させていいんだろうかという疑念もあるのだけど。
【NVENC/VCE】ハードウェアエンコーダーを語るスレ4【QSV】
スレリンク(avi板:482番)-497
URLリンク(trac.ffmpeg.org)
ところで、ffmpeg.exe -hwaccels で qsv が2回出てくるのはなんでなんだろう?
---
ffmpeg version git-2020-03-30-8d019db
~
Hardware acceleration methods:
cuda
dxva2
qsv
d3d11va
qsv
640:名無しさん@お腹いっぱい。
20/04/03 06:09:29.59 exz5ccR10.net
-c:v hevc_nvenc
だけで困ってないけどな
最新のだと違う?
641:名無しさん@お腹いっぱい。
20/04/03 09:58:11.95 E3s0RC0B0.net
>>617
-c:v hevc_nvenc は、HWエンコーダの呼び出し。
ただ、HWエンコードの性能をフルに引き出そうとする場合、デコード処理がボトルネックになることがある。
一番いいのは、
・デコード処理もHWで行う
・HWデコードした結果をGPUにそのまま置いて、HWエンコーダに渡す
という形にして、デコードからエンコードまで全てをGPU側で行うこと。(ただし入力ソースがHWデコードできる場合のみ)
そのために使うのが -hwaccel で、従来は
ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i h264.mp4 -c:v hevc_nvenc output.mp4
という書き方をしていればよかったんだけど、3月頭の変更で、
ffmpeg.exe -hwaccel cuda -hwaccel_output_format cuda -i h264.mp4 -c:v hevc_nvenc output.mp4
というコマンドが推奨されるようになった。(一応前者のコマンドも動くけど警告が出るようになった)
というのが>>616のリンク先の内容。
特に速度とか求めない場合は別に -c:v hevc_nvenc の指定だけでも別に問題ない。
あとCPUを使うフィルタ処理とかを挟むなら、また別の工夫が必要になる。
そのあたりについてはNVIDIAの解説を読むといい。
NVIDIA FFmpeg Transcoding Guide | NVIDIA Developer Blog
URLリンク(devblogs.nvidia.com)
642:名無しさん@お腹いっぱい。
20/04/03 13:14:31 MJxJVgdS0.net
デコードコマンドに-c:v XXXX_cuvid付けた方が速い気がするんだけど。俺環かな?
4月1日ビルド品。約100fps位差が出る。
ffmpeg.exe -hwaccel cuda -hwaccel_output_format cuda -c:v XXXX_cuvid
643:名無しさん@お腹いっぱい。
20/04/03 20:02:26 ou+7MR/P0.net
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i video.mp4 -an -f null -
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -c:v h264_cuvid -i video.mp4 -an -f null -
特に変化なし。GT1030
644:名無しさん@お腹いっぱい。
20/04/03 20:32:01 exz5ccR10.net
エンコードの方が遥かに重いんだから、デコードがボトルネックに�
645:ヘならんだろ
646:名無しさん@お腹いっぱい。
20/04/03 20:50:19 YWzuD0l90.net
まあ説明も書いたし参考リンクも示したし、その上で君がそう考えるんなら別にそれでいいんじゃないの。
647:名無しさん@お腹いっぱい。
20/04/03 20:55:36 MJxJVgdS0.net
Ryzen7 3800Xと1660Sの組み合わせだと、SWデコードの方が速いですよ。
648:名無しさん@お腹いっぱい。
20/04/03 21:36:24 YWzuD0l90.net
たしかに環境や条件次第というのはあるかもしれない。自分も細かく把握してるわけじゃない。
649:名無しさん@お腹いっぱい。
20/04/03 23:15:06 ieXBOV610.net
HWでリサイズなどのフィルタリングも行えば早いとかそっちでしょ
(早いというかCPUとやり取りするよりシンプルに自己完結する)
650:名無しさん@お腹いっぱい。
20/04/04 00:15:35 heofmNEz0.net
環境とか入力ファイルの解像度等の情報とか具体的なコマンドラインとかも出てる比較があるなら見たいところではある。
651:名無しさん@お腹いっぱい。
20/04/04 00:18:27 FRUSMnjN0.net
すごく初歩的な質問になるんですけど-vfでアンシャープとインターレース解除の2つの処理をする場合
1つの-vfで2つの処理をまとめることはできますか?
652:名無しさん@お腹いっぱい。
20/04/04 01:33:45 RXTyG+060.net
最初に書いてるものから適用されたような
653:名無しさん@お腹いっぱい。
20/04/11 16:51:25 nj5ljxb00.net
>>590
言葉足らずですみません。avs ファイルの中身は
mpeg2source("Douga.d2v")
Crop(8, 24, -8, -24)
LanczosResize(304, 192)
AddBorders(8, 24, 8, 24)
FieldDeinterlace()
VobSub("Douga_Eng")
VobSub("Douga_Jpn")
audio = Wavsource("Douga_Eng.wav")
AudioDub(audio)
Trim(300,4251)++Trim(5730,44703)
--------
こんな感じで、昔どこかのサイトに書いてあったのを見て私が作っています。
元データは DVD で、VOB ファイルを DGIndex で d2v と wav に分離して 字幕は VobSub で抜き出して載せています。
言われたことを忠実にバカの一つ覚えみたいに実行してるだけで Avisynth や ffmpeg の文法は全然理解していません。
動画や音声の仕組み等も全然分かっていません。
以前使ってた Win7+携帯動画変換君 の環境で H264 で mp4 を作ってから H265 で変換しても出来るのかもしれませんが、
せっかく綺麗な元データがあるので、VOB から H265 で綺麗に変換してから、VOB を消したいと思うんです。
654:名無しさん@お腹いっぱい。
20/04/11 17:12:19 1fCgMXm20.net
なにがどうなってる
655:名無しさん@お腹いっぱい。
20/04/11 18:12:24 Hnq5gygW0.net
よくわからんが、もう解決したという話なんだし放っておけばよろしい。
656:名無しさん@お腹いっぱい。
20/04/12 03:25:38.40 x/ikJ5x70.net
>>629
その内容ならいくつか言える事が増えるね
まずVOBファイルの(というかVOBはMPEG-2 PSの別名みたいなもので)中身はおそらく映像がMPEG-2、音声も適当なコーデックで入ってる(これはMPEG-2 PSの規格で決まってる)
字幕は珍しい変わった形
つまりは音声を変換無しにコピー、映像に字幕を焼き付けて変換して任意のコンテナに入れてやれば良い
あなたのやり方はかなり遠回りじゃないかな
以下のやり方は試してないから後は何とかして
-analyzeduration 120M -probesize 120M
-ifo_palette 'VTS_01_0.IFO'
-i "concat:'VTS_01_1.VOB'|'VTS_01_2.VOB'|'VTS_01_1.VOB'|<……ある数だけ>"
-filter_complex '[0:1][0:4]overlay[outVideo]'
-map [outVideo] -codec:v <映像コーデック>
-map 0:2 -codec:a copy
'出力.<コンテナに合わせた拡張子>'
<VOBファイル>/VIDEO_TS/以下に各入力ファイルあるはず
フィルタと-mapのstream指定子で指定するstreamは自分で確認すること:URLリンク(qiita.com)
参考:URLリンク(qiita.com)
657:名無しさん@お腹いっぱい。
20/04/12 11:24:42.73 FL0rVnZh0.net
>>632
>>629は1か月前の>>612とほぼ変わらん内容だし、当人は>>585にもあるように10年動画変換やって何も進歩する気のない人だから
多分そんな試してないコマンドや解説を提供しても・・・いやこれ以上は言わんけども。
658:名無しさん@お腹いっぱい。
20/04/12 11:38:54.43 9tJ3Fm530.net
色々フィルタやらなんやらでエンコ試行するならAVIベタ落とししたほうがいいんじゃねと思ってみたりするのはもう思考が古いのかなと不安になるの図
659:名無しさん@お腹いっぱい。
20/04/12 12:00:08 x/ikJ5x70.net
>>632のconcatプロトコルの2つ目のパイプ直後は'VTS_01_3.VOB'だった
>>633
確かに
まぁ後学にもなると覚え書きに思っとく
660:名無しさん@お腹いっぱい。
20/04/12 12:07:34 x/ikJ5x70.net
>>634
全然問題ないだろうし、むしろそっちが主流だと思う
ただAVIコンテナって他環境の標準規格でもないし、MP4とかMPEG-2システムに格納するのが丸い
あと字幕streamの表示機能が無い環境向けに、映像に焼き付ける需要はかなりあるね
661:名無しさん@お腹いっぱい。
20/04/12 18:12:30.14 x/ikJ5x70.net
連投ごめん、1つ質問頼む
評価式で色々処理したいから、何か修正できる箇所あれば教えてください
-i 入力音声 \
-af "silencedetect=noise=-60dB:duration=0.1,ametadata=mode=print:key=lavfi.silence_start:function=expr:expr='0'" \
-f null \
'pipe:1'
これで評価式が常に0だからログにmetadataは出力されないはずなのに、何故か出力されてしまう
function=equal:value=<てきとーな値>ならログに出力されないし、value=<一致する値>ならログに出力されるからametadata自体はちゃんと動作してるみたい
662:名無しさん@お腹いっぱい。
20/04/12 21:34:31.28 x/ikJ5x70.net
>>637の追記
この後mode=printとfunction=exprとexpr=print(<ここ色々変える>)、で試したけど(a)metadataでの評価式自体が機能してないっぽい
オープンソースと言っても内部処理には明るくないし、どこに報告すれば良いんだろうか
663:名無しさん@お腹いっぱい。
20/04/12 22:21:47.88 qep594pP0.net
URLリンク(trac.ffmpeg.org)
チケット作って報告して
664:名無しさん@お腹いっぱい。
20/04/12 23:35:28.56 x/ikJ5x70.net
>>639
ありがとう
>>375の時の報告と修正履歴あったよなーと探してたんだけど、正しくそれと同じだった
URLリンク(trac.ffmpeg.org)
URLリンク(git.videolan.org)
今度拙い英語で頑張ってみる
665:名無しさん@お腹いっぱい。
20/04/14 20:57:47 Q6hJxpCl0.net
>616
直った
URLリンク(git.videolan.org)
666:名無しさん@お腹いっぱい。
20/04/14 22:03:23 BHzKk81k0.net
>>641
おお、ありがとう
667:名無しさん@お腹いっぱい。
20/04/15 18:45:53 Ji1CGUp20.net
覚え書き:音声の入りと結びの(完全に信号強度が0の)無音切り詰め
-af 'silenceremove=start_periods=1:start_duration=0:start_threshold=0:stop_periods=1:stop_duration=0:stop_threshold=0:detection=peak'
668:名無しさん@お腹いっぱい。
20/04/19 16:05:59 rA1+8IfI0.net
覚え書き:音声のサンプル単位で「1~48000サンプル目」+
669:「48001~96000サンプル目の反復3回」+「96001~144000サンプル目」を結合 end_sampleを省略で入力の始めから、start_sampleを省略で入力の終わりまで -filter_complex '[0:a]atrim=start_sample=0:end_sample=48000[opening]; [0:a]atrim=48000:end_sample=96000,aloop=loop=2:size=2.14748e+009:start=0[3repeats]; [0:a]atrim=start_sample=96000:end_sample=144000[ending]; [opening][3repeats][ending]concat=n=3:v=0:a=1,asetpts=PTS-STARTPTS'
670:名無しさん@お腹いっぱい。
20/04/21 02:10:50 IeUqCPV00.net
今からffmpegをビルドしようと思ってるけど、ビルド方法が多過ぎて、正解はどれなのか分からない・・・
671:名無しさん@お腹いっぱい。
20/04/21 02:20:50 IeUqCPV00.net
msys2とmingw使う方法だけでなく、最近はwsl入れてffmpeg-windows-build-helpers使ってビルドする方法もあるからややこしい
672:名無しさん@お腹いっぱい。
20/04/21 04:30:01.03 qNQ72vIS0.net
どんな用途か知らんけどffmpeg単体で使いたいだけならLinux向けにビルドしてWSLで使ったほうが楽かもね
673:名無しさん@お腹いっぱい。
20/04/21 07:58:38.44 3Q3WudrR0.net
GPLの制約でソース公開してるだけで、ビルドできるとは言ってない
674:名無しさん@お腹いっぱい。
20/04/21 10:20:50 8biuLANL0.net
>>647
fdk-aacを使ってみたいからさ
675:名無しさん@お腹いっぱい。
20/04/21 10:36:15 CdPIDvJw0.net
>>645
自分はこれを使ってビルドしてる。
m-ab-s/media-autobuild_suite:
This Windows Batchscript helps setup a MinGW compiler environment for building ffmpeg and other media tools under Windows.
URLリンク(github.com)
いくつか質問に答えるだけで、ビルド環境も自動で構築してくれるし、関連ライブラリも自動で引っ張ってきてくれる。
必要機能のON/OFFもffmpeg_options.txtに--enable-libfdk-aacなど必要なものを指定しておけばいいだけ。
ついでに必要ならx264やx265などのバイナリもビルドできるし、ビルド環境はAviUtlのL-SMASH Worksのビルドとかにも流用できるし便利。
676:名無しさん@お腹いっぱい。
20/04/21 13:12:33 QTrNIPym0.net
バイナリ拾ったほうが楽
URLリンク(johnvansickle.com)
677:名無しさん@お腹いっぱい。
20/04/21 13:24:35 3Q3WudrR0.net
問題はaac
678:名無しさん@お腹いっぱい。
20/04/21 13:58:46 CdPIDvJw0.net
HEv2を使いたいというなら別だけど、AAC-LCでいいなら今は音に変態的なこだわりでも持たない限り
ビルトインのaacエンコーダでも十分らしいからなぁ・・・
679:名無しさん@お腹いっぱい。
20/04/21 15:27:32 MTpnp3A90.net
aacはサ行音に問題がある
680:名無しさん@お腹いっぱい。
20/04/21 18:04:27 +fACwI410.net
これからはAV1かH.265とOpusの時代だろうし早くAAC使わなくて良いようになってくれれば……
681:名無しさん@お腹いっぱい。
20/04/21 18:23:50 tIKEq/0n0.net
Opusは48kHz以外ネイティブ対応していないので、
今以上に普及するとは思えない
682:名無しさん@お腹いっぱい。
20/04/21 20:18:31 +fACwI410.net
完成品の音声ファイルの周波数に48kHz超えは不要だから、不可逆圧縮のコーデックとしては標準になると思うけどなぁ
制作過程ならより高い周波数・深度の需要あるけど、可逆圧縮/無圧縮で運用するだろうし
URLリンク(qiita.com)
683:名無しさん@お腹いっぱい。
20/04/21 20:41:38 3Q3WudrR0.net
上の話?
44.1kHzが使えなくて不便という話かと
684:名無しさん@お腹いっぱい。
20/04/21 22:22:01.10 +fACwI410.net
>>658
そう
48kHzで表現されるだけだから不便って事も無くない?
エンコーダは一定間隔で標本をだぶらせるんじゃなく、間の波形から変換して音も変わらない
685:訳だし
686:656
20/04/21 22:22:38.53 m51wyj+50.net
うん、そのつもり。
44.1kHzがネイティブで選択できないと、
音楽音源がかなりの割合でサンプリングレートコンバーターのお世話になることに。
687:名無しさん@お腹いっぱい。
20/04/21 22:24:00.57 m51wyj+50.net
一行目は無視しておくれ
688:名無しさん@お腹いっぱい。
20/04/22 01:41:55 2sLGx1xb0.net
なるほどね
でも44.1kHz縛りのないネット系だと可能性は大きそう
配信側がユーザー側のダウンロード前提の利便性を考える必要はないし
689:名無しさん@お腹いっぱい。
20/04/22 11:19:38.61 HqQDbGoZ0.net
>>654
ならディエッサーがいるな
690:名無しさん@お腹いっぱい。
20/04/22 11:30:52.09 Mj4BCT5M0.net
背景にノイズが鳴ってるようなのをAACでエンコードすると、
常にキュルキュルとアーティファクト鳴りまくりの酷いのができる
ノイズの無い理想的な音源でしか使えない
691:名無しさん@お腹いっぱい。
20/04/23 11:03:34 Wa/4MXxP0.net
アスペクト比維持のフィルタは
小数点以下切り捨てでリサイズされるんだけど
切り上げにする方法ってある?
-vf "scale=1280x720:force_original_aspect_ratio=decrease"
692:名無しさん@お腹いっぱい。
20/04/23 16:15:56 cK70omcG0.net
decrease があるなら increase があるのでは?
693:名無しさん@お腹いっぱい。
20/04/23 19:24:01.12 2VmlMtB30.net
>>666
それは内接か外接かの違いで
数値の切り捨て・切り上げとは関係ないです
694:名無しさん@お腹いっぱい。
20/04/23 20:45:31 wcMcCJ7a0.net
size=1280x720:width=if(lt(iw\,ih)\,ow\,ceil(oh*iw/ih)):height=if(lt(ih\,iw)\,oh\,ceil(ow*ih/iw))
駄目なら
width=if(lt(iw\,ih)\,1280\,ceil(720*iw/ih)):height=if(lt(ih\,iw)\,720\,ceil(1280*ih/iw))
695:名無しさん@お腹いっぱい。
20/04/23 21:56:37 GLM0bJRZ0.net
ネットラジオ録ってるけどopusは編集が難しい、ソフトがない
aacならmp3directcutで波形見ながらできるし
696:名無しさん@お腹いっぱい。
20/04/23 22:56:14 wcMcCJ7a0.net
せっかくffmpegの環境あるんなら録る時にflacかWAVみたいな可逆圧縮で保存してそれを編集すれば良いのに
わざわざ非可逆圧縮の音声を編集するのは避けたいし
697:名無しさん@お腹いっぱい。
20/04/23 23:01:04.49 HoH4sRBP0.net
ネットラジオを作ってる人ならそんな編集の仕方は論外だし、
ネットラジオを保存してるならそもそも編集不要
698:名無しさん@お腹いっぱい。
20/04/23 23:23:59 wcMcCJ7a0.net
>>671
よね
保存してる人の編集って多分切り抜きとか音量調整とか指してるのでは
699:669
20/04/24 02:22:19 jf1Rj7I/0.net
>>671
分割とかチャンク欠けとか起きる時があるんでね
マルチにストリームを無変換で録って、無変換でニコイチ修復したりするのよ
wmaもopusもその為の良いソフトがない、一番楽なのがaac,mp3
せっかく圧縮してあるのにWAVに直す意味のほうが分からないです
ちなみに、音量もhe-aacだと変えられないけど、lc(m4a)なら可逆で変えられる
700:名無しさん@お腹いっぱい。
20/04/24 02:44:12 ZRVj/Dp70.net
CM抜くためにロスレス編集というか切り取りはするな
最近は殆どffmpegだけしか使ってないけど
701:名無しさん@お腹いっぱい。
20/04/24 06:49:57 +BsRj4gC0.net
これだけHDD安いんだから、CMを抜いて浮かせたHDD代を時給換算すると悲しくなるぞ
702:名無しさん@お腹いっぱい。
20/04/24 07:02:36 kv1jBeuk0.net
>>668
ありがとう
試してみます
703:名無しさん@お腹いっぱい。
20/04/24 09:57:19.44 1UNcSHXs0.net
opusで配信してるラジオあるんだ?
704:名無しさん@お腹いっぱい。
20/04/24 10:09:14.91 a/OG7Qra0.net
>>675
CM抜くのはHDDの�
705:゚約って。。。 それ以外の理由を考えるだけの余裕はないのかい?
706:名無しさん@お腹いっぱい。
20/04/24 10:14:19.49 +BsRj4gC0.net
opusの配信なんか見たことないけど、権利的にも性能的にも向いてるとは思う
707:名無しさん@お腹いっぱい。
20/04/24 11:19:58.72 OrMpPYFI0.net
>>650
これ、全部入りにしたら時間かかり過ぎ・・・
708:名無しさん@お腹いっぱい。
20/04/24 11:48:00 lzRGYbea0.net
そりゃ全部入りにしたらそうなる
ほとんど使わないんだから取捨選択して
709:名無しさん@お腹いっぱい。
20/04/24 12:02:09.31 UmN+X/vX0.net
>>673
それは配信サービスか受信ソフト側がまずい気が
バッファ取って、一時的に通信滞っても追いかけで受信できるのが今は普通だし
710:680
20/04/24 14:51:18.50 Mhu397KQ0.net
本当は、zeranoe版にfdk-aacを加えた奴をビルドしたいんだよな
でも、build hepler系には頼りたくない・・・
711:名無しさん@お腹いっぱい。
20/04/24 20:29:45 F+lIQEBG0.net
>>683
fdk-aacだけのビルドで音声だけ、zeranoe版で映像だけエンコしたら解決。
712:名無しさん@お腹いっぱい。
20/04/25 00:01:47 QdPLqBLr0.net
ffmpegでwav出力 → qaacでエンコ
それをffmpegで出力した映像とmuxしたら最高
配信で使いたいなら自分で試行錯誤して頑張れとしか・・
713:名無しさん@お腹いっぱい。
20/04/25 00:40:42.41 E0JZMnsV0.net
>>677
FM++
>>682
鯖の問題でどうしようもないと思ってるけど、
ffmpegでhlsやicecast受信用のバッファって変更できるのかしら
714:名無しさん@お腹いっぱい。
20/04/25 16:20:27.37 UxPVGd9s0.net
asfにopus入れてkagamin2で配信する方法もある
WMPしか再生できないけど
715:名無しさん@お腹いっぱい。
20/04/30 02:05:18 wLgwFJe80.net
media-autobuild_suiteで、zeranoe版に近い設定でビルドするにはどうしたらいいの?
設定が多すぎてどうすれば良いか困ってる・・・
URLリンク(github.com)
716:名無しさん@お腹いっぱい。
20/04/30 02:06:43 wLgwFJe80.net
全部入りにすると容量バカ食いするし
717:名無しさん@お腹いっぱい。
20/04/30 05:19:01.92 0B0W4hTj0.net
使うのだけ有効化すればよくね?
718:名無しさん@お腹いっぱい。
20/04/30 09:51:40.78 NjYP8KdH0.net
>>690
zeranoe版で使っているもの+fdkaacを有効にすればいいんだけど、どれを有効にしたらいいかわからなくて・・・
719:名無しさん@お腹いっぱい。
20/04/30 10:09:09 93DNHdju0.net
Readme読んだら何のライブラリ使ってるか書いてるじゃんと思って読んでたけど今のzeranoe版ってlibvmafも有効になってるんだな
720:名無しさん@お腹いっぱい。
20/04/30 10:19:30.85 D/a/7i8l0.net
>>691
ffmpeg.exeを実行したらビルドオプションが書いてあるだろ--enableっての
721:名無しさん@お腹いっぱい。
20/04/30 11:02:16 jXBODyYU0.net
>>692
うお、マジだ。気づいてなかったんで教えてくれて助かった。ありがとう。
調べてみたら
> Rather late, but VMAF has been added to the builds with 20200328-3362330.
VMAF Filter - Page 2 - FFmpeg
URLリンク(ffmpeg.zeranoe.com)
ってことで3月末から追加されてたらしい。
722:名無しさん@お腹いっぱい。
20/04/30 18:25:05.46 wLgwFJe80.net
とりあえず、必要な物だけ選んでビルドしようとしたら、vidstab云々でエラー出て終了・・・
なんてこったい
2時間が無駄になった・・・
723:名無しさん@お腹いっぱい。
20/04/30 19:23:49 Vg21wd8Z0.net
mkvに入ってる字幕を消したくて、vもaもcopyでmp4に変換すると字幕がなくなるなるので、まとめて変換しようかと思うんですが。
これって拡張子変えただけで中身は変わらないので劣化は起きてないですよね?
mkvでもいいんですが、なんでmp4にするかは、汎用性と、ビットレートが出てなかったり実際とは違う小さい値が表示されてるのが気持ち悪いというだけです。
724:名無しさん@お腹いっぱい。
20/04/30 19:32:27 5JALOfei0.net
字幕を消したいはどこに行った
725:名無しさん@お腹いっぱい。
20/04/30 19:55:03 buoK1ERT0.net
俺もそこが気になって数回読みなおしちまったw
726:名無しさん@お腹いっぱい。
20/04/30 19:58:03 Wcmw7TEl0.net
拡張子でもいじって、まぁ、がんばれ!
727:名無しさん@お腹いっぱい。
20/04/30 22:14:46 3iZ5MTR00.net
字幕無視の入力オプション-sn
真偽オプションだから引数は要らない
728:名無しさん@お腹いっぱい。
20/04/30 23:09:47 wLgwFJe80.net
ここ見て思いついたことなんだけど、fdk-aacライブラリで、aacをwavにデコードってできないの?
URLリンク(nw-electric.way-nifty.com)
729:名無しさん@お腹いっぱい。
20/04/30 23:29:47 0i84pJ4z0.net
fdkエンコーダーとaacデコードは別物
730:名無しさん@お腹いっぱい。
20/05/01 00:52:53 WmalfjuP0.net
もしかして、fdk-aacでaacをwavに変換できない?
ソース見たらデコードという言葉があったので、できると思ったんだけどなあ
731:名無しさん@お腹いっぱい。
20/05/01 05:40:01 +CuZZEYi0.net
どういうことだ?
FDK-AACはwavを出力するソフトウェアではないぞ
732:名無しさん@お腹いっぱい。
20/05/01 06:30:26 7BjXl0h20.net
コーデックなんだからできるでしょ
733:名無しさん@お腹いっぱい。
20/05/01 10:07:10.51 R0iHuhWA0.net
草
734:名無しさん@お腹いっぱい。
20/05/01 10:45:09 HRN4fo5Q0.net
新説:デコードに品質がある
735:名無しさん@お腹いっぱい。
20/05/01 10:47:38.52 BvtTjGxW0.net
なんか無茶苦茶だな…
736:名無しさん@お腹いっぱい。
20/05/01 10:53:10.33 7BjXl0h20.net
電源で音が変わるんだからコーデックが変われば当然変わる
737:名無しさん@お腹いっぱい。
20/05/01 11:05:40 HRN4fo5Q0.net
新語:デコーデック
738:名無しさん@お腹いっぱい。
20/05/01 12:37:41 R0iHuhWA0.net
凸凸凸凛!
739:名無しさん@お腹いっぱい。
20/05/03 23:21:13 0ns1VXJr0.net
drawtextを使って、動画の右端に動画時間を表示させたいのですが、
どのようにすれば良いですか?
xやyで文字列の左上の座標を指定できますが、
文字列全体の幅が予め分からないと左上の座標を求めることができません。
あるいは、文字列の右端の座標を指定するようなコマンドはございますでしょうか?
検索して調べてみましたが、
情報は見つかりませんでしたのでどなたか教えてくださいませ
740:712
20/05/03 23:30:06.59 0ns1VXJr0.net
すいません
text_wでうまくいきました。
あと、
秒数を小数部位を表示したいのですが
text='%{{eif\:t\:d}}\.%{{eif\:mod(t*10\,10)\:d}}
のようにして、10倍してから一桁目をとるようなことをする必要がありますか?
もっと簡単にできる方法があればお教えください
741:名無しさん@お腹いっぱい。
20/05/09 18:12:07 j9KY0Gpt0.net
データ速度、総ビットレート、フレーム率、ビットレートなどはそのままで、
フレーム高とフレーム幅だけ変更する方法はありますでしょうか?
742:名無しさん@お腹いっぱい。
20/05/09 19:56:44.60 vFZgniSj0.net
あるわけねーだろ
743:名無しさん@お腹いっぱい。
20/05/09 20:16:25 AriwjvGx0.net
そもそもデータ速度、総ビットレート、ビットレートの違いって何?w
フレーム率とは?w
744:名無しさん@お腹いっぱい。
20/05/09 20:25:16 kUF02N5O0.net
一人ではしゃぐなよ
キチガイ
745:名無しさん@お腹いっぱい。
20/05/09 20:52:01 Jj+aGJiY0.net
エクスプローラーのカラムはフレームレートのことを「フレーム率」と訳してる
746:名無しさん@お腹いっぱい。
20/05/09 20:54:05 6J8tYZTG0.net
要はビットレートとfpsをそのままで
解像度を変更したいってか?
解像度の縮小なら出来なくはないが若干画質下がるよな
解像度の拡大なら内容によってはかなり画質下がるよな
一体どっちをしたいんだ?
どちらにしろ元の画質よりは下がるが気になるかどうかは個人差だけど・・・?
トランスコード後のファイル容量は内容次第なんで判らん
747:名無しさん@お腹いっぱい。
20/05/09 22:35:55 CGP
748:Dm9wo0.net
749:名無しさん@お腹いっぱい。
20/05/10 00:15:46.32 K7/9Ub/00.net
いくつかあるmp4をフレーム高や幅を1080X1920から720X1280に全部揃えたいので
元の画質のまま縮小出来ないかと思いました。
750:名無しさん@お腹いっぱい。
20/05/10 00:33:34 Z5wZ7UCa0.net
かなりのバカみたいだから画質とかわからなそう
751:名無しさん@お腹いっぱい。
20/05/10 00:40:38 8gYxD07w0.net
サイズ変えると同じ(同じってわけじゃないけども)品質の画質を維持するのに必要なビットレートは変わるよ
細かいこと抜かして感覚的な話で行けば1080pの解像度で5Mbps辺りなら720pで2.5Mbpsくらい
いくつか一部分だけ仮エンコードしてみて納得できるビットレート探ってみたら?
752:名無しさん@お腹いっぱい。
20/05/10 01:18:11 egxzFZV90.net
>>721
プレイヤー側で720X1280にするとか?
753:名無しさん@お腹いっぱい。
20/05/10 02:31:44.61 DPG+qu930.net
縮小したらディテールは失われYUV再劣化とかするけど再生環境を限定するって前提なら別にいい・・・のかな?
縮小の都合でノイズは減るかもしれないけどビットレート足りなくて余計きちゃない()になる可能性もあるし
ついでにインターレースバリバリだとオワタ/(^o^)\画質になるし
754:名無しさん@お腹いっぱい。
20/05/10 03:14:10 ZyMknyki0.net
>>721
「元の画質のまま」がいいなら変換しないほうがいいね
それだとどうやっても画質は落ちる
755:713
20/05/10 13:25:31 emY54I1E0.net
どなたか、私にもご回答いただけないでしょうか?
例えば、
動画時間を
4.43 sec
のようなかたちで表示したいのですが、
text='%{{eif\:t\:d}}\.%{{eif\:mod(t*10\,10)\:d}}
のようにするしかないですか?
C#みたいに、.ToString("0.00")みたいな表記はできませんか?
756:名無しさん@お腹いっぱい。
20/05/10 17:29:44 SjCQ5fqs0.net
ffmpegのビルド練習がてらでopenh264ビルドしたんだけど、
x86_64-w64-mingw32-gcc-ar.exe -> x86_64-w64-mingw32-ar.exe
x86_64-w64-mingw32-gcc-nm.exe -> x86_64-w64-mingw32-nm.exe
にリネームしないとエラー出てビルドできなかったんだけど、回避方法ある?
757:名無しさん@お腹いっぱい。
20/05/10 18:01:13.61 Z5wZ7UCa0.net
回避してんじゃん
758:名無しさん@お腹いっぱい。
20/05/10 18:49:24 SjCQ5fqs0.net
ごめん言葉足らずだった
リネーム以外に回避方法あるのっと言いたかった
759:名無しさん@お腹いっぱい。
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つあるパラメータのうち、後ろの二つは時間方向に対するサイズで
前の二つが空間方向に対するサイズなので、前の二つだけは機能してくれても良いと思うのですが・
今やりたいことは、スムージングのパラメータを変えながら、スムージングのかかり具合を調べるために
ピンポイントであるフレームだけを画像として保存したいのですが、
どうすれば良いですか?
最初からスムージングだけ処理していって、
あるフレームだけ保存するようなことはできないでしょうか?