公式サイト
http://ffmpeg.org/
エンコード、ストリーミング配信を高画質高音質で行えるffmpeg。
OSに拘らず対応コーデックが多い。
対応コーデックが多く、多彩なオプションを使用可能。
コマンドラインから使用することができる。
ffmpegならこちらへ 5
https://egg.5ch.net/test/read.cgi/software/1597315425/
ffmpegならこちらへ 6
■ このスレッドは過去ログ倉庫に格納されています
2021/08/15(日) 14:51:05.12ID:5lnIQtJ80
453名無しさん@お腹いっぱい。
2022/02/25(金) 00:42:12.33ID:hAQavoPM0 >>452
取得したい「ストリーム情報」と壊れた「メタデータ」によって変わるだろうしそこは分かんない
言える事は-probesizeで容量(デフォ5Mバイト)、-max_probe_packetsでパケット数(デフォ2500パケット)、-analyzedurationで秒数(デフォで5Mマイクロ秒=5秒)をそれぞれ指定して
いずれかがの値に達するまで解析するのがデフォの動作って事
取得したい「ストリーム情報」と壊れた「メタデータ」によって変わるだろうしそこは分かんない
言える事は-probesizeで容量(デフォ5Mバイト)、-max_probe_packetsでパケット数(デフォ2500パケット)、-analyzedurationで秒数(デフォで5Mマイクロ秒=5秒)をそれぞれ指定して
いずれかがの値に達するまで解析するのがデフォの動作って事
2022/02/25(金) 02:09:33.26ID:gaZ8jeiE0
>>453
ありがとう。
オプションなしと -analyzedurationで20秒を指定した結果のストリーム情報が全く変わらなくて(開始5秒程度でストリーム数が変わってる動画ファイル)ffprobeの情報は一体どこからどうやって引っ張ってきてるんだろうと思って。
メタデータなしでもストリーム情報が取得できるなら、ファイルぶつぎってやろうかなと。
ありがとう。
オプションなしと -analyzedurationで20秒を指定した結果のストリーム情報が全く変わらなくて(開始5秒程度でストリーム数が変わってる動画ファイル)ffprobeの情報は一体どこからどうやって引っ張ってきてるんだろうと思って。
メタデータなしでもストリーム情報が取得できるなら、ファイルぶつぎってやろうかなと。
2022/02/25(金) 08:59:52.52ID:hAQavoPM0
>>454
ビットレートによっちゃ先に-probesizeの5MBに引っかかって解析終了するけど合わせて変えても同じだった?
途中でストリーム数が変わるって事は何かしらの.tsファイル?
だったらコンテナの構造上ぶった切っても基本的にどっからでも再生できるから切っていいと思うよ
ビットレートによっちゃ先に-probesizeの5MBに引っかかって解析終了するけど合わせて変えても同じだった?
途中でストリーム数が変わるって事は何かしらの.tsファイル?
だったらコンテナの構造上ぶった切っても基本的にどっからでも再生できるから切っていいと思うよ
2022/02/25(金) 09:34:26.44ID:gaZ8jeiE0
>>455
そう、TSファイル。最初の5秒程度に前の番組が入っているから、analyzeduration=20M probesize=1000Mにしてる。
前の番組だけが0:15のストリーム使用してるとして
オプションなし…0:15あり、60秒オプションあり…0:15あり
なんだけど、ファイル半分に分割してみてそれぞれにオプションなしで解析かけると
ファイル1(前側)…0:15あり、ファイル2…0:15なし
みたいになる。ffprobeがコンテナのどの部分を見て解析値を出してるのか色々よく分かってなかいから初めの質問をさせて貰ったんだ。
そう、TSファイル。最初の5秒程度に前の番組が入っているから、analyzeduration=20M probesize=1000Mにしてる。
前の番組だけが0:15のストリーム使用してるとして
オプションなし…0:15あり、60秒オプションあり…0:15あり
なんだけど、ファイル半分に分割してみてそれぞれにオプションなしで解析かけると
ファイル1(前側)…0:15あり、ファイル2…0:15なし
みたいになる。ffprobeがコンテナのどの部分を見て解析値を出してるのか色々よく分かってなかいから初めの質問をさせて貰ったんだ。
2022/02/25(金) 09:44:01.93ID:c95Pch/+0
中華ストリーミングサイトからAV落とすと頭にCM結合されてるんだが簡単にカットする方法ないかな。
pythonで0.5秒刻みで静止画を切り出していって全面真っ黒が1秒続いたら編集点とみなすみたいなことはできそう。
pythonで0.5秒刻みで静止画を切り出していって全面真っ黒が1秒続いたら編集点とみなすみたいなことはできそう。
2022/02/25(金) 15:03:46.72ID:FOz6mECG0
AVくらい買ったら?
高いもんじゃないだろ
高いもんじゃないだろ
2022/02/25(金) 17:31:34.40ID:nQ5fJZnn0
心まで貧乏になるな
460名無しさん@お腹いっぱい。
2022/03/06(日) 01:56:51.12ID:THlbhWAd0 Macでbilibiliの動画ファイルをh264で再エンコードするとカーネルパニック起こすんだけど、上手くいってる人いる?
2022/03/06(日) 02:52:32.64ID:2aYq1LOP0
videotoolbox使ってるとか?
462名無しさん@お腹いっぱい。
2022/03/06(日) 11:16:12.14ID:THlbhWAd02022/03/06(日) 15:43:37.63ID:T6UDG6rP0
オフにするというか-hwaccel videotoolboxだったり-c:v h264_videotoolboxで明示的にvideotoolboxを指定しなかったらデコードはソフトウェアデコードだし
エンコードは指定したエンコーダ(libx264ならx264)が使われるだけじゃ
エンコードは指定したエンコーダ(libx264ならx264)が使われるだけじゃ
2022/03/06(日) 19:42:22.28ID:WLZUrXvB0
そう言えば、Montereyになってからvideotoolboxが使えなくなりましたね。
465名無しさん@お腹いっぱい。
2022/03/07(月) 10:04:11.25ID:sn3JpvJr02022/03/07(月) 19:07:33.34ID:6QvSbGoJ0
俺用メモ:
ffmpegのx264/5は--qpfileが使えない
-x265-params qpfile=qp.txt で指定してもそんなコマンド知らないと言われエンコーダ側でキーフレームを強制できない
なのでffmpeg側の-force_key_framesで指定する
@
-force_key_frames:v hh:mm:ss.mmm で指定する
フレームベースじゃなくタイムベースだけど俺の場合はこっちの方が都合がいい(元々チャプター用にタイムベースでデータを用意してるから)
複数入れるにはコンマ(,)で区切る
例:-force_key_frames:v 00:00:00.000,00:02:32.819,00:04:14.379
A
-force_key_frames:v expr:計算式で指定する
この計算式にはフレームベースが利用可能
"n"が処理中の現在のフレームだから"n"はキーフレームにしたいフレーム数か否かを計算すればいけるっぽいが
俺の頭だとフットーしたから頭いいやつ向け
例:-force_key_frames:v expr:eq(n,一回目にキーフレームにしたいフレーム数),eq(n,2回目にキーフレームにしたいフレーム数)
↑毎フレーム毎に映画一本で20回ぐらい計算するけど大丈夫???分かんない
https://kakashibata.hatenablog.jp/entry/2019/09/08/222720
https://ffmpeg.org/ffmpeg-utils.html#Expression-Evaluation
↑計算式の解説
メモ終わり
ffmpegのx264/5は--qpfileが使えない
-x265-params qpfile=qp.txt で指定してもそんなコマンド知らないと言われエンコーダ側でキーフレームを強制できない
なのでffmpeg側の-force_key_framesで指定する
@
-force_key_frames:v hh:mm:ss.mmm で指定する
フレームベースじゃなくタイムベースだけど俺の場合はこっちの方が都合がいい(元々チャプター用にタイムベースでデータを用意してるから)
複数入れるにはコンマ(,)で区切る
例:-force_key_frames:v 00:00:00.000,00:02:32.819,00:04:14.379
A
-force_key_frames:v expr:計算式で指定する
この計算式にはフレームベースが利用可能
"n"が処理中の現在のフレームだから"n"はキーフレームにしたいフレーム数か否かを計算すればいけるっぽいが
俺の頭だとフットーしたから頭いいやつ向け
例:-force_key_frames:v expr:eq(n,一回目にキーフレームにしたいフレーム数),eq(n,2回目にキーフレームにしたいフレーム数)
↑毎フレーム毎に映画一本で20回ぐらい計算するけど大丈夫???分かんない
https://kakashibata.hatenablog.jp/entry/2019/09/08/222720
https://ffmpeg.org/ffmpeg-utils.html#Expression-Evaluation
↑計算式の解説
メモ終わり
2022/03/07(月) 21:04:39.31ID:6QvSbGoJ0
>>466
やっぱりAは動かなかったわコンマ区切りじゃなくて式一回で表さないとダメみたい俺には無理
やっぱりAは動かなかったわコンマ区切りじゃなくて式一回で表さないとダメみたい俺には無理
2022/03/07(月) 22:52:16.00ID:owEVDzFk0
Aはeq(n,0)+eq(n,30)みたいに+でつなげればいいよ
2022/03/08(火) 01:50:54.11ID:w31Y0/Tg0
2022/03/08(火) 19:58:37.14ID:ZOzRgADt0
いいってことよ。
2022/03/09(水) 18:22:44.97ID:+sRKCPgQ0
https://github.com/FFmpeg/FFmpeg/commit/f497731260d42e920318ca745a8146febb9e055e
because audio was presumed to only consist of keyframes. Yet this assumption is not true for e.g. TrueHD.
これってTrueHDって映像コーデックみたいにキーフレームとそうじゃないフレームがあって自由にカットできないってこと?
because audio was presumed to only consist of keyframes. Yet this assumption is not true for e.g. TrueHD.
これってTrueHDって映像コーデックみたいにキーフレームとそうじゃないフレームがあって自由にカットできないってこと?
472名無しさん@お腹いっぱい。
2022/03/10(木) 12:13:58.46ID:hPuOItIn0 過去スレ見れないので教えてください
ffmpeg の入力ファイルとしてavsファイルを行うためにはどのような設定が必要ですか。
ちなみにffmpegはffmpegの公式サイトからダウンロードした最新版です
もし、個人でビルドする必要があるのであればVisualStudio2022で行いたいので拡張子sln が同梱されてるffmpegございますか
ffmpeg の入力ファイルとしてavsファイルを行うためにはどのような設定が必要ですか。
ちなみにffmpegはffmpegの公式サイトからダウンロードした最新版です
もし、個人でビルドする必要があるのであればVisualStudio2022で行いたいので拡張子sln が同梱されてるffmpegございますか
2022/03/10(木) 13:16:16.26ID:uFB3pPHk0
は?
ちなみにffmpegはffmpegの公式サイトからダウンロードした最新版です
ちなみにffmpegはffmpegの公式サイトからダウンロードした最新版です
2022/03/10(木) 13:33:28.55ID:Nx9lvRXb0
ffmpegを何もオプションをつけずに呼んで--enable-avisynthのフラグが立ってるか確認する
それがあったら普通に-i test.avsで読み込める
多分
それがあったら普通に-i test.avsで読み込める
多分
2022/03/10(木) 14:29:31.00ID:s2GeT3Qn0
分かってるだろうけどあくまで「avsファイルの解釈が出来る」だからAviSynthをインストールしないとダメだぞ
476名無しさん@お腹いっぱい。
2022/03/10(木) 14:51:35.35ID:hPuOItIn0 AviSynthはインストール済みですが—enable-avisynthは見当たりませんでした
2022/03/10(木) 19:28:49.93ID:s2GeT3Qn0
正直AviSynthを使うのにその程度の知識で大丈夫なのって不安がいっぱいだけど
WindowsならGyanDがビルトしてるの使えばいいよ
BtbNのビルドだとLGPL版にはAviSynthが入ってない
Macは知らん
WindowsならGyanDがビルトしてるの使えばいいよ
BtbNのビルドだとLGPL版にはAviSynthが入ってない
Macは知らん
478名無しさん@お腹いっぱい。
2022/03/11(金) 08:01:06.21ID:PYMJ52do02022/03/11(金) 11:28:33.26ID:ZDDhmWAt0
前も見たけどGitHubのリリースページにmaster・5.0・4.4/Windows・Linux/GPL・LGPL/無印(Static)・shared/が機械的に1行でズラっと表示されるBtbNと
説明文まで書いて丁寧にページ作ってるGyanじゃ後者の方が分かりやすそうなのに初心者ほどBtnN選ぶよな…なんでだろう
説明文まで書いて丁寧にページ作ってるGyanじゃ後者の方が分かりやすそうなのに初心者ほどBtnN選ぶよな…なんでだろう
2022/03/11(金) 11:33:06.12ID:ZDDhmWAt0
ごめん分かったわffmpegでググって出てくる日本語ページの大半が何故かBtbNのshared版DLしろって指示してたわ…
2022/03/11(金) 12:26:14.32ID:XEWp23Ha0
あそこはessentials?full?どっちがいいの?ってなるからw
2022/03/11(金) 13:35:20.91ID:m812ysCT0
--enable-opencl だと何か面白いことできる?
2022/03/12(土) 18:22:21.46ID:BeIFlZr10
scale_cudaを使ったら高速化した
でもhwupload_cudaを付けないとエラーになるファイルがある
常に付ければいいかというと逆にhwupload_cudaを付けるとエラーになるファイルもある
どうすれば
でもhwupload_cudaを付けないとエラーになるファイルがある
常に付ければいいかというと逆にhwupload_cudaを付けるとエラーになるファイルもある
どうすれば
2022/03/13(日) 00:38:12.74ID:X8Te2yTd0
-hwaccel cuda ←CUDAを使ってデコード処理を行う事を明示する
-hwaccel_output_format cuda ←デコード処理の結果のデータをGPUのCUDAメモリ(=VRAM)に出力する事を明示する
-vf scale_cuda、yadif_cuda、scale_npp ←CUDAを使ってフィルタ処理をする、HWエンコーダと違って明示的にCUDAメモリにデータが存在しないと処理できない(多分)
-vf hwdownload ←結果をCUDAメモリからメインメモリ(RAM)にムーブする、CUDAメモリにデータがある場合、CPUフィルタやSWエンコーダに渡す前にこれを付ける
-vf hwupload_cuda ←結果をRAMからCUDAメモリにムーヴする、RAMにデータがある場合、CUDAフィルタに渡す前にこれを付ける
-c:v h264_nvenc、hevc_nvenc ←NVENCでエンコードする、RAM・CUDAメモリのどちらにデータがあっても自動でNVENCで処理してくれる
ってのが基本のはずだから不要なところで-hwupload_cuda付けてるんじゃない?
-hwaccel_output_format cuda ←デコード処理の結果のデータをGPUのCUDAメモリ(=VRAM)に出力する事を明示する
-vf scale_cuda、yadif_cuda、scale_npp ←CUDAを使ってフィルタ処理をする、HWエンコーダと違って明示的にCUDAメモリにデータが存在しないと処理できない(多分)
-vf hwdownload ←結果をCUDAメモリからメインメモリ(RAM)にムーブする、CUDAメモリにデータがある場合、CPUフィルタやSWエンコーダに渡す前にこれを付ける
-vf hwupload_cuda ←結果をRAMからCUDAメモリにムーヴする、RAMにデータがある場合、CUDAフィルタに渡す前にこれを付ける
-c:v h264_nvenc、hevc_nvenc ←NVENCでエンコードする、RAM・CUDAメモリのどちらにデータがあっても自動でNVENCで処理してくれる
ってのが基本のはずだから不要なところで-hwupload_cuda付けてるんじゃない?
2022/03/13(日) 00:41:40.34ID:sBT0ypW70
不要かどうかがデータによって変わるということ?
2022/03/13(日) 01:04:43.85ID:X8Te2yTd0
>>483の書き方だと
-vf hwupload_cudaを
@付けなくてもエラーにならないや
A付けないとエラーになるので、付けるとエラーが消えるやつ
B付けるとエラーになるにで、付けないとエラーが消える奴
の3パターンあるように見えるけど具体的にどういうファイルにどういう前後処理してるのかが分かんないからそこまでは分からん
ファイルによって違うならHWデコーダが対応してないとかじゃないの
-vf hwupload_cudaを
@付けなくてもエラーにならないや
A付けないとエラーになるので、付けるとエラーが消えるやつ
B付けるとエラーになるにで、付けないとエラーが消える奴
の3パターンあるように見えるけど具体的にどういうファイルにどういう前後処理してるのかが分かんないからそこまでは分からん
ファイルによって違うならHWデコーダが対応してないとかじゃないの
2022/03/13(日) 01:15:45.17ID:X8Te2yTd0
誤字だらけだったからもう寝るわ…
2022/03/13(日) 09:00:14.69ID:QbOnYa6V0
2022/03/13(日) 09:29:27.29ID:sBT0ypW70
やらせてる処理は
-hwaccel cuda -hwaccel_output_format cuda
-vf yadif_cuda,scale_cuda=1280:720:interp_algo=lanczos,setsar=1/1
これで殆どのケースでうまくいくんだけど、たまに
Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
こんなエラーが出る
hwupload_cudaを追加するとエラーは出なくなるけど、逆にうまく行ってたファイルで
同様のエラーが出るようになる
-hwaccel cuda -hwaccel_output_format cuda
-vf yadif_cuda,scale_cuda=1280:720:interp_algo=lanczos,setsar=1/1
これで殆どのケースでうまくいくんだけど、たまに
Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
こんなエラーが出る
hwupload_cudaを追加するとエラーは出なくなるけど、逆にうまく行ってたファイルで
同様のエラーが出るようになる
2022/03/13(日) 16:23:13.19ID:xBjPAuer0
うまく行くファイルと行かないファイルでGPUデコード可能か不可能か分かれてるんでは
2022/03/13(日) 19:02:29.51ID:X8Te2yTd0
>>488
1234.mp4じゃ面倒くさいから60iのinput.mp4(1080p)を30pのoutput.mp4(720p)に
・NVDECでデコード→yadif_cudaでインターレース解除→scale_cudaでリサイズ→NVENCでエンコード
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -vf yadif_cuda,scale_cuda=-2:720 -c:v h264_nvenc -c:a aac output.mp4
CUDAで完結するので特に難しい事は無い
・NVDECでデコード→yadif_cudaでインターレース解除→scale_cudaでリサイズ→libx264でエンコード
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -vf scale_cuda=-2:720,hwdownload,format=nv12 -c:v libx264 -c:a aac output.mp4
CUDAからメインメモリにコピーしてx264に渡す
hwdownloadの後にformat=nv12は必須、エラーが出るならyuv420pにする
10bitの場合はp010かp016、エラーが出るならyuv420p10le
・NVDECでデコード→yadif(CPU)でインターレース解除→scale_cudaでリサイズ→libx264でエンコード
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -vf hwdownload,format=nv12,yadif,hwupload_cuda,scale_cuda=-2:720,hwdownload,format=yuv420p -c:v libx264 -c:a aac output.mp4
CUDAからメモリにコピーしてフィルタ処理、メモリからCUDAにコピーしてフィルタ処理、CUDAからメモリにコピーしてx264でエンコード
俺の環境だとx264手前のhwdownloadはnv12だとエラーになるからyuv420p
・NVDECでデコード→yadif(CPU)でインターレース解除→scale(CPU)でリサイズ→NVENCでエンコード
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -vf hwdownload,format=nv12,yadif,scale=-2:720 -c:v h264_nvenc -c:a aac output.mp4
>>484で書いた通りHWエンコーダー(NVENC)はhwupload_cudaで明示的にCUDAにコピーしなくてよい
大隊こんな感じ
1234.mp4じゃ面倒くさいから60iのinput.mp4(1080p)を30pのoutput.mp4(720p)に
・NVDECでデコード→yadif_cudaでインターレース解除→scale_cudaでリサイズ→NVENCでエンコード
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -vf yadif_cuda,scale_cuda=-2:720 -c:v h264_nvenc -c:a aac output.mp4
CUDAで完結するので特に難しい事は無い
・NVDECでデコード→yadif_cudaでインターレース解除→scale_cudaでリサイズ→libx264でエンコード
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -vf scale_cuda=-2:720,hwdownload,format=nv12 -c:v libx264 -c:a aac output.mp4
CUDAからメインメモリにコピーしてx264に渡す
hwdownloadの後にformat=nv12は必須、エラーが出るならyuv420pにする
10bitの場合はp010かp016、エラーが出るならyuv420p10le
・NVDECでデコード→yadif(CPU)でインターレース解除→scale_cudaでリサイズ→libx264でエンコード
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -vf hwdownload,format=nv12,yadif,hwupload_cuda,scale_cuda=-2:720,hwdownload,format=yuv420p -c:v libx264 -c:a aac output.mp4
CUDAからメモリにコピーしてフィルタ処理、メモリからCUDAにコピーしてフィルタ処理、CUDAからメモリにコピーしてx264でエンコード
俺の環境だとx264手前のhwdownloadはnv12だとエラーになるからyuv420p
・NVDECでデコード→yadif(CPU)でインターレース解除→scale(CPU)でリサイズ→NVENCでエンコード
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -vf hwdownload,format=nv12,yadif,scale=-2:720 -c:v h264_nvenc -c:a aac output.mp4
>>484で書いた通りHWエンコーダー(NVENC)はhwupload_cudaで明示的にCUDAにコピーしなくてよい
大隊こんな感じ
2022/03/13(日) 19:08:01.76ID:X8Te2yTd0
>>489
言ってる事同じになるけどエラーメッセージ通りフィルタのどっかでフォーマットが対応してないんじゃない?
具体的にエラーになるファイルのサンプルとそこ以外のコマンドが分かればもうちょっと分かるかもしれんけど
言ってる事同じになるけどエラーメッセージ通りフィルタのどっかでフォーマットが対応してないんじゃない?
具体的にエラーになるファイルのサンプルとそこ以外のコマンドが分かればもうちょっと分かるかもしれんけど
2022/03/13(日) 19:12:25.42ID:sBT0ypW70
フィルター'graph 0 input from stream 0:0'によってサポートされるフォーマットと
フィルター'auto_scaler_0'(によってサポートされるフォーマット)の間の変換ができない
フォーマットとは何?
フィルター'auto_scaler_0'(によってサポートされるフォーマット)の間の変換ができない
フォーマットとは何?
2022/03/16(水) 19:47:30.61ID:nvrM2YcN0
auto_scalerはフィルタやコーデックにデータ渡す時にいい感じに処理してくれるスケーラー
Impossible to convert between the formatsのフォーマットはピクセルフォーマット
フィルタにはそれぞれ対応してるピクセルフォーマットがあるからエラー出るならその手前でformat=で処理しなきゃダメ
てか「前後の処理」と「具体的なファイル」って言われてるのに情報小出しにししてたら誰も教えてくれないぞ
Impossible to convert between the formatsのフォーマットはピクセルフォーマット
フィルタにはそれぞれ対応してるピクセルフォーマットがあるからエラー出るならその手前でformat=で処理しなきゃダメ
てか「前後の処理」と「具体的なファイル」って言われてるのに情報小出しにししてたら誰も教えてくれないぞ
2022/03/16(水) 20:07:50.38ID:yiC6ZZWv0
yuvなんやらの奴ね
IO... yuv420p10le 3 15
これがエラーになる
IO... yuv420p 3 12
これならok
BITS_PER_PIXELが違うから?
IO... yuv420p10le 3 15
これがエラーになる
IO... yuv420p 3 12
これならok
BITS_PER_PIXELが違うから?
2022/03/16(水) 22:52:32.97ID:EpRAwytE0
format=nv12|p010le
を挟んでみるとか
を挟んでみるとか
2022/03/16(水) 22:54:17.39ID:yiC6ZZWv0
とりあえず、yuv420p10le と書いてあったら -vf hwupload_cuda を追加する
という仕組みにしたら両対応でいけるようになった
何故そうなるのかは全く理解してない
という仕組みにしたら両対応でいけるようになった
何故そうなるのかは全く理解してない
2022/03/17(木) 19:12:51.32ID:OgYoVat60
何度も言うけど小出しせずにファイルの詳細とエンコード含めた全部のコマンドを貼りなよ、というか貼らない理由は何?
>>495もIO...って
ffmpeg -pix_fmts
の表記じゃないのソレ
どうせ
HWデコードに対応してないファイルを読み込もうとする→自動的にSWで読み込む→CUDAメモリにデータが無いのでCUDAフィルタは使えない→エラー(hwupload_cudaでCUDAにデータ渡せば解消)
HWデコードに対応しているファイルを読む→CUDAに既に出力されている→hwupload_cudaで存在しないメインメモリのデータをCUDAに渡そうとする→エラー(余計なhwupload_cudaを消せば解消)
って感じでしょつまり>>490と>>492の書き込みで全部終わってる
>>495もIO...って
ffmpeg -pix_fmts
の表記じゃないのソレ
どうせ
HWデコードに対応してないファイルを読み込もうとする→自動的にSWで読み込む→CUDAメモリにデータが無いのでCUDAフィルタは使えない→エラー(hwupload_cudaでCUDAにデータ渡せば解消)
HWデコードに対応しているファイルを読む→CUDAに既に出力されている→hwupload_cudaで存在しないメインメモリのデータをCUDAに渡そうとする→エラー(余計なhwupload_cudaを消せば解消)
って感じでしょつまり>>490と>>492の書き込みで全部終わってる
2022/03/17(木) 19:21:33.44ID:Sd3o9kJz0
2022/03/17(木) 19:51:37.50ID:ghF8otkJ0
>>498
自分で貼ろうとしないお前はただのクズ
自分で貼ろうとしないお前はただのクズ
2022/03/17(木) 20:32:08.43ID:8N/y2IIy0
2022/03/17(木) 20:35:12.61ID:8N/y2IIy0
2022/03/17(木) 20:38:49.02ID:Sd3o9kJz0
2022/03/17(木) 20:48:01.40ID:N2UnVPly0
やべーな
どんな頭してたらそんな清々しいまでの開き直りが出来るんだ聞く側で
謎の入力ファイルと謎のコマンド(情報は足りてると豪語した次の行で詳しくは知らないと宣言する)をエスパーするスレかよココ
どんな頭してたらそんな清々しいまでの開き直りが出来るんだ聞く側で
謎の入力ファイルと謎のコマンド(情報は足りてると豪語した次の行で詳しくは知らないと宣言する)をエスパーするスレかよココ
2022/03/17(木) 21:01:00.71ID:Sd3o9kJz0
ちゃんとしたドキュメンテーションが無いんだよな
で、手探りで動く組み合わせを探ってる感じ
エラーになったら、みたいな記述が目立つのもその為
本来なら、何故エラーになって、どうすればエラーにならないかは明確な筈なんだけど、
とりあえずこの組み合わせなら動くからこれで、みたいに乗り切ってる
自動的にSWで読み込んでエラーになってるんじゃないかという推測も多分間違いで、
単純にサポートするフォーマットが合致しないだけ
で、手探りで動く組み合わせを探ってる感じ
エラーになったら、みたいな記述が目立つのもその為
本来なら、何故エラーになって、どうすればエラーにならないかは明確な筈なんだけど、
とりあえずこの組み合わせなら動くからこれで、みたいに乗り切ってる
自動的にSWで読み込んでエラーになってるんじゃないかという推測も多分間違いで、
単純にサポートするフォーマットが合致しないだけ
2022/03/17(木) 21:19:56.56ID:nLert4AI0
俺用メモ
>>466の続き
H.264とHEVCにはIフレームかつキーフレーム(qpfileの大文字のI)のIDRフレームと、Iフレームだけどキーフレームじゃない(qpfileの小文字のi)ただのIフレームがある
ffmpegの-force_key_framesはとりあえずIフレームとだけエンコーダーに指示するらしく、エンコーダーの気分次第で指定したポイントがキーフレームじゃなくなる(けどIフレームではある)可能性がある
なので各エンコーダーにはオプションとして-forced-idrが用意されている、これを有効(-forced-idr 1)にしとけば-force_key_framesで指定されたポイントは必ずキーフレームになってハッピー
7年前のlibx264のコミットログより
https://github.com/FFmpeg/FFmpeg/commit/c981b1145a857c8f962c93b8eecb1c613b20ffe9
メモ終わり
>>466の続き
H.264とHEVCにはIフレームかつキーフレーム(qpfileの大文字のI)のIDRフレームと、Iフレームだけどキーフレームじゃない(qpfileの小文字のi)ただのIフレームがある
ffmpegの-force_key_framesはとりあえずIフレームとだけエンコーダーに指示するらしく、エンコーダーの気分次第で指定したポイントがキーフレームじゃなくなる(けどIフレームではある)可能性がある
なので各エンコーダーにはオプションとして-forced-idrが用意されている、これを有効(-forced-idr 1)にしとけば-force_key_framesで指定されたポイントは必ずキーフレームになってハッピー
7年前のlibx264のコミットログより
https://github.com/FFmpeg/FFmpeg/commit/c981b1145a857c8f962c93b8eecb1c613b20ffe9
メモ終わり
2022/03/18(金) 02:34:58.34ID:vGw3ZPvY0
>>497
エラーが出る動画、あるいは出ない動画の圧縮形式はVP9かそうでないかで分かれてたりするかい?
エラーが出る動画、あるいは出ない動画の圧縮形式はVP9かそうでないかで分かれてたりするかい?
2022/03/18(金) 08:32:55.45ID:pkZm+xRg0
もう構うなよ
2022/03/18(金) 09:51:41.48ID:f15kFENl0
>>506
いつも細かいメモ残してくれてるの助かる、ありがとう
いつも細かいメモ残してくれてるの助かる、ありがとう
510名無しさん@お腹いっぱい。
2022/03/19(土) 22:29:26.06ID:zY+vT1LX0 動画のx分y秒などを時間を指定してから音をZ(0.25)秒遅くする方法とかあるでしょうか?
ffmpeg.exe -i "input.mp4" -itsoffset 0.25 -i "input.mp4" -map 0:v -map 1:a -c copy "output.mp4"
ffmpeg.exe -i "input.mp4" -itsoffset 0.25 -i "input.mp4" -map 0:v -map 1:a -c copy "output.mp4"
2022/03/23(水) 11:44:49.95ID:yPjerOGU0
HLSのm3u8のリスト読ませる時にwebサーバが不安定でたまーに503とかで歯抜けになることがあります。
ずーっとログ見てるとわかるんですが裏でDLしてると歯抜けに気づかず再生していて急に無音になってシーンが飛んだりシークが引っかかります。
自動でリトライして何度か失敗したらエラーを吐いて中断するとかそういう確実にDL成功させるオプションありますか?
今はm3u8をバラして1ファイルずつ成功失敗を確認できるirvineなどのダウンローダーでDLして ffmpegのconcatオプションでくっつけてます。
専用ツールがあるのですがもしffmpeg単体でも対応できるならツール増やしたくないのでそうしたいと思っています。
ずーっとログ見てるとわかるんですが裏でDLしてると歯抜けに気づかず再生していて急に無音になってシーンが飛んだりシークが引っかかります。
自動でリトライして何度か失敗したらエラーを吐いて中断するとかそういう確実にDL成功させるオプションありますか?
今はm3u8をバラして1ファイルずつ成功失敗を確認できるirvineなどのダウンローダーでDLして ffmpegのconcatオプションでくっつけてます。
専用ツールがあるのですがもしffmpeg単体でも対応できるならツール増やしたくないのでそうしたいと思っています。
2022/03/23(水) 12:45:28.07ID:n0mk+DNt0
ffmpegはダウンローダーではないからなあ
2022/03/23(水) 14:26:01.59ID:03PSQU240
いつでもリトライできるならリトライしない方が悪いけど、
リアルタイムで1分くらいしか猶予が無くてよく落ちるサーバから完全に保存するツールは欲しいな
リアルタイムで1分くらいしか猶予が無くてよく落ちるサーバから完全に保存するツールは欲しいな
2022/03/23(水) 16:13:22.65ID:r7U2e68a0
そういうのはstreamlinkが向いてる気がする
2022/03/23(水) 17:34:36.12ID:97KR2K2y0
ログを出力して、
'Failed to open segment'
'PES packet size mismatch'
'Packet corrupt'
あたりの文字列があった場合にリトライする
'Failed to open segment'
'PES packet size mismatch'
'Packet corrupt'
あたりの文字列があった場合にリトライする
2022/03/23(水) 18:08:47.97ID:03PSQU240
ffmpegは本職じゃないのに、いろんなダウンロードツールやらに組み込まれて、
ダウンロード部分と変換部分を担当させられている
必ずしも賢くないので、そういうツール全体があまり賢くない
ダウンロード部分と変換部分を担当させられている
必ずしも賢くないので、そういうツール全体があまり賢くない
2022/03/23(水) 18:41:34.61ID:uIuHKGaA0
らじるらじるのキャプチャーしてるけど、404になることがタマにあるから
自前のスクリプトでダウンロードしてffmpegで繋げてる
めんどくさい
自前のスクリプトでダウンロードしてffmpegで繋げてる
めんどくさい
2022/03/23(水) 18:50:47.79ID:Aups7fbT0
gihhubでm3u8とかHLSとか検索するとAESなんかにも対応したツールがいくつかあるな。
どこまでリトライしてくれるかどうか分からんが。
どこまでリトライしてくれるかどうか分からんが。
2022/03/23(水) 19:21:18.61ID:03PSQU240
超A&Gがネットラジオなのにアーカイブという概念が無いので、
じゃあもう全保存するしか、とやってるけどあんまりいいツールも無くて、
streamlinkを時間が来たら呼び出す部分だけ作った
じゃあもう全保存するしか、とやってるけどあんまりいいツールも無くて、
streamlinkを時間が来たら呼び出す部分だけ作った
2022/03/24(木) 14:28:56.89ID:t6DT7W6W0
>>516
cross-platform solution to record, convert and stream audio and video のくせに単体であれもこれもできちゃうのが悪い
実際問題TLSも喋れるし後でやり直しが効かないようなやつを除けばこの子に丸投げでほぼ困らんし…
cross-platform solution to record, convert and stream audio and video のくせに単体であれもこれもできちゃうのが悪い
実際問題TLSも喋れるし後でやり直しが効かないようなやつを除けばこの子に丸投げでほぼ困らんし…
2022/03/24(木) 14:49:25.71ID:acBu59f80
対策されると手も足も出ないけどな
そういうのは何でも対応できる定番の専用ソフトを別に作って、
プラグインで小回りが効くようにしておく方が便利なのに
そういうのは何でも対応できる定番の専用ソフトを別に作って、
プラグインで小回りが効くようにしておく方が便利なのに
2022/03/24(木) 15:14:07.51ID:IUXX0N710
車輪の再発明楽しいれす^q^
2022/03/24(木) 22:27:55.67ID:v/A3ofkn0
524名無しさん@お腹いっぱい。
2022/03/26(土) 10:42:19.00ID:mZOk9RI50 WMPでは日本語放送のみのm2tsファイルをシンプルにコピーしてMP4に変えたら
二か国語放送になってしまいました
ffprobeで確認したら音声が1つしかないみたいなのですが
日本語放送のみのmp4を作成することはできないのでしょうか?
Duration: 00:07:55.37, start: 60203.128289, bitrate: 1695 kb/s
Program 1024
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top first), 1440x1080 [SAR 4:3 DAR 16:9], 29.97 fps, 59.94 tbr, 90k tbn
Stream #0:1[0x1021]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 144 kb/s
Stream #0:2[0x1031]: Subtitle: arib_caption (Profile A) ([6][0][0][0] / 0x0006)
Unsupported codec with id 94233 for input stream 2
二か国語放送になってしまいました
ffprobeで確認したら音声が1つしかないみたいなのですが
日本語放送のみのmp4を作成することはできないのでしょうか?
Duration: 00:07:55.37, start: 60203.128289, bitrate: 1695 kb/s
Program 1024
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top first), 1440x1080 [SAR 4:3 DAR 16:9], 29.97 fps, 59.94 tbr, 90k tbn
Stream #0:1[0x1021]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 144 kb/s
Stream #0:2[0x1031]: Subtitle: arib_caption (Profile A) ([6][0][0][0] / 0x0006)
Unsupported codec with id 94233 for input stream 2
2022/03/26(土) 10:52:14.18ID:DEHA+vX30
-dual_mono_mode main
2022/03/26(土) 11:16:26.10ID:29KSm4sV0
捨ててしまうのも惜しいし、再生時に切り替えできるようにしたいね
混合音声放送になっていることをどうやって検出するか
混合音声放送になっていることをどうやって検出するか
527名無しさん@お腹いっぱい。
2022/03/26(土) 11:42:12.79ID:kl/B+ODm0 >525
ありがとう
出先なので帰ったら試してみます
ありがとう
出先なので帰ったら試してみます
2022/03/31(木) 10:04:54.22ID:N5OEi+3s0
M1 MacbookPro maxで M1対応ffmpeg4.3.1で30分の動画をhevc_videotoolboxでトランスコードすると9分程掛かっていたのですが、ffmpeg5.0にアップグレードしたら2分でトランスコード完了。
はて、本当にh265で変換されてるのかちょっと不安になったけど。
M1 Macの方 ffmpeg5.0速いみたいです。確認ヨロ。
はて、本当にh265で変換されてるのかちょっと不安になったけど。
M1 Macの方 ffmpeg5.0速いみたいです。確認ヨロ。
2022/03/31(木) 10:47:41.06ID:f6u0l5440
hevc_videotoolboxは画質が悪い
時間優先ならとても便利
時間優先ならとても便利
2022/03/31(木) 11:33:55.55ID:xl0krXo70
hevc_videotoolboxを使ったら速くなったという話ではない
2022/04/01(金) 06:41:26.63ID:SgAiOo6G0
appleのハードウェアエンコーダーは品質悪いよね
ちょっと前はQSVが使えていたから良かったけど
今はIntel無くなってしまったからなあ
ちょっと前はQSVが使えていたから良かったけど
今はIntel無くなってしまったからなあ
2022/04/01(金) 07:54:27.80ID:nIsMIyGz0
未だに質が悪いと思い込んでる人がおるな
ハードは高速で縮まない
リアルタイム性を重視していている
縮まないものを無理やりにソフトと同程度に縮めると当然画質は落ちる
それをハードは質が悪いと短絡してるだけ
ハードは高速で縮まない
リアルタイム性を重視していている
縮まないものを無理やりにソフトと同程度に縮めると当然画質は落ちる
それをハードは質が悪いと短絡してるだけ
2022/04/01(金) 08:18:11.11ID:jyxJGgbD0
せっかくのハードウェア実装なのに何で汚いんやろって思ってたけど
そーゆー理由があったんけ
そーゆー理由があったんけ
2022/04/01(金) 08:52:22.38ID:6rQsWHWj0
QSVやNVencと比べて悪いんだから短絡でもないだろ
2022/04/01(金) 08:59:08.41ID:Pb5q16h80
まあHWエンコーダってリアルタイム配信が主眼の技術だしね
そうだとしてもNVEncやQSVに大きく劣るとは言えるわけだが
そうだとしてもNVEncやQSVに大きく劣るとは言えるわけだが
2022/04/01(金) 09:48:59.27ID:818UUlod0
「縮まないものを無理やりにソフトと同程度に縮めると当然画質は落ちる」
それを品質が悪いというんだぞwww
それを品質が悪いというんだぞwww
2022/04/01(金) 11:08:37.64ID:n6BIBcEI0
エンコーダ(というか圧縮全般)における品質・品位はどれだけ元のデータを再現できるかって意味だしね
映像に限ればは一般的に言われる画質って言葉と同義
映像に限ればは一般的に言われる画質って言葉と同義
2022/04/02(土) 01:35:29.26ID:UvAmqFX00
まあ言葉の定義はどうでもいいんだけど
2022/04/02(土) 01:36:01.47ID:M1YXnR/F0
そろそろ5ビルドするか
2022/04/02(土) 01:59:53.67ID:RT35mwns0
hevc_videotoolboxがボロクソに言われていてわろたwww
appleは思っているほど技術はない
俺もマカーだから良くわかる
appleは思っているほど技術はない
俺もマカーだから良くわかる
2022/04/02(土) 19:43:37.14ID:bGOKzPqI0
MacBookPro16M1max ffmpeg5.0 で30分動画をh265で -b:v 3M圧縮
・libx265だと 約25分 高速cpu8個100%フルパワー、エコcpu2個約80%
・hevc_videotoolboxだと約2分 エコcpu約30%以下
・libx265だと 約25分 高速cpu8個100%フルパワー、エコcpu2個約80%
・hevc_videotoolboxだと約2分 エコcpu約30%以下
2022/04/02(土) 20:32:24.84ID:I5FxCAMB0
ここはお前の日記じゃねーんだ
他でやれ
他でやれ
543名無しさん@お腹いっぱい。
2022/04/02(土) 20:41:44.63ID:lr0/hc5D0 •牛肉
•カレールー
•牛乳
•ピーナッツチョコ
•カレールー
•牛乳
•ピーナッツチョコ
2022/04/03(日) 00:34:23.44ID:l7KLRuGq0
h265(hevc)なら3M、h264なら6M くらいで圧縮すれば画質低下は気にならないかも。
https://gigazine.net/news/20160117-h265-quality-testing/
https://i.imgur.com/zgYVtjx.png
https://gigazine.net/news/20160117-h265-quality-testing/
https://i.imgur.com/zgYVtjx.png
2022/04/03(日) 00:42:02.42ID:zLk7PhZe0
2022/04/03(日) 00:46:56.83ID:p4Lo2ZOC0
ibx265のビルドの仕方で速度ぜんぜん違うしなぁ
2022/04/03(日) 02:40:31.02ID:jDzWbjFp0
キモいのが住み着いておるな
前から居たっけ?
前から居たっけ?
2022/04/03(日) 06:29:42.57ID:/McneTDa0
何年前のデータよそれ
2022/04/03(日) 09:06:31.75ID:LhLbBRkY0
WSLでwindows build helperでオプションつけてbuildすると途中で止まってうまくいかん....
別に他から落としたので困ってはないがnonfreeつけてみたい
winでやった方が簡単?
別に他から落としたので困ってはないがnonfreeつけてみたい
winでやった方が簡単?
2022/04/03(日) 09:24:30.06ID:aqJq0/Eo0
media-autobuild_suite使ってるけど、結構な頻度で更新された時に修正されるまでビルドできなくなる
2022/04/03(日) 09:53:22.21ID:l7KLRuGq0
>>544
H.265とH.264はIEC/ISO規格だよね。その規格通りのアルゴリズムならこの図の特性で。画像品質が低下する傾向にあると言うことかと。規格なので古いとか関係ない。
規格準拠と言う亜種プログラムがあるが、速度重視で何かを省略したり、画質重視で何かを加えたりしたものがあるが、傾向は同じかと。
hevc_videotoolboxも規格アルゴリズムにどこまで忠実なのか知らんけど、ハードウェアエンコが汚いと言う前に特性を理解して使っているかを今一度確認すべきかと。
H.265とH.264はIEC/ISO規格だよね。その規格通りのアルゴリズムならこの図の特性で。画像品質が低下する傾向にあると言うことかと。規格なので古いとか関係ない。
規格準拠と言う亜種プログラムがあるが、速度重視で何かを省略したり、画質重視で何かを加えたりしたものがあるが、傾向は同じかと。
hevc_videotoolboxも規格アルゴリズムにどこまで忠実なのか知らんけど、ハードウェアエンコが汚いと言う前に特性を理解して使っているかを今一度確認すべきかと。
2022/04/03(日) 10:03:28.16ID:l75wNtAZ0
H.264もH.265も大半の部分は似たようなもんなんだよな
H.264では動きが激しいところでブロックノイズが目立つので、
そこだけの為に全体のビットレートを上げないといけなかった
H.265はそういう箇所でも器用にブロックノイズを避けるので全体のビットレートを下げられる
結果として無駄に高いビットレートを割いていた部分が節約できる
単に破綻しそうな箇所はビットレートを盛るだけの話なのに、
なんでそんなことができなかったのか
H.264では動きが激しいところでブロックノイズが目立つので、
そこだけの為に全体のビットレートを上げないといけなかった
H.265はそういう箇所でも器用にブロックノイズを避けるので全体のビットレートを下げられる
結果として無駄に高いビットレートを割いていた部分が節約できる
単に破綻しそうな箇所はビットレートを盛るだけの話なのに、
なんでそんなことができなかったのか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- こういうのでいいのよ!なか卯の「朝限定390円メニュー」見た目以上の満足感で、まさに理想の朝ごはんでした! [パンナ・コッタ★]
- 相手の方が飲み食いしたのに「割り勘」→多人数だったら気にしないけど、2人のときは……モヤモヤ [ぐれ★]
- 「育休が無給」「子どもは諦めた」非正規公務員、半数近くが年収250万円未満…調査で浮かぶ厳しい現実 [首都圏の虎★]
- 【大阪】岸和田でマンション火災 住人の男性医師の土細工さんが死亡 [ぐれ★]
- 【速報】 米FRB、3年ぶり利上げ 物価高の長期化を避けるため姿勢を転換 [お断り★]
- 《日本に輸入された中国産「発がん性」食品》冷凍ブロッコリー🥦から検出事例多数の殺菌剤・プロシミドン [パンナ・コッタ★]
- 那覇市議会の自民党派閥が反日に転向「PFAS非公表に対して抗議する」という意見書に賛成してしまう [469534301]
- 【悲報】水瀬いのりさん、焼き肉をトング食いしてしまうwwwwwwwwwwwwww [398059782]
- 子どもの頃の話。
- 海外有名投資家「日本は人口を減らしているから縮小していくだけ。円安は貧乏になるだけ。小学生でもわかる話。」 [819729701]
- 【速報】トランプ大統領、イランとの戦争が「終結に向かっている」 [431136663]
- 【実況】博衣こよりのえちえちMLB同時視聴-八百屋編-🧪 ★2