公式サイト
http://ffmpeg.org/
エンコード、ストリーミング配信を高画質高音質で行えるffmpeg。
OSに拘らず対応コーデックが多い。
対応コーデックが多く、多彩なオプションを使用可能。
コマンドラインから使用することができる。
ffmpegならこちらへ 3
https://egg.5ch.net/test/read.cgi/software/1487682297/
探検
ffmpegならこちらへ 4
■ このスレッドは過去ログ倉庫に格納されています
2019/04/21(日) 01:11:29.44ID:TpNEqVMQ0
2020/05/10(日) 00:33:34.46ID:Z5wZ7UCa0
かなりのバカみたいだから画質とかわからなそう
2020/05/10(日) 00:40:38.12ID:8gYxD07w0
サイズ変えると同じ(同じってわけじゃないけども)品質の画質を維持するのに必要なビットレートは変わるよ
細かいこと抜かして感覚的な話で行けば1080pの解像度で5Mbps辺りなら720pで2.5Mbpsくらい
いくつか一部分だけ仮エンコードしてみて納得できるビットレート探ってみたら?
細かいこと抜かして感覚的な話で行けば1080pの解像度で5Mbps辺りなら720pで2.5Mbpsくらい
いくつか一部分だけ仮エンコードしてみて納得できるビットレート探ってみたら?
2020/05/10(日) 01:18:11.88ID:egxzFZV90
>>721
プレイヤー側で720X1280にするとか?
プレイヤー側で720X1280にするとか?
2020/05/10(日) 02:31:44.61ID:DPG+qu930
縮小したらディテールは失われYUV再劣化とかするけど再生環境を限定するって前提なら別にいい・・・のかな?
縮小の都合でノイズは減るかもしれないけどビットレート足りなくて余計きちゃない()になる可能性もあるし
ついでにインターレースバリバリだとオワタ/(^o^)\画質になるし
縮小の都合でノイズは減るかもしれないけどビットレート足りなくて余計きちゃない()になる可能性もあるし
ついでにインターレースバリバリだとオワタ/(^o^)\画質になるし
2020/05/10(日) 03:14:10.51ID:ZyMknyki0
727713
2020/05/10(日) 13:25:31.92ID:emY54I1E0 どなたか、私にもご回答いただけないでしょうか?
例えば、
動画時間を
4.43 sec
のようなかたちで表示したいのですが、
text='%{{eif\:t\:d}}\.%{{eif\:mod(t*10\,10)\:d}}
のようにするしかないですか?
C#みたいに、.ToString("0.00")みたいな表記はできませんか?
例えば、
動画時間を
4.43 sec
のようなかたちで表示したいのですが、
text='%{{eif\:t\:d}}\.%{{eif\:mod(t*10\,10)\:d}}
のようにするしかないですか?
C#みたいに、.ToString("0.00")みたいな表記はできませんか?
728名無しさん@お腹いっぱい。
2020/05/10(日) 17:29:44.60ID:SjCQ5fqs0 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
にリネームしないとエラー出てビルドできなかったんだけど、回避方法ある?
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
にリネームしないとエラー出てビルドできなかったんだけど、回避方法ある?
2020/05/10(日) 18:01:13.61ID:Z5wZ7UCa0
回避してんじゃん
730名無しさん@お腹いっぱい。
2020/05/10(日) 18:49:24.68ID:SjCQ5fqs0 ごめん言葉足らずだった
リネーム以外に回避方法あるのっと言いたかった
リネーム以外に回避方法あるのっと言いたかった
2020/05/10(日) 20:04:06.20ID:btwDrftv0
>727
単体の設定で小数点以下の桁数指定の秒指定が無いから
eif 内で演算するしか方法がないと思う
単体の設定で小数点以下の桁数指定の秒指定が無いから
eif 内で演算するしか方法がないと思う
2020/05/12(火) 12:29:09.89ID:C+gLB/tr0
zeranoe.comにある最新ビルド、ffmpeg-20200510-fc99a24
HLSのキーを取得できなくなっているな。
抽出したURI文字列の頭にゴミが残って、パスが別物になるので、
キーファイルが見つからない、となる。
ffmpegを取り込んでいるMPVの最新ビルド20200510-git-4e94b21でも同じエラーが生じる。
ffmpeg、mpvともに一つ前のビルドはこの点においては問題なし。
HLSを扱う人は、アップデートは待ったほうがいいよ。
HLSのキーを取得できなくなっているな。
抽出したURI文字列の頭にゴミが残って、パスが別物になるので、
キーファイルが見つからない、となる。
ffmpegを取り込んでいるMPVの最新ビルド20200510-git-4e94b21でも同じエラーが生じる。
ffmpeg、mpvともに一つ前のビルドはこの点においては問題なし。
HLSを扱う人は、アップデートは待ったほうがいいよ。
2020/05/13(水) 01:31:54.87ID:OxnAAaO00
TSをmp4(h264)にエンコードして、画質をssimで調べてるんだけどssim値が予想と違う。
以下のようにエンコード。<CRF>は0,10,20,30と変えた。
$ ffmpeg -fflags +discardcorrupt -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測定時のオプションなど間違っているのでしょうか?
以下のようにエンコード。<CRF>は0,10,20,30と変えた。
$ ffmpeg -fflags +discardcorrupt -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測定時のオプションなど間違っているのでしょうか?
735734
2020/05/13(水) 01:35:46.08ID:OxnAAaO00 誤: $ ffmpeg -i input.ts -i output-<CRF> \
正: $ ffmpeg -i input.ts -i output-<CRF>.mp4 \
正: $ ffmpeg -i input.ts -i output-<CRF>.mp4 \
2020/05/13(水) 04:35:48.51ID:Z3WTVEyB0
SSIMは映像の品質を評価するのに向いていないのであまり信頼しないほうがいい
2020/05/13(水) 09:23:45.37ID:Z6fAK/CR0
最後は目視
2020/05/13(水) 10:32:25.69ID:Iek5ichG0
色々試してみてその時は気になりつつも妥協したのにそのプロファイル固定でやるようになると見る時に何も気にならない不思議
2020/05/13(水) 10:40:56.89ID:lrDXybw30
比較すれば違いがあるのは判るけど、
それが問題となるかは全然別の話
それが問題となるかは全然別の話
2020/05/13(水) 13:58:41.13ID:Yp8vBFeK0
skipping ** segments ahead, expired from playlists
↑これが表示されたら自動で終了させたいんですが、方法はありますか?
↑これが表示されたら自動で終了させたいんですが、方法はありますか?
2020/05/13(水) 14:08:19.66ID:BRdMc3QQ0
あります
2020/05/13(水) 16:37:42.16ID:4v3JYXTT0
覚え書き:一行コマンドで複数入力・複数出力
[グローバルオプション]
[入力1オプション] -i <入力1>
[ [入力2オプション] -i <入力2> ……]
<出力1オプション> <出力1>
[ [出力2オプション] <出力2> ……]
[グローバルオプション]
[入力1オプション] -i <入力1>
[ [入力2オプション] -i <入力2> ……]
<出力1オプション> <出力1>
[ [出力2オプション] <出力2> ……]
2020/05/13(水) 18:31:35.03ID:gexdbhqu0
2020/05/13(水) 19:12:30.43ID:BRdMc3QQ0
アホは黙ってろ
2020/05/13(水) 20:26:52.14ID:4v3JYXTT0
2020/05/13(水) 21:15:52.53ID:Un3dDNFS0
テスト
747734
2020/05/13(水) 21:16:41.42ID:Un3dDNFS0 >736 >737 ありがとうございます。
今はx264(ソフト)ですがそのうちNVEncも試したいので、分かりやすい比較指標が欲しいなと思いSSIMを使っています。
今はx264(ソフト)ですがそのうちNVEncも試したいので、分かりやすい比較指標が欲しいなと思いSSIMを使っています。
748743
2020/05/13(水) 21:18:08.38ID:Un3dDNFS0 試しに、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)
生成されるファイルサイズはほぼ同じです。
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)
2020/05/13(水) 23:01:55.36ID:Rirjujk50
>>748
俺も理由はよくわからないんだけど、音声なしでMP4にエンコードしてSSIMを計測するとうまくいったりしない?
俺も理由はよくわからないんだけど、音声なしでMP4にエンコードしてSSIMを計測するとうまくいったりしない?
2020/05/17(日) 15:23:58.70ID:sJVMCeq30
5/10以降のWindowsビルドで、
ffmpeg -safe 0 -f concat -i index.txt -c copy output.mp4
ってやるとImpossible何たらでエラー吐くんだけど
5/4以前なら問題なし
ffmpeg -safe 0 -f concat -i index.txt -c copy output.mp4
ってやるとImpossible何たらでエラー吐くんだけど
5/4以前なら問題なし
2020/05/17(日) 15:40:47.56ID:wyyabrLb0
へえ
2020/05/17(日) 16:14:46.48ID:6pouxY/V0
2020/05/21(木) 11:06:59.95ID:FbBId9sI0
>>733
20200519-74dfc88で直ってた
やはりファイルパスの取り扱い(親ディレクトリパスの取得)がおかしくなっていた模様
https://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=b707abf0911b1cb997bf8b1912c970e1e15996cf
https://trac.ffmpeg.org/ticket/8674
https://trac.ffmpeg.org/ticket/8675
20200519-74dfc88で直ってた
やはりファイルパスの取り扱い(親ディレクトリパスの取得)がおかしくなっていた模様
https://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=b707abf0911b1cb997bf8b1912c970e1e15996cf
https://trac.ffmpeg.org/ticket/8674
https://trac.ffmpeg.org/ticket/8675
2020/05/21(木) 11:40:46.45ID:yX0Ss53O0
>>732
超亀レスだけどカンマで分ける件教えてくれてありがとう
超亀レスだけどカンマで分ける件教えてくれてありがとう
2020/05/22(金) 23:53:26.20ID:orP4Qvwa0
FFmpeg 4.2.3 "Ada"
4.2.3 was released on 2020-05-21.
4.2.3 was released on 2020-05-21.
2020/05/26(火) 11:31:07.92ID:kFexKKRq0
「FFmpeg」に致命的な脆弱性 〜修正版の「FFmpeg 4.2.3」が公開 - 窓の杜
https://forest.watch.impress.co.jp/docs/news/1254535.html
https://forest.watch.impress.co.jp/docs/news/1254535.html
2020/06/01(月) 02:22:43.53ID:LXV95fQ60
覚え書き:フレームレート周りの用語
fractional frame rate(分数フレームレート):30000/1001 ≒ 29.97fpsとか60000/1001 ≒ 59.96fpsとか
integer frame rate(整数フレームレート):30fpsとか60fpsとか
ドロップフレーム:(主に分数フレームレートの素材について)1/1001の割合で飛ばしてタイムコードを紐付ける方式、またそのタイムコード
(分数フレームレートの事を指す為に使うのはいい加減な表現のはず)
ノンドロップフレーム:切れ目なくタイムコードを紐付ける方式、まやそのタイムコード
(整数フレームレートの事w(ry)
fractional frame rate(分数フレームレート):30000/1001 ≒ 29.97fpsとか60000/1001 ≒ 59.96fpsとか
integer frame rate(整数フレームレート):30fpsとか60fpsとか
ドロップフレーム:(主に分数フレームレートの素材について)1/1001の割合で飛ばしてタイムコードを紐付ける方式、またそのタイムコード
(分数フレームレートの事を指す為に使うのはいい加減な表現のはず)
ノンドロップフレーム:切れ目なくタイムコードを紐付ける方式、まやそのタイムコード
(整数フレームレートの事w(ry)
2020/06/01(月) 20:17:28.53ID:LXV95fQ60
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
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
2020/06/03(水) 23:10:09.64ID:NMWKQnDS0
mp3 や m4a などからフォーマット変換なしに
アートワークを出力するオプションはありますか?
ffmpeg -i input.m4a cover.jpg
ffmpeg -i input.mp3 cover.png
などのようにやると埋め込み画像とフォーマットが異なる場合に
変換されてしまうので、これを避けたい
ちなみに出力時に拡張子は要りません
埋め込み画像データがバイナリファイルとして書き出せれば良いです
想像のコマンドオプションですが
ffmpeg -i input.mp3 -f ffimage cover.bin
みたいのをイメージしています。
アートワークを出力するオプションはありますか?
ffmpeg -i input.m4a cover.jpg
ffmpeg -i input.mp3 cover.png
などのようにやると埋め込み画像とフォーマットが異なる場合に
変換されてしまうので、これを避けたい
ちなみに出力時に拡張子は要りません
埋め込み画像データがバイナリファイルとして書き出せれば良いです
想像のコマンドオプションですが
ffmpeg -i input.mp3 -f ffimage cover.bin
みたいのをイメージしています。
2020/06/03(水) 23:53:31.46ID:s7lI5dZf0
mp3tagでも使えばいいのでは
2020/06/04(木) 00:51:45.05ID:WG4cHAEV0
シンプルだけど乱暴なやりかた
ffmpeg -i input.mp3 -c copy output.jpg
ffmpeg -i input.mp3 -c copy output.jpg
2020/06/04(木) 09:07:54.55ID:VbsWF3MI0
2020/06/05(金) 00:18:11.33ID:i9SBpUlA0
インターレース解除、重複フレーム削除、逆テレシネなどを調べてるけど
こだわり始めると難しいんだな。
こういうの↓とかも面白かった。
https://stackoverflow.com/questions/37088517/remove-sequentially-duplicate-frames-when-using-ffmpeg
で、インターレース解除とかって容量削減が大きな理由だから
容量削減に重きを置いていない場合、やらなくていいじゃね?と思っていたら
>>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くらいならまぁいいかという感じになった。
インターレース解除、重複フレーム削除、逆テレシネしない場合
容量が大きくなる以外にデメリットってありますか?
こだわり始めると難しいんだな。
こういうの↓とかも面白かった。
https://stackoverflow.com/questions/37088517/remove-sequentially-duplicate-frames-when-using-ffmpeg
で、インターレース解除とかって容量削減が大きな理由だから
容量削減に重きを置いていない場合、やらなくていいじゃね?と思っていたら
>>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くらいならまぁいいかという感じになった。
インターレース解除、重複フレーム削除、逆テレシネしない場合
容量が大きくなる以外にデメリットってありますか?
2020/06/05(金) 10:03:28.31ID:XFbcJCus0
縦方向のリサイズができない
フィルタもインターレースに対応してないと悪影響がでることがある
ちゃんとインターレースフラグ立てないと再生時に解除されない
hevcなど、x264以外のコーデックはインターレースには対応してない
なのですべての問題を回避できるbob化(縞なし60fps化)を愛好する人も一定数いる
*x264でやるにしても、ちゃんとインターレースのフラグを立てるというのが大前提
フィルタもインターレースに対応してないと悪影響がでることがある
ちゃんとインターレースフラグ立てないと再生時に解除されない
hevcなど、x264以外のコーデックはインターレースには対応してない
なのですべての問題を回避できるbob化(縞なし60fps化)を愛好する人も一定数いる
*x264でやるにしても、ちゃんとインターレースのフラグを立てるというのが大前提
2020/06/05(金) 10:54:47.32ID:+5TGGNS30
>>764
> hevcなど、x264以外のコーデックはインターレースには対応してない
ベタなツッコミだけど、x264はコーデックじゃなくエンコーダな。コーデックとして言うならH.264/AVC。
あとH.265/HEVCは仕様としては一応インターレースにも対応してるし、エンコーダのx265もインターレースに対応してるけど、
インターレースエンコードしたものをちゃんと再生できるデコーダが出回っていないというのが現状。
> hevcなど、x264以外のコーデックはインターレースには対応してない
ベタなツッコミだけど、x264はコーデックじゃなくエンコーダな。コーデックとして言うならH.264/AVC。
あとH.265/HEVCは仕様としては一応インターレースにも対応してるし、エンコーダのx265もインターレースに対応してるけど、
インターレースエンコードしたものをちゃんと再生できるデコーダが出回っていないというのが現状。
2020/06/05(金) 11:51:24.07ID:HXUWVyIW0
>インターレース解除、重複フレーム削除、逆テレシネなどを調べてる
テレビ録画したTSのエンコードで、こういう処理の失敗って結構あるの?
失敗を見つけるのってひたすら動画見るしか無いから、あとで気づくってのがありそう。
テレビ録画したTSのエンコードで、こういう処理の失敗って結構あるの?
失敗を見つけるのってひたすら動画見るしか無いから、あとで気づくってのがありそう。
2020/06/05(金) 13:07:49.30ID:XFbcJCus0
2020/06/05(金) 14:57:36.68ID:SLNtFjjg0
avisynthでやってた頃はインタレ保持とか結構簡単にできてたような気がするが、
ffmpeg使うようになってからは、めんどくさくてやらなくなっちゃった。
ffmpeg使うようになってからは、めんどくさくてやらなくなっちゃった。
2020/06/05(金) 18:21:09.02ID:HXUWVyIW0
ニコラボさんのインターレース解除の説明を読んでいると
「片フィールド補完」という単語が出てくるのですが、これはどういう意味ですか。
探しても解説が見つかりません。
「片フィールド補完」という単語が出てくるのですが、これはどういう意味ですか。
探しても解説が見つかりません。
2020/06/05(金) 20:05:36.09ID:oE7SoXyh0
通常はトップフィールドとボトムフィールドをあわせて完全なフレームにするが
完全なフレームにするのに片方のフィールドしかない映像に
補完を行いもう片方のフィールドを合わせてフレームにする。
スクロールするテロップなんかで見られる。
完全なフレームにするのに片方のフィールドしかない映像に
補完を行いもう片方のフィールドを合わせてフレームにする。
スクロールするテロップなんかで見られる。
2020/06/05(金) 22:12:14.73ID:XFbcJCus0
>>770
一枚の映像が「フレーム」
1フレーム中の奇数ラインと偶数ラインのことを、それぞれ「フィールド」と言う
それで、インターレース解除のさいに片方のフィールドを参照しないインタレ解除方法を「片フィールド補完」というのが一般的ではある
一枚の映像が「フレーム」
1フレーム中の奇数ラインと偶数ラインのことを、それぞれ「フィールド」と言う
それで、インターレース解除のさいに片方のフィールドを参照しないインタレ解除方法を「片フィールド補完」というのが一般的ではある
773766,770
2020/06/06(土) 00:54:39.41ID:lQMWa1rL0 >>768
ありがとうございます。
エンコ環境がwindowsならAmatsukazeみたいな日本人が開発しているものが使えるのですが
Linuxなのでffmpegかhandbrakeで頑張るしかないです。。。
(AviSynthをLinuxで動かせるかも?)
>>771, >>772
ありがとうございます。
お二方の説明と以下のサイトで理解できました。
http://sasuraiukyo.blog.fc2.com/blog-entry-10.html
最初片方のフィールドしか見ないなんてありえないだろと思ったのですが
走査線間の隙間が小さいから補間してもそれなりに見える画像になるんですね。
なぜ片方だけにしなきゃいけないのかは分かりませんでしたが。
テロップの話はこれですか?
http://sasuraiukyo.blog.fc2.com/blog-entry-10.html
ありがとうございます。
エンコ環境がwindowsならAmatsukazeみたいな日本人が開発しているものが使えるのですが
Linuxなのでffmpegかhandbrakeで頑張るしかないです。。。
(AviSynthをLinuxで動かせるかも?)
>>771, >>772
ありがとうございます。
お二方の説明と以下のサイトで理解できました。
http://sasuraiukyo.blog.fc2.com/blog-entry-10.html
最初片方のフィールドしか見ないなんてありえないだろと思ったのですが
走査線間の隙間が小さいから補間してもそれなりに見える画像になるんですね。
なぜ片方だけにしなきゃいけないのかは分かりませんでしたが。
テロップの話はこれですか?
http://sasuraiukyo.blog.fc2.com/blog-entry-10.html
2020/06/06(土) 09:46:07.91ID:mJVOadiw0
Avisynth+はlinuxに対応したから動くとは思うけど
今のバージョンは互換性に難がでてるからハードルはちょっと高いかも
テレシネ解除の失敗が怖いならbob化(60fps化)が安牌っぽいよ
それか話に出てたインタレ維持か(オプションはよく調べること)
>>773
地デジの60iという放送規格自体が
奇数フィールドとと偶数フィールドで違う(フレームの)映像を送れる仕組みだから
そういうソースの場合はフィールド単位での補完が必要になることがある
(高度なフィルタになるとそのへんのごまかしや補完が上手くなる)
今のバージョンは互換性に難がでてるからハードルはちょっと高いかも
テレシネ解除の失敗が怖いならbob化(60fps化)が安牌っぽいよ
それか話に出てたインタレ維持か(オプションはよく調べること)
>>773
地デジの60iという放送規格自体が
奇数フィールドとと偶数フィールドで違う(フレームの)映像を送れる仕組みだから
そういうソースの場合はフィールド単位での補完が必要になることがある
(高度なフィルタになるとそのへんのごまかしや補完が上手くなる)
2020/06/07(日) 12:30:21.91ID:7Nfqiv1z0
2020/06/11(木) 17:18:48.67ID:/cIcGjlE0
覚え置き:音声の重ね合わせ(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を省略してるけど、変更を見越して省略しない方が良いかも
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を省略してるけど、変更を見越して省略しない方が良いかも
2020/06/12(金) 01:24:41.91ID:dfoNH8zL0
7777777
2020/06/13(土) 03:18:07.37ID:yJv1zpns0
MTRのピンポンやな。
2020/06/14(日) 21:17:41.14ID:83IQvDJ90
無音データのWAV結合で教えてください
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分になるように
残りを無音で埋めるような指定はできますか?
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分になるように
残りを無音で埋めるような指定はできますか?
2020/06/14(日) 22:24:58.01ID:8nwq8sHe0
2020/06/15(月) 20:12:27.92ID:EQBwt7Pi0
ありがとうございます
コマンドを実行してみましたが
Both whole and pad length are set, this is not possible
私の環境ではエラーが出て使えないみたいです
なにがいけないのか心当たりがあればご教示ください
ffmpeg version 4.2.3
built with gcc 9.3.1
コマンドを実行してみましたが
Both whole and pad length are set, this is not possible
私の環境ではエラーが出て使えないみたいです
なにがいけないのか心当たりがあればご教示ください
ffmpeg version 4.2.3
built with gcc 9.3.1
2020/06/15(月) 20:26:32.22ID:EQBwt7Pi0
5:00 ではなく 300 と指定すると上手く行きました
なぜ 5:00 が認識しないのかはわかりません
00:05:00 でも 00:05:00.00 でもダメでした
-i <input> -af apad=whole_dur=300 <output>
なぜ 5:00 が認識しないのかはわかりません
00:05:00 でも 00:05:00.00 でもダメでした
-i <input> -af apad=whole_dur=300 <output>
2020/06/15(月) 21:11:11.12ID:hK9euIXv0
2020/06/15(月) 21:21:04.32ID:EQBwt7Pi0
ありがとうございます
シングルクォートを入れてもダメでした
その後色々と試してみて下記で上手くいきました
-i <input> -af apad=whole_dur=5\\:00 <output>
コロンの前にバックスラッシュを二つ入れてエスケープさせました
色々とヒントをいただきありがとうございます
シングルクォートを入れてもダメでした
その後色々と試してみて下記で上手くいきました
-i <input> -af apad=whole_dur=5\\:00 <output>
コロンの前にバックスラッシュを二つ入れてエスケープさせました
色々とヒントをいただきありがとうございます
2020/06/15(月) 22:05:25.87ID:hK9euIXv0
あららおめでとう
役に立たなかったか……エスケープ周りは環境にかなり依るから難しいね
役に立たなかったか……エスケープ周りは環境にかなり依るから難しいね
2020/06/15(月) 22:43:21.61ID:EQBwt7Pi0
役に立たないなんて滅相もないです
環境を書かなかった私に非があります(Windows)
ここで訊かなければたどり着かなかったと思うので
本当にありがとうございます
環境を書かなかった私に非があります(Windows)
ここで訊かなければたどり着かなかったと思うので
本当にありがとうございます
2020/06/16(火) 01:27:31.52ID:1H0Ujvhz0
>>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'
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'
2020/06/19(金) 21:35:21.36ID:wjif/wbO0
ffmpegがVulkan APIに対応したらしいけど
このスレ的にはなんか御利益あるの?
このスレ的にはなんか御利益あるの?
2020/06/19(金) 21:56:33.00ID:BJP5kTAQ0
linux使ってる人にはHWで使える選択肢が増えたらしい
2020/06/20(土) 00:18:46.06ID:oFBCQp8H0
AMD AMFがLinuxで使えるな
あとはvulkanでのスケーリングもある
あとはvulkanでのスケーリングもある
2020/06/20(土) 00:21:48.23ID:bHRBXN9z0
>>790
使える?>スケーリング(リサイズ)
使える?>スケーリング(リサイズ)
2020/06/20(土) 18:14:03.28ID:T2VIowv60
ffmpeg + nvenc で品質の指定方法(crfの代替)を調べていて、
大別すると以下の3タイプがありました。
AとCが多い感じがしますが、どれが良いのでしょうか?
(A)-rc constqpタイプ
@-rc constqp + 「-qp」
A-rc constqp + 「-qmin -qmax」
B-rc constqp + 「-cq」
(B)-rc vbr_hq (vbrも) タイプ
C-rc vbr_hq + 「-b:v -maxrate:v (-bufsize:v) (-qmin -qmax)」
D-rc vbr_hq + 「-cq -qmin -qmax -b:v 0」
(C)-cq タイプ
E-cq のみ
大別すると以下の3タイプがありました。
AとCが多い感じがしますが、どれが良いのでしょうか?
(A)-rc constqpタイプ
@-rc constqp + 「-qp」
A-rc constqp + 「-qmin -qmax」
B-rc constqp + 「-cq」
(B)-rc vbr_hq (vbrも) タイプ
C-rc vbr_hq + 「-b:v -maxrate:v (-bufsize:v) (-qmin -qmax)」
D-rc vbr_hq + 「-cq -qmin -qmax -b:v 0」
(C)-cq タイプ
E-cq のみ
2020/06/23(火) 02:28:39.11ID:IvqQxY3a0
>>792
個人的見解だけどqpの方々はアニメに寄ってるように思う。
個人的見解だけどqpの方々はアニメに寄ってるように思う。
2020/06/26(金) 12:39:24.47ID:FEeAf8v10
ゲーム録画したVFRをCFR変換(ともにnvenc,264,lossless,444)するときに60000/1001じゃなくて59.94って指定したら59940/1000になった上に、1クリップだけ再変換しようとしたら一部のフレームがエラーで読み込めなくなってて?変換失敗するようになってしまった
読み込みエラーの方は色々試したけど直せず、諦めて再録画したから過ぎたことではあるけど
MPCとかVLCとかのメディアプレーヤーでは異常なく再生できたからエラーフレームだけスキップしてエンコードできればいいと思うんだけど、そんなコマンドか方法あるか、どなたかご存知ですか
エラーの記録は残ってなくてアバウトですみません
読み込みエラーの方は色々試したけど直せず、諦めて再録画したから過ぎたことではあるけど
MPCとかVLCとかのメディアプレーヤーでは異常なく再生できたからエラーフレームだけスキップしてエンコードできればいいと思うんだけど、そんなコマンドか方法あるか、どなたかご存知ですか
エラーの記録は残ってなくてアバウトですみません
2020/06/26(金) 19:55:43.80ID:Giy0G+ib0
馬鹿にはvfrは無理
バカ用のaviutlとlsmashでも使っとけ
バカ用のaviutlとlsmashでも使っとけ
2020/06/27(土) 09:19:21.99ID:+jaggmdS0
いや、VFR→CFR変換自体はできたんだよ
1クリップだけ壊れてたの
他のクリップは壊れてなくて59940/1000から60000/1001に戻せた
ちなみにaviutl-lsmashで読み込めたからデリバーもしてみたけど無理だっ他のNLEでは/1000にしちゃったせいで読み込めなかったし
1クリップだけ壊れてたの
他のクリップは壊れてなくて59940/1000から60000/1001に戻せた
ちなみにaviutl-lsmashで読み込めたからデリバーもしてみたけど無理だっ他のNLEでは/1000にしちゃったせいで読み込めなかったし
2020/06/27(土) 10:10:58.27ID:bxqb0uu60
> 1クリップだけ再変換しようとした
・「クリップ」という単位を具体的に
> 一部のフレームがエラーで読み込めなくなってて?
・疑問を呈されてもここの誰にも分からない
> MPCとかVLCとかのメディアプレーヤーでは異常なく再生できた
・異常が無かったという根拠は
> エラーフレームだけスキップしてエンコードできればいいと思う
・なぜ「フレーム単位」だと思うのか
・エラーが起こる箇所が把握できているならその前後の時間で切り出しすれば良いだけでは
・「クリップ」という単位を具体的に
> 一部のフレームがエラーで読み込めなくなってて?
・疑問を呈されてもここの誰にも分からない
> MPCとかVLCとかのメディアプレーヤーでは異常なく再生できた
・異常が無かったという根拠は
> エラーフレームだけスキップしてエンコードできればいいと思う
・なぜ「フレーム単位」だと思うのか
・エラーが起こる箇所が把握できているならその前後の時間で切り出しすれば良いだけでは
2020/06/27(土) 11:34:02.59ID:4gzwt/Jq0
>>797
言葉足らずですみません
・「クリップ」という単位を具体的に
時間を分けてキャプチャした複数の動画ファイルをエンコードしたということです
そのうち1個だけエラーになってffmpegでも他のエンコーダNLEで再エンコードできなくなってしまいました
・疑問を呈されてもここの誰にも分からない
そこは承知していますので、答えを頂けないのは当然でダメ元で最後のスキップだけでもヒントがあればと思って聞いてみました
・異常が無かったという根拠は
正確には最後まで再生可能で視覚的に認識できる異常はなかったということです
・なぜ「フレーム単位」だと思うのか
特定のエンコード時間/フレームあたりで何度かInvalid NAL unit sizeというエラーが出たのでフレームかGOP単位かなと
詳しくないので全然違うかもしれませんが
・エラーが起こる箇所が把握できているならその前後の時間で切り出しすれば良いだけでは
それは検討してみましたが、あくまでエンコード中のエラー出たときの時間を目視しただけなのでフレーム単位では把握してないので、アバウトに切り出すとカット部分が視覚的に認識できるレベルになってしまうかなと思い、自動でエラー箇所のみカットできる機能があればなぁ、と。
言葉足らずですみません
・「クリップ」という単位を具体的に
時間を分けてキャプチャした複数の動画ファイルをエンコードしたということです
そのうち1個だけエラーになってffmpegでも他のエンコーダNLEで再エンコードできなくなってしまいました
・疑問を呈されてもここの誰にも分からない
そこは承知していますので、答えを頂けないのは当然でダメ元で最後のスキップだけでもヒントがあればと思って聞いてみました
・異常が無かったという根拠は
正確には最後まで再生可能で視覚的に認識できる異常はなかったということです
・なぜ「フレーム単位」だと思うのか
特定のエンコード時間/フレームあたりで何度かInvalid NAL unit sizeというエラーが出たのでフレームかGOP単位かなと
詳しくないので全然違うかもしれませんが
・エラーが起こる箇所が把握できているならその前後の時間で切り出しすれば良いだけでは
それは検討してみましたが、あくまでエンコード中のエラー出たときの時間を目視しただけなのでフレーム単位では把握してないので、アバウトに切り出すとカット部分が視覚的に認識できるレベルになってしまうかなと思い、自動でエラー箇所のみカットできる機能があればなぁ、と。
2020/06/27(土) 11:34:33.59ID:4gzwt/Jq0
>>798
○他のエンコーダやNLEでも
○他のエンコーダやNLEでも
2020/06/28(日) 01:57:58.71ID:k12uv22y0
800
>>794
60000/1001を指定したらいいんじゃないの?
それともフレームレートはそれでうまくいったけど1つだけ"Invalid NAL unit size"が出て変換失敗するクリップがあって困ってるってこと?
60000/1001を指定したらいいんじゃないの?
それともフレームレートはそれでうまくいったけど1つだけ"Invalid NAL unit size"が出て変換失敗するクリップがあって困ってるってこと?
2020/06/28(日) 10:20:42.37ID:n/wM5H3B0
2020/06/29(月) 06:00:07.94ID:elEEwsC20
GOPの仕組み理解してるなら「フレーム単位で切り出そう」とか「エラーフレームだけ自動でスキップ」とか普通は考えないでしょ
2020/06/29(月) 09:10:18.40ID:fGn/XM0m0
フレーム単位というか、正確にはGOP単位ですかね
すみません
すみません
2020/06/29(月) 21:24:52.87ID:Iw5RDQFE0
エラーあれば飛ばす……とかそれこそffmpeg単体じゃなくffmpegのAPI使って外部プログラムで制御するものだと思うけどなぁ
2020/06/29(月) 23:01:45.77ID:PNIbrnA30
807名無しさん@お腹いっぱい。
2020/06/30(火) 13:31:46.32ID:5gSeSplB02020/06/30(火) 17:39:30.96ID:9nGQcFeN0
2020/06/30(火) 18:43:51.90ID:8OHHAFLK0
ゲームガイジが去ったか
みなご苦労
みなご苦労
2020/06/30(火) 19:20:43.32ID:Q5hwQduM0
別のがまだ残ってるな
2020/06/30(火) 22:34:03.49ID:GcJpEbP30
ん、もしかして似非の分数フレームレートに間違えて変換したものを真の分数フレームレートに再変換しようとしてたのか
余計に歪になるだろうに再変換する理由が分からないけど解決したらしいし良いのか
余計に歪になるだろうに再変換する理由が分からないけど解決したらしいし良いのか
2020/07/01(水) 16:13:42.08ID:fJSebLhl0
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.
バグ?
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.
2020/07/01(水) 16:41:05.52ID:fJSebLhl0
そういえばこんなメッセージが出てたな
mkdir: cannot change permissions of '/dev/shm': Permission denied
mkdir: cannot change permissions of '/dev/mqueue': Permission denied
mkdir: cannot change permissions of '/dev/shm': Permission denied
mkdir: cannot change permissions of '/dev/mqueue': Permission denied
2020/07/01(水) 19:47:36.94ID:y0ro8GMj0
815名無しさん@お腹いっぱい。
2020/07/04(土) 16:36:16.66ID:this51Mw0 コア数10のCPUを使っているのですが
エンコード中に全スレッドを使用してはいるのですが
CPU使用率が65%くらいになってしまいます。
100%使用したいのですが
どのようにすれば良いですか?
エンコード中に全スレッドを使用してはいるのですが
CPU使用率が65%くらいになってしまいます。
100%使用したいのですが
どのようにすれば良いですか?
2020/07/04(土) 16:40:39.56ID:nIJNKBme0
来世に期待
2020/07/04(土) 19:11:13.96ID:0ANLy8wN0
デコード、エンコード、フィルタのどれかが
ボトルネックになっている可能性があるのでコマンドを書いてくれれば
ボトルネックになっている可能性があるのでコマンドを書いてくれれば
818名無しさん@お腹いっぱい。
2020/07/06(月) 01:29:26.90ID:jA46r/RV0 media-autobuild_suite
未だに>>812のエラーが直ってないんだけど・・・
未だに>>812のエラーが直ってないんだけど・・・
2020/07/06(月) 03:08:25.26ID:W0nv545K0
ここに報告すれば直るとでも思ってるのか?
2020/07/06(月) 08:02:52.03ID:C68/7q6X0
いくら要るんだ?
2020/07/06(月) 16:29:48.05ID:YAxkMqsH0
いくらよりオクラのが好きです
822名無しさん@お腹いっぱい。
2020/07/07(火) 22:04:53.40ID:Q8huhYjd0 ffmpegって複数起動して同時にエンコードして問題ありませんか?
見たところ、問題なさそうなのですが、
たまにファイルがバグったりしませんか?
見たところ、問題なさそうなのですが、
たまにファイルがバグったりしませんか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 立民・岡田氏の質疑「不適切」 維新・藤田氏、台湾有事答弁巡り [蚤の市★]
- 4:44:44.444
- 【愛国者悲報】ナマコ、中国、香港、台湾しか食ってない...台湾はいいけど他ってどーなんの?漁師はどこに売ればいいんだこれ... [856698234]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- そもそも日本て中国に日沈む国だとか無礼な事言ってたよね
- 頭ガンガンガンガン
- アニメでよく日本人キャラなのに目の色だけ変えたりしてるのあるじゃん?
