公式サイト
http://ffmpeg.org/
エンコード、ストリーミング配信を高画質高音質で行えるffmprg。
OSに拘らず対応コーデックが多い。
対応コーデックが多く、多彩なオプションを使用可能。
コマンドラインから使用することができる。
ffmpegならこちらへ 2
http://potato.2ch.net/test/read.cgi/software/1420916868/
探検
ffmpegならこちらへ 3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
2017/02/21(火) 22:04:57.35ID:8J7qip0G02017/11/29(水) 04:40:55.06ID:xY3234sj0
wmvとasfって同じじゃね?
2017/11/29(水) 06:14:45.76ID:2S3jYNdv0
asfはコンテナだろ
ググれカス
ググれカス
2017/11/30(木) 09:38:31.53ID:5ztr3v5S0
ハイエンド機をレンタルするのが手っ取り早い
2017/11/30(木) 10:34:16.32ID:YnLmYLaU0
レンタルw
425名無しさん@お腹いっぱい。
2017/11/30(木) 23:20:32.57ID:emgpDb690 PAL⇒NTSC 変換はどのようにしたらよかですか?
元ソースはMPEG2 25fps インターレース 解像度720*576なので解像度をNTSC規格(720*480)に変更しつつ
出力は23.976(29.97) 3:2プルダウン もしくは、29.97fps インターレースにしたいとです。
出力コーデックはh.264 high@4.1 max15Mbps crf 20 vbv 3000k
元ソースはMPEG2 25fps インターレース 解像度720*576なので解像度をNTSC規格(720*480)に変更しつつ
出力は23.976(29.97) 3:2プルダウン もしくは、29.97fps インターレースにしたいとです。
出力コーデックはh.264 high@4.1 max15Mbps crf 20 vbv 3000k
2017/11/30(木) 23:41:13.87ID:09y7BuQR0
-target film-dvd
-target ntsc-dvd -ilme
のあとにオプション上書きでいいんでないの?
-target ntsc-dvd -ilme
のあとにオプション上書きでいいんでないの?
2017/12/01(金) 09:15:01.04ID:IMPbhFDu0
聞き違いかも知れんけどおっさん達が昔社員旅行でハワイ行って勇気を出して洋物のVHSをみんなで買ったけどPALだかの方式違いで再生機がなくてがっかりしたって話で盛り上がってた気がする。
2017/12/01(金) 20:05:51.98ID:qCgLc9Ql0
>>426
-ilme ←このオプションはそんなのないと弾かれるのだけれど、どういうオプションなの?
-ilme ←このオプションはそんなのないと弾かれるのだけれど、どういうオプションなの?
2017/12/01(金) 20:19:02.77ID:ifpEVi3f0
>>428
聞く前にググる癖をつけたほうがいいんじゃね
聞く前にググる癖をつけたほうがいいんじゃね
430名無しさん@お腹いっぱい。
2017/12/01(金) 20:21:49.60ID:4cWmN/zB0 >>429
答えられないなら黙ってればいいんじゃね
答えられないなら黙ってればいいんじゃね
2017/12/01(金) 20:25:50.38ID:ifpEVi3f0
答えが出てくるからググれと言ってるのに、これだから煽るだけの無能は・・・
2017/12/01(金) 21:29:13.03ID:qCgLc9Ql0
>>429
- つけて検索してたから出てこなかったのよ・・・orz
インタレ保持でいいのかな?
-vf yadif=1,scale=720:480,tinterlace=4 -target ntsc-dvd -flags +ilme+ildct dvd.mpg $ export VIDEO_FORMAT=NTSC
-ilme の代わりでインタレ保持するのは↑な感じでよろしい?
もしくは、インターレース解除しつつ3:2プルダウンした方がよろしい?
- つけて検索してたから出てこなかったのよ・・・orz
インタレ保持でいいのかな?
-vf yadif=1,scale=720:480,tinterlace=4 -target ntsc-dvd -flags +ilme+ildct dvd.mpg $ export VIDEO_FORMAT=NTSC
-ilme の代わりでインタレ保持するのは↑な感じでよろしい?
もしくは、インターレース解除しつつ3:2プルダウンした方がよろしい?
2017/12/01(金) 22:04:36.53ID:WWLJIQmC0
ハードウェアエンコーダで画質が変わることがあるってのが不思議なんだけど。
QSVはいまいちとかいうじゃん。
それってlibx264とかのアルゴリズムの一部をハードに置き換えて高速化してるわけじゃないってことなのかな?
QSVはいまいちとかいうじゃん。
それってlibx264とかのアルゴリズムの一部をハードに置き換えて高速化してるわけじゃないってことなのかな?
2017/12/01(金) 22:10:26.84ID:wTb4/X+X0
そら -ilme なんてやったら ilme を省くだもんなw
2017/12/02(土) 09:15:33.58ID:gDWmbBAl0
>>433
知恵袋に池
知恵袋に池
436名無しさん@お腹いっぱい。
2017/12/02(土) 23:33:16.07ID:pxSd9pEk0 ファイル名を出力?するときに、動画の解像度をカッコでくくりたいんだが、以下の書き方だと、ハイフンでくくられてしまうんだ
[file_name] "("[video_resolution]")".[extension]
だと
---360p---
みたいな感じになってしまう
ダブルコーテーションを使わないと、
-360p-
単純な文字として表示させる時は、ダブルコーテーション、、かなと思ったんだが、そうでもないみたい。。。
なんて書くのが正しいんだ?
[file_name] "("[video_resolution]")".[extension]
だと
---360p---
みたいな感じになってしまう
ダブルコーテーションを使わないと、
-360p-
単純な文字として表示させる時は、ダブルコーテーション、、かなと思ったんだが、そうでもないみたい。。。
なんて書くのが正しいんだ?
2017/12/02(土) 23:39:09.35ID:OedSfb0F0
そういえばWSLのおかげでshでffmpeg使えるようになったんだな
bat使いにくいし移行させるか
bat使いにくいし移行させるか
2017/12/03(日) 10:06:31.75ID:dlayAwcr0
2017/12/08(金) 09:12:08.84ID:cBo29qly0
x264と内蔵のh264とどっちがいいの?
2017/12/08(金) 09:54:01.75ID:QuRf2pie0
ffmpeg内蔵のh264エンコーダーは無いからx264
2017/12/08(金) 13:04:57.03ID:MLod0Jvm0
>>439
libx264とx264の話ならオプション一緒なら変わらないよ
libx264とx264の話ならオプション一緒なら変わらないよ
2017/12/08(金) 22:30:11.23ID:4bOUGEGf0
>>437
基本的なコマンドだけでいいならbusyboxで十分じゃね?
基本的なコマンドだけでいいならbusyboxで十分じゃね?
2017/12/15(金) 11:22:55.83ID:GUlU/9zz0
zeranoeのバイナリvmafmotion使えないのか
2017/12/15(金) 14:31:57.51ID:GUlU/9zz0
vmafmotionを使ったことある人いるかわからないけど使い方は、エンコード後のvmafmotion/エンコード前のvmafmotionで合ってるよね?
これで大体SSIMと似たような数値になる気がするので合ってると思うが
これで大体SSIMと似たような数値になる気がするので合ってると思うが
2017/12/15(金) 21:31:55.47ID:1171TGRQ0
>>444
最近取り込まれたのはlibvmafへのインタフェースだよね。vmafmotionはしばらく前から単体で使えていた
大体SSIMと似たような数値と言っているから、実際にはVMAFモーションスコアでなくてVMAFスコアなのかな?
しかし、vmafとffmpegがいずれも最新だとvf_libvmaf.cでコンパイルエラーが出るな。APIの変更に追い付いてないようだ
ちょっといじって通るようになったけど
それにしてもなかなか使いどころが難しいな。特にソースがインターレースだと。手許の環境では数fpsしか速度が出ないし
最近取り込まれたのはlibvmafへのインタフェースだよね。vmafmotionはしばらく前から単体で使えていた
大体SSIMと似たような数値と言っているから、実際にはVMAFモーションスコアでなくてVMAFスコアなのかな?
しかし、vmafとffmpegがいずれも最新だとvf_libvmaf.cでコンパイルエラーが出るな。APIの変更に追い付いてないようだ
ちょっといじって通るようになったけど
それにしてもなかなか使いどころが難しいな。特にソースがインターレースだと。手許の環境では数fpsしか速度が出ないし
2017/12/15(金) 22:46:59.09ID:1Ye0v0hv0
ググったり関連リンク読んだりしてみた感じでは、vmafmotionというのは
・動画の時間的な特性(動きや変化の激しさみたいなもの)を表す指標
・最終的なVMAFスコアを導くための要素の1つ(他の要素としてVIF,ADMなどがある)
であって、それだけで画質指標になるものではないと思うんだけど、どうなんだろ。
画質評価の指標として使うのはlibvmafで求められる最終的なVMAFスコアだと思うのだが・・・。
ニコラボさんの記事だと
> 使い方は先に元動画の vmaf モーションスコアを計算し、
> 次にエンコードした動画の vmaf モーションスコアを計算し何割減ったかを調べる。
とあるけど、この計算結果が一体なにを示すものなのか、
またこの説明が何に基づいたものなのかがよくわからなかった。
(ソースを見たのかもしれんが、さすがにそこまでは読めない)
・動画の時間的な特性(動きや変化の激しさみたいなもの)を表す指標
・最終的なVMAFスコアを導くための要素の1つ(他の要素としてVIF,ADMなどがある)
であって、それだけで画質指標になるものではないと思うんだけど、どうなんだろ。
画質評価の指標として使うのはlibvmafで求められる最終的なVMAFスコアだと思うのだが・・・。
ニコラボさんの記事だと
> 使い方は先に元動画の vmaf モーションスコアを計算し、
> 次にエンコードした動画の vmaf モーションスコアを計算し何割減ったかを調べる。
とあるけど、この計算結果が一体なにを示すものなのか、
またこの説明が何に基づいたものなのかがよくわからなかった。
(ソースを見たのかもしれんが、さすがにそこまでは読めない)
2017/12/22(金) 23:01:49.39ID:UfC67PFy0
動画ファイルから音声データを無劣化で抽出したい
音声がどんなcodecなのか事前に調べておけばそれを指定して問題なく抽出できるけど、
そこも含めて自動化して勝手に拡張子を決定して抽出させられる?
音声がどんなcodecなのか事前に調べておけばそれを指定して問題なく抽出できるけど、
そこも含めて自動化して勝手に拡張子を決定して抽出させられる?
2017/12/22(金) 23:25:37.38ID:FZKpRC4q0
mkaなら大抵のコーデックぶち込めるぞ
2017/12/22(金) 23:30:20.34ID:UfC67PFy0
ああ、拡張子はコーデックではなくてコンテナの指定なのか
だからといってmkaはあんまりなので、とりあえずaacにしとこう
だからといってmkaはあんまりなので、とりあえずaacにしとこう
2017/12/22(金) 23:43:58.54ID:hM6akLbr0
無劣化抽出したいと言いつつaacにするのか・・・(困惑)
2017/12/23(土) 00:40:08.61ID:4/UH8Mie0
あとのことを考えないなら
全部flacにすれば劣化することはない
全部flacにすれば劣化することはない
2017/12/23(土) 01:05:45.08ID:B4ePCVih0
エンコードせずにそのままコピーして適当なコンテナに放り込むのが一番では?
2017/12/23(土) 02:35:20.97ID:HatLSsB20
mediainfoでコーデック調べて拡張子自動選択するbat書いてるわ
2017/12/23(土) 07:19:12.13ID:NuvFgUiP0
やっぱりそうなるのか
そうしてる人がいるという時点で、ffmpegにその機能は無いと判ったので、
適当な妥協案で済ますことにする
何かに決め打ちしてしまうとか、えこでこツール使うとか
そうしてる人がいるという時点で、ffmpegにその機能は無いと判ったので、
適当な妥協案で済ますことにする
何かに決め打ちしてしまうとか、えこでこツール使うとか
2017/12/23(土) 07:48:37.64ID:NuvFgUiP0
適当に調べたら、殆どの場合はAACが入ってる
でも .aac は取り扱いが不便なので、m4aが良さそう
でも m4aで出力させるとやたら時間がかかる
(aacなら一瞬で、別ツールでaac->m4a変換させるのもすぐなのに)
mkaならとりあえず出力はできるけど、
スマホに転送するとアプリが対応してない
という感じで、AACに決め打ちしても便利な解決策が無い
でも .aac は取り扱いが不便なので、m4aが良さそう
でも m4aで出力させるとやたら時間がかかる
(aacなら一瞬で、別ツールでaac->m4a変換させるのもすぐなのに)
mkaならとりあえず出力はできるけど、
スマホに転送するとアプリが対応してない
という感じで、AACに決め打ちしても便利な解決策が無い
2017/12/23(土) 11:07:29.95ID:nov582Sv0
無劣化抽出はcopyすればいいんだよね
ならあとはスクリプト書くだけでしょ
info出力してstreamがaudioの部分を解析してcodecで拡張子決めてmapで出力すればOK、だよね?
ならあとはスクリプト書くだけでしょ
info出力してstreamがaudioの部分を解析してcodecで拡張子決めてmapで出力すればOK、だよね?
2017/12/23(土) 11:19:12.00ID:NuvFgUiP0
元はmp4なので、その音声部分だけのコンテナはm4aが自然な筈
なのにcopyでm4aに出させようとすると20xくらいの速度で処理を始めて、
2時間のファイルに6分くらいかかる
こうなるのがよく判らない
なのにcopyでm4aに出させようとすると20xくらいの速度で処理を始めて、
2時間のファイルに6分くらいかかる
こうなるのがよく判らない
2017/12/23(土) 11:57:10.38ID:nov582Sv0
再エンコしてるのかな?
出来てるm4aがほんとにm4aならわからないけど
実は中身がmp4だっていうならmap指定すれば解決
出来てるm4aがほんとにm4aならわからないけど
実は中身がmp4だっていうならmap指定すれば解決
2017/12/23(土) 12:31:55.07ID:NuvFgUiP0
確かにmap指定するとすぐ終わる
aacに出力させた時は自動でストリームを選択してるんだから、
m4aの時もやってくれればいいのに
aacに出力させた時は自動でストリームを選択してるんだから、
m4aの時もやってくれればいいのに
2017/12/23(土) 14:02:53.38ID:52nfHXHW0
1920かける1080の縦が短かったりするのがなんとおりかあるときに黒帯つけて720×480にリサイズかけるのってbashとかで計算してやらないと無理?
2017/12/23(土) 17:30:09.89ID:CpZnbvPX0
2017/12/23(土) 17:36:45.91ID:NuvFgUiP0
-map 0:a
でやってたけど、そっちの方が良さそう
でやってたけど、そっちの方が良さそう
2017/12/23(土) 19:47:52.43ID:103NlSs20
1920x1080 に pad して、scale して、dar を 16:9 にしたいと言うことかな?
ttps://ffmpeg.org/ffmpeg-filters.html#Examples-75
ttps://ffmpeg.org/ffmpeg-filters.html#Examples-75
2017/12/23(土) 19:56:12.09ID:ibuZPPYe0
拡張子aacってエレメンタルストリームなんだっけ?
2017/12/23(土) 21:06:04.57ID:52nfHXHW0
2017/12/23(土) 21:22:11.59ID:103NlSs20
入力解像度が 1920x1080 を超えないのならこれでよさそう
映像は中央に配置してる
ffmpeg -i in -vf pad=1920:1080:(in_w-out_w)/2:(in_h-out_h)/2,scale=720:480,setdar=16/9 out
映像は中央に配置してる
ffmpeg -i in -vf pad=1920:1080:(in_w-out_w)/2:(in_h-out_h)/2,scale=720:480,setdar=16/9 out
2017/12/23(土) 21:31:11.77ID:52nfHXHW0
やってみるわ。おつかれマンコ。
2017/12/27(水) 00:43:32.80ID:juoRcpgL0
ffmpegがxpのサポートを終了
サポートされるosはvistaからになるみたい
サポートされるosはvistaからになるみたい
2017/12/27(水) 00:52:50.01ID:DBetCLJV0
もうだいぶ前から動かないけどなw
2017/12/27(水) 02:36:54.12ID:oRL0fQQF0
今更xpで動かそうとするやつなんて居ないだろうきっと
2017/12/27(水) 12:48:56.24ID:x1J+/UYD0
あべちんさんのバイナリはXP対応
あと、海外の有名どころで対応するのがある
で、XPでも使ってるわ
あと、海外の有名どころで対応するのがある
で、XPでも使ってるわ
2017/12/27(水) 13:14:07.79ID:7fA6sYC50
XPでffmpegとか、使えるバージョンを残しとけばいいだけじゃんw
2017/12/27(水) 14:44:19.18ID:9YsSYwAE0
そもそもXPのPCでffmpegて何してんだよ
2017/12/27(水) 17:38:20.16ID:m6jbrLKS0
横からだけど再エンコとかは外と繋がってない余剰品のXP使ったりしてるな
2017/12/28(木) 19:41:25.22ID:zrS0K27X0
WinXPで自ビルドすれば良いのでは
2017/12/28(木) 19:52:51.75ID:wQDSRdFt0
そんなことが出来るならサポートから外れないだろ
2018/01/02(火) 14:40:08.84ID:qJb/8kDS0
ffmpegでmpeg2-tsをmp4に変換する時字幕をそのままコピーするにはどう指定したらいいんでしょうか?
2018/01/02(火) 15:26:05.30ID:GAMbx85a0
Ffmpeg -i 雌ヤギ激烈立ちバック中出し.mp4 -字幕 そのままコピー [NHK]視点・論点20171123.mkv
2018/01/02(火) 17:45:51.68ID:a8bnC5OA0
タイトルが変わっちゃう ><!
2018/01/03(水) 03:10:22.10ID:1Uv3SILk0
PGS字幕をMUXできるのってmkvだけだっけ?
2018/01/03(水) 08:50:30.12ID:8U2aQHll0
2018/01/03(水) 10:03:00.41ID:Z1gcMoBv0
つまり有料でもいいから雌ヤギとバックで一発やりたいと・・・
2018/01/03(水) 10:51:48.38ID:ZaCBdCza0
>>482
ソフト的に一発ってのは知る限りでないな。
だいたいこの手順になるはず。
caption2accで字幕ファイルを分離
生TSから狙いの動画ストリームを分離
mp4生成
字幕合成
シェルなりバッチなりで自動化するのはそんなに難しくないよ。
ソフト的に一発ってのは知る限りでないな。
だいたいこの手順になるはず。
caption2accで字幕ファイルを分離
生TSから狙いの動画ストリームを分離
mp4生成
字幕合成
シェルなりバッチなりで自動化するのはそんなに難しくないよ。
2018/01/03(水) 17:27:08.65ID:8U2aQHll0
>>484
ありがとうございます
バッチで自動化、なるほどです
しかしffmpeg等のフロントエンドに、字幕を一発自動コピーするものが出て欲しいものです
D&Dで多数ファイルを一括投入して全部変換させたい
字幕ストリームってついててもサイズ的には誤差みたいな小ささですよね?
ありがとうございます
バッチで自動化、なるほどです
しかしffmpeg等のフロントエンドに、字幕を一発自動コピーするものが出て欲しいものです
D&Dで多数ファイルを一括投入して全部変換させたい
字幕ストリームってついててもサイズ的には誤差みたいな小ささですよね?
2018/01/03(水) 21:26:25.38ID:sLoE65mV0
ネトウヨ
https://www.youtube.com/watch?v=HEt5syrt9p0&feature=youtu.be&t=45m57s
https://www.youtube.com/watch?v=HEt5syrt9p0&feature=youtu.be&t=45m57s
2018/01/03(水) 22:42:12.51ID:Camcc4U90
>>482
VLC
VLC
2018/01/04(木) 18:01:14.69ID:l9HIW6/r0
>>446の件だけど、ニコラボさんのvmafmotionの記事、修正されてた。
新しい映像の動きの評価 vmafmotion | ニコラボ
http://nico-lab.net/vmafmotion_with_ffmpeg/
libvmafってLinuxとmacOSしかサポートしてないっぽいけど、Windowsで動くようにならないのかなあ。
新しい映像の動きの評価 vmafmotion | ニコラボ
http://nico-lab.net/vmafmotion_with_ffmpeg/
libvmafってLinuxとmacOSしかサポートしてないっぽいけど、Windowsで動くようにならないのかなあ。
2018/01/14(日) 11:13:58.08ID:Dh5x6CGR0
tbrが60になってたらbwdifみたいなのかければ60fpsなるってことでいいの?
2018/01/14(日) 12:52:27.79ID:bASmp/670
抽出したaacのトータル時間が実際と違うのは何故?
491名無しさん@お腹いっぱい。
2018/01/27(土) 14:12:55.56ID:SZpprUJj0 ffmpegがNVencに引き続き、AMDのVCEに対応したと聞いたから早速
自分でもVCE対応ffmpegをビルドてみようと思った。
ffmpegのビルド環境は
http://mylabo.webcrow.jp/ffmpeg.php
のを使わせてもらった。(中身はMSYS+MinGWだったかな)
http://nico-lab.net/installing_amd-vce_with_ffmpeg/
AMF(Advanced Media Framework) SDKをダウンロードしてきて
amf/public/include の中身を、C:\MSYS\local\x86_64\include\AMFにコピー。
上記のサイトによるとffmpegのconfigureではAMFを自動認識するとのことなので
何も考えずに普段通りに./configureかけてビルドしてみたけど
-v:c h264_amf も -v:c hevc_amf もどちらもunknown optionとか言われて使えない。
何かビルド方法に間違いでもあったかな?
ちなみにグラボはAMDのR9 290。
自分でもVCE対応ffmpegをビルドてみようと思った。
ffmpegのビルド環境は
http://mylabo.webcrow.jp/ffmpeg.php
のを使わせてもらった。(中身はMSYS+MinGWだったかな)
http://nico-lab.net/installing_amd-vce_with_ffmpeg/
AMF(Advanced Media Framework) SDKをダウンロードしてきて
amf/public/include の中身を、C:\MSYS\local\x86_64\include\AMFにコピー。
上記のサイトによるとffmpegのconfigureではAMFを自動認識するとのことなので
何も考えずに普段通りに./configureかけてビルドしてみたけど
-v:c h264_amf も -v:c hevc_amf もどちらもunknown optionとか言われて使えない。
何かビルド方法に間違いでもあったかな?
ちなみにグラボはAMDのR9 290。
2018/02/13(火) 19:28:19.00ID:Z+IyVvJP0
割り込み質問失礼します。ISDB向けFFmpeg(https://github.com/0p1pp1/FFmpeg.git)で困っています。
以下のコマンドで字幕付きで一応は変換できたんですが、実際はvlcで再生しても字幕が無いと言われます。
ffmpeg -ss 10 -c:s isdbsub \
-vaapi_device /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -threads 6 \
-y -i "2032_20180213053600.ts" -analyzeduration 30M -probesize 300M -r 15000/1001 \
-filter_complex "format=nv12|vaapi,hwupload,deinterlace_vaapi,scale_vaapi=w=152:h=-1" \
-c:v h264_vaapi -qp 27 -map s:0 -scodec ass -ass_raw_mode 1 -an \
-movflags faststart \
-f mpegts "2032_20180213053600.mp4"
...snip...
video:1855kB audio:0kB subtitle:32kB other streams:0kB global headers:0kB muxing overhead: 28.618532%
※テスト用なので音声は無くしています。
$ ffprobe "2032_20180213053600.mp4"
ffprobe version n3.3-26-gb68f0b9b3b Copyright (c) 2007-2017 the FFmpeg developers
...snip...
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 152x102 [SAR 32:27 DAR 2432:1377], 14.99 fps, 14.99 tbr, 90k tbn, 29.97 tbc
Stream #0:1[0x101]: Data: bin_data ([6][0][0][0] / 0x0006)
Unsupported codec with id 100359 for input stream 1
↑Stream #0:1がDataとなっています。
詳しい方ヒントをお願いします。
以下のコマンドで字幕付きで一応は変換できたんですが、実際はvlcで再生しても字幕が無いと言われます。
ffmpeg -ss 10 -c:s isdbsub \
-vaapi_device /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -threads 6 \
-y -i "2032_20180213053600.ts" -analyzeduration 30M -probesize 300M -r 15000/1001 \
-filter_complex "format=nv12|vaapi,hwupload,deinterlace_vaapi,scale_vaapi=w=152:h=-1" \
-c:v h264_vaapi -qp 27 -map s:0 -scodec ass -ass_raw_mode 1 -an \
-movflags faststart \
-f mpegts "2032_20180213053600.mp4"
...snip...
video:1855kB audio:0kB subtitle:32kB other streams:0kB global headers:0kB muxing overhead: 28.618532%
※テスト用なので音声は無くしています。
$ ffprobe "2032_20180213053600.mp4"
ffprobe version n3.3-26-gb68f0b9b3b Copyright (c) 2007-2017 the FFmpeg developers
...snip...
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 152x102 [SAR 32:27 DAR 2432:1377], 14.99 fps, 14.99 tbr, 90k tbn, 29.97 tbc
Stream #0:1[0x101]: Data: bin_data ([6][0][0][0] / 0x0006)
Unsupported codec with id 100359 for input stream 1
↑Stream #0:1がDataとなっています。
詳しい方ヒントをお願いします。
2018/02/13(火) 23:35:11.11ID:Mzx4dzXi0
ttps://github.com/0p1pp1/libass
これも正しくリンクできてないからじゃ?
これも正しくリンクできてないからじゃ?
2018/02/14(水) 03:17:02.41ID:SwPjuRGt0
いやらしい名前のライブラリだな
2018/02/14(水) 12:22:13.04ID:QGievQM+0
>>493
感謝!
libassは考慮していませんでした。早速以下の通りに導入。
■ffmpeg入れ直し
$ ./configure --enable-libass --extra-ldflags="-L/usr/local/lib"
■共有ライブラリ参照
$ sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local-lib.conf'
$ ldconfig -v
$ ldd /usr/local/bin/ffmpeg | grep libass
libass.so.9 => /usr/local/lib/libass.so.9 (0x00007f17042ec000)
■ffmpeg実行中に動作確認
$ sudo lsof -c ffmpeg |grep libass
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
ffmpeg 11375 XXXX mem REG 253,0 913872 1966566 /usr/local/lib/libass.so.9.0.1
しかし、残念ながら結果は変わらず。。。
試しにコピーモードで変換しても、subtitlesがdataに変わってしまう。
感謝!
libassは考慮していませんでした。早速以下の通りに導入。
■ffmpeg入れ直し
$ ./configure --enable-libass --extra-ldflags="-L/usr/local/lib"
■共有ライブラリ参照
$ sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local-lib.conf'
$ ldconfig -v
$ ldd /usr/local/bin/ffmpeg | grep libass
libass.so.9 => /usr/local/lib/libass.so.9 (0x00007f17042ec000)
■ffmpeg実行中に動作確認
$ sudo lsof -c ffmpeg |grep libass
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
ffmpeg 11375 XXXX mem REG 253,0 913872 1966566 /usr/local/lib/libass.so.9.0.1
しかし、残念ながら結果は変わらず。。。
試しにコピーモードで変換しても、subtitlesがdataに変わってしまう。
2018/02/14(水) 20:48:55.29ID:2MLusD+G0
ノイズがひどい動画のデノイズをしようとニコラボさんを参考に
ffplay -i input -vf "split=3[0][1][2];[0]sobel=1,lutyuv=255-gt(val¥,250)*255:128:128[0a];[1]hqdn3d[1a];[1a][0a]alphamerge[10];[2][10]overlay"
としてみるも、エッジ抽出でノイズを拾ってしまいます
ffplay -i input -vf "split=3[0][1][2];[0]sobel=1,lutyuv=255-gt(val¥,250)*255:128:128[0a];[1]hqdn3d[1a];[1a][0a]alphamerge[10];[2][10]overlay"
としてみるも、エッジ抽出でノイズを拾ってしまいます
2018/02/14(水) 20:50:00.42ID:2MLusD+G0
途中になってしまった
何か良い方法はないですか?
何か良い方法はないですか?
2018/02/14(水) 21:14:28.14ID:9bUiwaXz0
>495
-vn -an -map s:0 -scodec ass -ass_raw_mode 1 -f data output.ass
これで字幕だけ出力できるかどうか
>496
エッジ保持しながらデノイズするなら unsharp または smartblur を使うのが手軽
-vn -an -map s:0 -scodec ass -ass_raw_mode 1 -f data output.ass
これで字幕だけ出力できるかどうか
>496
エッジ保持しながらデノイズするなら unsharp または smartblur を使うのが手軽
2018/02/14(水) 21:34:09.45ID:QGievQM+0
>>498
ありがとうございます!
抽出はできました。ファイルの中身もOKです。
ということは、1コマンドで字幕付きで直接アウトプットする過程でダメになってしまうんですね。。。
$ ffmpeg -i 2040_20180214072600.ts -vn -an -map s:0 -scodec ass -ass_raw_mode 1 -f data output.ass
…snip…
video:0kB audio:0kB subtitle:9kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
$ ffprobe output.ass
ffprobe version n3.3-26-gb68f0b9b3b Copyright (c) 2007-2017 the FFmpeg developers
built with gcc 7 (GCC)
configuration: --enable-libass --extra-ldflags=-L/usr/local/lib
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
Input #0, ass, from 'output.ass':
Duration: N/A, bitrate: N/A
Stream #0:0: Subtitle: ass
$ file output.ass
output.ass: UTF-8 Unicode text
ありがとうございます!
抽出はできました。ファイルの中身もOKです。
ということは、1コマンドで字幕付きで直接アウトプットする過程でダメになってしまうんですね。。。
$ ffmpeg -i 2040_20180214072600.ts -vn -an -map s:0 -scodec ass -ass_raw_mode 1 -f data output.ass
…snip…
video:0kB audio:0kB subtitle:9kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
$ ffprobe output.ass
ffprobe version n3.3-26-gb68f0b9b3b Copyright (c) 2007-2017 the FFmpeg developers
built with gcc 7 (GCC)
configuration: --enable-libass --extra-ldflags=-L/usr/local/lib
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
Input #0, ass, from 'output.ass':
Duration: N/A, bitrate: N/A
Stream #0:0: Subtitle: ass
$ file output.ass
output.ass: UTF-8 Unicode text
2018/02/14(水) 22:07:54.12ID:pYG8WGD90
>>495 >>499
ASS字幕の様なレイアウト機能有りの字幕トラックはmp4には規定されてないから単なるデータとして保持してるんじゃないかな
SRT字幕はTimed Text形式として字幕トラック化できる(ffmpegで出来るかは試してないがmp4boxで出来る事なので"できる"としておく)
ffmpeg内でISDB字幕⇒Timed Text形式でmp4に格納、が出来るのかは内部処理見てないから分からないが
ASS以外のフォーマット指定ならどうなるか確認
あとは、mkvコンテナであればASS字幕も字幕トラックとして扱える
もしくは .mp4/.ass と外部字幕として分けて保持するのが無難 (テキストいじれて後調整が利く)
ASS字幕の様なレイアウト機能有りの字幕トラックはmp4には規定されてないから単なるデータとして保持してるんじゃないかな
SRT字幕はTimed Text形式として字幕トラック化できる(ffmpegで出来るかは試してないがmp4boxで出来る事なので"できる"としておく)
ffmpeg内でISDB字幕⇒Timed Text形式でmp4に格納、が出来るのかは内部処理見てないから分からないが
ASS以外のフォーマット指定ならどうなるか確認
あとは、mkvコンテナであればASS字幕も字幕トラックとして扱える
もしくは .mp4/.ass と外部字幕として分けて保持するのが無難 (テキストいじれて後調整が利く)
2018/02/14(水) 23:14:01.86ID:fUwqvgX60
ID:pYG8WGD90だから何?
2018/02/14(水) 23:46:37.22ID:QGievQM+0
>>500
感謝!!
ご指摘のとおり、mp4→mkvに出力ファイルを変更してみました。
$ ffmpeg -c:s isdbsub -vaapi_device /dev/dri/renderD128 \
-hwaccel vaapi -hwaccel_output_format vaapi -y -i "2040_20180214072600.ts" \
-filter_complex "format=nv12|vaapi,hwupload,deinterlace_vaapi,scale_vaapi=w=300:h=-1" \
-c:v h264_vaapi -qp 27 -map s:0 -scodec ass -ass_raw_mode 1 -an \
-f matroska "output.mkv"
$ ffprobe "output.mkv"
…snip…
Stream #0:1: Subtitle: ass (default)
結果、字幕と認識されました!
ただし、vlcなどのプレーヤーでも字幕は表示されませんでした。
他ソフトでも表示はできませんが、プレーヤー機能から字幕の内容は取り出せます。
$ /usr/bin/wine /usr/local/bin/Caption2AssC_x64.exe output.mkv
[Source] output.mkv
[Target] output.mkv
[Format] ass
Invalid TS File.
惜しいところまで行きました。
外部字幕として分けて保持するのが無難のようですかな。
感謝!!
ご指摘のとおり、mp4→mkvに出力ファイルを変更してみました。
$ ffmpeg -c:s isdbsub -vaapi_device /dev/dri/renderD128 \
-hwaccel vaapi -hwaccel_output_format vaapi -y -i "2040_20180214072600.ts" \
-filter_complex "format=nv12|vaapi,hwupload,deinterlace_vaapi,scale_vaapi=w=300:h=-1" \
-c:v h264_vaapi -qp 27 -map s:0 -scodec ass -ass_raw_mode 1 -an \
-f matroska "output.mkv"
$ ffprobe "output.mkv"
…snip…
Stream #0:1: Subtitle: ass (default)
結果、字幕と認識されました!
ただし、vlcなどのプレーヤーでも字幕は表示されませんでした。
他ソフトでも表示はできませんが、プレーヤー機能から字幕の内容は取り出せます。
$ /usr/bin/wine /usr/local/bin/Caption2AssC_x64.exe output.mkv
[Source] output.mkv
[Target] output.mkv
[Format] ass
Invalid TS File.
惜しいところまで行きました。
外部字幕として分けて保持するのが無難のようですかな。
2018/02/14(水) 23:53:08.24ID:LCqe990D0
2018/02/15(木) 00:21:17.36ID:OMQPjeoH0
>>502
mkvでいいなら、
最初にmp4コンテナで作成(映像・音声)
→mkvtoolnix(mkvmerge)で別途抽出した字幕をマージしてmkvコンテナ作成
で、ほぼ全てのmkvパーサー(VLC含む)で字幕を再生できるよ
ffmpegでもできるんだけど、やや互換性に難がある印象。
mkvでいいなら、
最初にmp4コンテナで作成(映像・音声)
→mkvtoolnix(mkvmerge)で別途抽出した字幕をマージしてmkvコンテナ作成
で、ほぼ全てのmkvパーサー(VLC含む)で字幕を再生できるよ
ffmpegでもできるんだけど、やや互換性に難がある印象。
2018/02/15(木) 00:53:18.34ID:CvKsYjmO0
>>502
>ただし、vlcなどのプレーヤーでも字幕は表示されませんでした。
>他ソフトでも表示はできませんが、プレーヤー機能から字幕の内容は取り出せます。
・VLCの字幕メニューから字幕トラックを指定したら表示されるというオチは無いか?
・他のソフトって何を試したんだ?
> $ /usr/bin/wine /usr/local/bin/Caption2AssC_x64.exe output.mkv
> ・・・
> Invalid TS File.
よく知らんがCaption2AssってMPEG-TSから字幕を取り出すツールであってmkvに使えるものじゃないのでは?
>ただし、vlcなどのプレーヤーでも字幕は表示されませんでした。
>他ソフトでも表示はできませんが、プレーヤー機能から字幕の内容は取り出せます。
・VLCの字幕メニューから字幕トラックを指定したら表示されるというオチは無いか?
・他のソフトって何を試したんだ?
> $ /usr/bin/wine /usr/local/bin/Caption2AssC_x64.exe output.mkv
> ・・・
> Invalid TS File.
よく知らんがCaption2AssってMPEG-TSから字幕を取り出すツールであってmkvに使えるものじゃないのでは?
2018/02/15(木) 11:50:40.98ID:2vUw3R580
>>505
返答ありがとう。
> ・VLCの字幕メニューから字幕トラックを指定したら表示されるというオチは無いか?
>
そのオチではないですよ。何回も確認した。
> ・他のソフトって何を試したんだ?
>
他にはPotPlayerとKMPlayer。その2つなら「字幕ブラウザー」「字幕エクスプローラー」で字幕の中身を表示できる。
蛇足ですが、2つとも字幕表示を動画領域表示外の余白領域に表示できるので、元のテロップに被らないところが優位点。
> よく知らんがCaption2AssってMPEG-TSから字幕を取り出すツールであってmkvに使えるものじゃないのでは?
そうだった。いつもTSファイルから抽出していました。
返答ありがとう。
> ・VLCの字幕メニューから字幕トラックを指定したら表示されるというオチは無いか?
>
そのオチではないですよ。何回も確認した。
> ・他のソフトって何を試したんだ?
>
他にはPotPlayerとKMPlayer。その2つなら「字幕ブラウザー」「字幕エクスプローラー」で字幕の中身を表示できる。
蛇足ですが、2つとも字幕表示を動画領域表示外の余白領域に表示できるので、元のテロップに被らないところが優位点。
> よく知らんがCaption2AssってMPEG-TSから字幕を取り出すツールであってmkvに使えるものじゃないのでは?
そうだった。いつもTSファイルから抽出していました。
2018/02/15(木) 12:10:21.10ID:2vUw3R580
続きです。
ffmpegで抽出したassファイルをmkvファイルにマージしようとしたところエラーで失敗。
ffmpeg -y -i temp/2040_20180214072600.mkv -i 2040_20180214072600_HD.ass -c:s mov_text -c:v copy -c:a copy -map 0:v -map 0:a -map 1:0 -metadata:s:s:0 language=jpn -f matroska output.mkv
...snip...
[matroska @ 0x2705e60] Subtitle codec 94213 is not supported.
av_interleaved_write_frame(): Function not implemented
Error writing trailer of output.mkv: Function not implemented
代替策で以下のやり方ならうまくいきました。各種プレーヤーで表示もばっちり。
1. wine /usr/local/bin/Caption2AssC_x64.exe 〜
assファイルを抽出
2. ffmpeg 〜 -f matroska temp/2040_20180214072600.mp4
字幕無しのmp4ファイル作成
3. ffmpeg -y -i temp/2040_20180214072600.mp4 -i "temp/2040_20180214072600.ass" \
-c:s mov_text -c:v copy -c:a copy -map 0:v -map 0:a -map 1:0 -metadata:s:s:0 language=jpn \
./2040_20180214072600.mp4"
字幕をマージ
以上
mkvtoolnix(mkvmerge)の紹介もありがとう。こちらもオプションが多くて多機能ですね。
まとまった時間ができたらトライしてみます。
最終的には保管目的で、CMカット&字幕付きで変換できることが目標です。
ffmpegで抽出したassファイルをmkvファイルにマージしようとしたところエラーで失敗。
ffmpeg -y -i temp/2040_20180214072600.mkv -i 2040_20180214072600_HD.ass -c:s mov_text -c:v copy -c:a copy -map 0:v -map 0:a -map 1:0 -metadata:s:s:0 language=jpn -f matroska output.mkv
...snip...
[matroska @ 0x2705e60] Subtitle codec 94213 is not supported.
av_interleaved_write_frame(): Function not implemented
Error writing trailer of output.mkv: Function not implemented
代替策で以下のやり方ならうまくいきました。各種プレーヤーで表示もばっちり。
1. wine /usr/local/bin/Caption2AssC_x64.exe 〜
assファイルを抽出
2. ffmpeg 〜 -f matroska temp/2040_20180214072600.mp4
字幕無しのmp4ファイル作成
3. ffmpeg -y -i temp/2040_20180214072600.mp4 -i "temp/2040_20180214072600.ass" \
-c:s mov_text -c:v copy -c:a copy -map 0:v -map 0:a -map 1:0 -metadata:s:s:0 language=jpn \
./2040_20180214072600.mp4"
字幕をマージ
以上
mkvtoolnix(mkvmerge)の紹介もありがとう。こちらもオプションが多くて多機能ですね。
まとまった時間ができたらトライしてみます。
最終的には保管目的で、CMカット&字幕付きで変換できることが目標です。
2018/02/15(木) 14:31:43.81ID:PQUQY0VS0
2018/02/15(木) 14:39:08.52ID:62FUj//u0
2018/02/15(木) 16:09:51.30ID:2vUw3R580
>>509
ご指摘大変ありがとう。やり直してみた。
$ ffmpeg -y -i output.mkv -i output.ass \
-c:s ass -c:v copy -c:a copy -map 0:v -an -map 1:0 -metadata:s:s:0 language=jpn \
-f matroska output2.mkv
これでプレーヤーで字幕表示できました。
色々助けていただき感謝!!
ご指摘大変ありがとう。やり直してみた。
$ ffmpeg -y -i output.mkv -i output.ass \
-c:s ass -c:v copy -c:a copy -map 0:v -an -map 1:0 -metadata:s:s:0 language=jpn \
-f matroska output2.mkv
これでプレーヤーで字幕表示できました。
色々助けていただき感謝!!
511名無しさん@お腹いっぱい。
2018/03/02(金) 05:03:21.80ID:1QlKnswC0 ちょっと知っている人がいたら教えてください。
Ffmpeg ver2,2 で、音声波形が一枚の画像でとれるコマンドは、ありますか?
コマンド名だけでも教えてくれると、ありがたいのですが。
Ffmpeg ver2,2 で、音声波形が一枚の画像でとれるコマンドは、ありますか?
コマンド名だけでも教えてくれると、ありがたいのですが。
2018/03/02(金) 23:57:29.97ID:8my2/mXE0
おそらく2.2 に限定しなければあるが
ttps://git.videolan.org/?p=ffmpeg.git;a=blob;f=Changelog#l472
以下にいくつかあるので試せれば
ttps://ffmpeg.org/ffmpeg-filters.html#Multimedia-Filters
ttps://git.videolan.org/?p=ffmpeg.git;a=blob;f=Changelog#l472
以下にいくつかあるので試せれば
ttps://ffmpeg.org/ffmpeg-filters.html#Multimedia-Filters
2018/03/02(金) 23:59:09.52ID:fIJwaAeA0
最新バージョンならavgle落とせる?
514名無しさん@お腹いっぱい。
2018/03/04(日) 05:43:49.10ID:gdi8Uafx02018/03/13(火) 00:04:39.30ID:Wu2g8Dly0
Windowsでlibvmafを有効にしたffmpegが使いたくて色々探してたら自動ビルドスクリプトがあった。
https://github.com/jb-alvarado/media-autobuild_suite
説明どおり、ダウンロードしてmedia-autobuild_suite.batを実行して色々な質問に答えたら、
あとは自動でMSYS2環境を作って、必要なライブラリや実行バイナリをビルドしてくれる。
自分はlibvmafが使いたいだけだったので--enable-avisynth --enable-libvmafの
ffmpegだけビルドするようにしたけど、質問に適切に答えればx264やx265などもビルドしてくれる模様。
実行前にmedia-autobuild_suite.batの中身を見て質問内容とかを確認しておくといいと思う。
"Choose ffmpeg and mpv optional libs:"の質問で1(Yes)にすると、
build\ffmpeg_options.txt、buld\mpv_options.txtが生成されて
そこで有効にしたい機能を選べるのだけど、ffmpegだけほしいという場合でも
ffmpeg_options.txtだけでなくmpv_options.txtも見て、不要なものは無効にしておくこと。
そうじゃないとmpv用ライブラリのビルドが入ってしまい、無駄に時間がかかる。
(mpv自体をビルドしないようにする質問もあるのだけど、これでNoにしておいても
なぜかmpv_options.txtを見てmpv用ライブラリのビルドにいってしまう模様。)
https://github.com/jb-alvarado/media-autobuild_suite
説明どおり、ダウンロードしてmedia-autobuild_suite.batを実行して色々な質問に答えたら、
あとは自動でMSYS2環境を作って、必要なライブラリや実行バイナリをビルドしてくれる。
自分はlibvmafが使いたいだけだったので--enable-avisynth --enable-libvmafの
ffmpegだけビルドするようにしたけど、質問に適切に答えればx264やx265などもビルドしてくれる模様。
実行前にmedia-autobuild_suite.batの中身を見て質問内容とかを確認しておくといいと思う。
"Choose ffmpeg and mpv optional libs:"の質問で1(Yes)にすると、
build\ffmpeg_options.txt、buld\mpv_options.txtが生成されて
そこで有効にしたい機能を選べるのだけど、ffmpegだけほしいという場合でも
ffmpeg_options.txtだけでなくmpv_options.txtも見て、不要なものは無効にしておくこと。
そうじゃないとmpv用ライブラリのビルドが入ってしまい、無駄に時間がかかる。
(mpv自体をビルドしないようにする質問もあるのだけど、これでNoにしておいても
なぜかmpv_options.txtを見てmpv用ライブラリのビルドにいってしまう模様。)
2018/03/13(火) 00:06:38.12ID:Wu2g8Dly0
ちなみにlibvmafは現状ではpthread依存のようで、ffmpegに--disable-w32threadsが必要みたいだけど、
Zeranoe氏はpthreadだと遅くなるということで避けたいらしく、当面はlibvmafはZeranoe版バイナリには入らない模様。
https://ffmpeg.zeranoe.com/forum/viewtopic.php?p=13039#p13039
Zeranoe氏はpthreadだと遅くなるということで避けたいらしく、当面はlibvmafはZeranoe版バイナリには入らない模様。
https://ffmpeg.zeranoe.com/forum/viewtopic.php?p=13039#p13039
2018/03/14(水) 01:44:48.55ID:+sUERpBc0
8bitのyuv420p.mp4と、10bitのyuv420p10le.mp4があり、SSIMの計算をしたいと考えています。
8bit,10bitの順で渡す(yuv420pで計算される)
ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -filter_complex "ssim" -an -f null -
→0.922619
10bit,8bitの順で渡す(yuv420p10leで計算される)
ffmpeg.exe -i yuv420p10le.mp4 -i yuv420p.mp4 -filter_complex "ssim" -an -f null -
→0.924664
これをyuv444p16leで計算させたいのですが、うまくいきません。
●-pix_fmt yuv444p16leを指定してみる
ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -pix_fmt yuv444p16le -filter_complex "ssim" -an -f null -
→0.922619となり、SSIMの計算には影響を与えていない。
●scaleでyuv444p16leに変換してからssimに渡す
set destFmt=yuv444p16le
ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -filter_complex "[0:v]scale=flags=+print_info:dst_format=%destFmt%[s0];[1:v]scale=flags=+print_info:dst_format=%destFmt%[s1];[s0][s1]ssim" -an -f null -
→クラッシュしてしまう。yuv422pやyuv444pも同様。
●yuv420しかダメなのかなということで妥協してscaleでyuv420p16leに変換してからssimに渡す
set destFmt=yuv420p16le
ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -filter_complex "[0:v]scale=flags=+print_info:dst_format=%destFmt%[s0];[1:v]scale=flags=+print_info:dst_format=%destFmt%[s1];[s0][s1]ssim" -an -f null -
→値が0.049253と異様に低くなってしまう
どうすればうまくいくでしょうか。
試したバイナリはZeranoe版の3.4.1-win64-staticと20180313-688060f-win64-staticです。
8bit,10bitの順で渡す(yuv420pで計算される)
ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -filter_complex "ssim" -an -f null -
→0.922619
10bit,8bitの順で渡す(yuv420p10leで計算される)
ffmpeg.exe -i yuv420p10le.mp4 -i yuv420p.mp4 -filter_complex "ssim" -an -f null -
→0.924664
これをyuv444p16leで計算させたいのですが、うまくいきません。
●-pix_fmt yuv444p16leを指定してみる
ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -pix_fmt yuv444p16le -filter_complex "ssim" -an -f null -
→0.922619となり、SSIMの計算には影響を与えていない。
●scaleでyuv444p16leに変換してからssimに渡す
set destFmt=yuv444p16le
ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -filter_complex "[0:v]scale=flags=+print_info:dst_format=%destFmt%[s0];[1:v]scale=flags=+print_info:dst_format=%destFmt%[s1];[s0][s1]ssim" -an -f null -
→クラッシュしてしまう。yuv422pやyuv444pも同様。
●yuv420しかダメなのかなということで妥協してscaleでyuv420p16leに変換してからssimに渡す
set destFmt=yuv420p16le
ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -filter_complex "[0:v]scale=flags=+print_info:dst_format=%destFmt%[s0];[1:v]scale=flags=+print_info:dst_format=%destFmt%[s1];[s0][s1]ssim" -an -f null -
→値が0.049253と異様に低くなってしまう
どうすればうまくいくでしょうか。
試したバイナリはZeranoe版の3.4.1-win64-staticと20180313-688060f-win64-staticです。
2018/03/14(水) 22:08:37.44ID:L5LjhPTZ0
おそらく異なるビット深度で比較しているからエラーが出るのかと。
入力の時点でビット深度を揃えた方がよさそう。
ffmpeg.exe -f lavfi -i movie=yuv420p.mp4,format=yuv444p16le -f lavfi -i movie=yuv420p10le.mp4,format=yuv444p16le -filter_complex "ssim" -an -f null -
けどこういう意見もある
ffmpeg フレームごとのSSIMをリアルタイムで表示してみる - 脳内メモ(アドレスが貼れない
今のところffmpegのssimフィルタは8bit/チャンネルのフォーマットのみ対応で10bitや16bitは内部で8bitフォーマットに変換されてから計算されます。もっとも10bitの末尾2bit分の違いで現れる数値に意味があるかは疑問ではあります。
入力の時点でビット深度を揃えた方がよさそう。
ffmpeg.exe -f lavfi -i movie=yuv420p.mp4,format=yuv444p16le -f lavfi -i movie=yuv420p10le.mp4,format=yuv444p16le -filter_complex "ssim" -an -f null -
けどこういう意見もある
ffmpeg フレームごとのSSIMをリアルタイムで表示してみる - 脳内メモ(アドレスが貼れない
今のところffmpegのssimフィルタは8bit/チャンネルのフォーマットのみ対応で10bitや16bitは内部で8bitフォーマットに変換されてから計算されます。もっとも10bitの末尾2bit分の違いで現れる数値に意味があるかは疑問ではあります。
2018/03/14(水) 22:56:52.12ID:CV3gLgJE0
CPUの違いで結果に差が出るもんですか?
i7 2600とi3 2100の環境で同ソース、同パラメータでサイズが数十MBも違うファイルが出来たんですが
i7 2600とi3 2100の環境で同ソース、同パラメータでサイズが数十MBも違うファイルが出来たんですが
2018/03/14(水) 23:06:18.60ID:UhJiZh1I0
>>518
できました!ありがとうございます。 -f lavfi -i movie=〜 という入力手法は知らなかったので勉強になりました。
1つ難があるとしたら、movie=で渡すファイル名やパスのエスケープが必要ってとこですね。
色々試していて
ffmpeg.exe -i yuv420p.mp4 -strict -1 -pix_fmt yuv444p16le -f yuv4mpegpipe - | ffmpeg.exe -i - -i yuv420p10le.mp4 -filter_complex "ssim" -an -f null -
という、やや回りくどい方法も思いついたのですが、どちらを使うか少し考えてみようと思います。
なお 8bit以上の深度でのSSIM計測には、その記事が出た後の2016年12月に対応していて、
2017年7月初頭にバグ修正もされたので、それ以降のバージョンであれば問題なさそうです。
できました!ありがとうございます。 -f lavfi -i movie=〜 という入力手法は知らなかったので勉強になりました。
1つ難があるとしたら、movie=で渡すファイル名やパスのエスケープが必要ってとこですね。
色々試していて
ffmpeg.exe -i yuv420p.mp4 -strict -1 -pix_fmt yuv444p16le -f yuv4mpegpipe - | ffmpeg.exe -i - -i yuv420p10le.mp4 -filter_complex "ssim" -an -f null -
という、やや回りくどい方法も思いついたのですが、どちらを使うか少し考えてみようと思います。
なお 8bit以上の深度でのSSIM計測には、その記事が出た後の2016年12月に対応していて、
2017年7月初頭にバグ修正もされたので、それ以降のバージョンであれば問題なさそうです。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【芸能】『バンダイナムコフェス』上海公演 日本人歌手・大槻マキが歌唱中に強制退場… 急に音を止められスタッフらしき人達に [冬月記者★]
- 「怒りに震えて涙が出た」 同性婚認めず「合憲」判断に原告が反発 「差別的な判決だ」 [ぐれ★]
- 橋下徹氏 高市首相“台湾有事”発言に「政治家の失言で一部の人でも仕事がキャンセルに…我々は認めていいのかな」疑問呈す [muffin★]
- 「インバウンド政策上、中国は重要」、訪日自粛で金子国交相「早く通常の状況に戻っていただきたい」★2 [ぐれ★]
- 高市首相が代表の政党支部、企業から上限超える寄付 公表後に訂正 [どどん★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★5 [ぐれ★]
- 新聞配達してるオジサン見かけると悲しくなるよな
- 私いる?どこ?
- おまえらってなんでウィーンガションってしないの?
- 【動画】上海バンダイナムコフェス、ワンピース歌ってる途中に中国政府「日本人の公演全面禁止」発令された瞬間強制終了 怖すぎ★4 [579392623]
- 千晴は酒さで顔面にキンダベートを塗りたっくっている😡
- かけそばとかいう何のメリットもない食べ物
