ffmpegならこちらへ 3 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
垢版 |
2017/02/21(火) 22:04:57.35ID:8J7qip0G0
公式サイト
http://ffmpeg.org/

エンコード、ストリーミング配信を高画質高音質で行えるffmprg。
OSに拘らず対応コーデックが多い。
対応コーデックが多く、多彩なオプションを使用可能。
コマンドラインから使用することができる。

ffmpegならこちらへ 2
http://potato.2ch.net/test/read.cgi/software/1420916868/
2018/04/04(水) 11:28:44.31ID:RU736jXf0
>>563
それじゃ主音声しかとれなくないですか?
webを参考にして次のパイプでいけました。

numberofmap=$(ffmpeg -i temp.ts 2>&1 | grep Audio | grep -o -e 0:[0-9] | sed -e "s/0:/-map 0:/" | sed -z 's/\n/ /g')

#numberofmapをffmpegの-map 0:1の位置におく。
2018/04/04(水) 16:31:12.47ID:nkCyEESN0
>>564
2つのaacストリームが入ってるtsファイルから、>>563の方法で普通に2つのストリームが取れたけど。
566564
垢版 |
2018/04/04(水) 17:29:02.39ID:RU736jXf0
>>565
-map 0:aだと当方の環境(debian stretch ffmpeg 昨日のsnapshot)だと主ストリームしかとれませんでした。
あと、#numberofmapは$numberofmapの間違いです。(bashのシェルスクリプトで利用)
2018/04/04(水) 21:59:27.47ID:LeijNRB70
ts 結合するだけなら ffmpeg 使わなくても単純バイナリ結合で何も問題なかった
2018/04/05(木) 00:20:57.42ID:vGegpIl50
>>541ですが、1920x1080、10フレームのAV1エンコード速度(-cpu-used毎)を測りなおしました。

●aomenc.exe で --tile-columns=3 をつけてタイル分割エンコードした場合
  エンコーダ: aomenc.exe-20180401-0.1.0-9011-g0ec805145 (>>515のMABSで自ビルド)
  結果: 0.0054〜0.1046fps
  http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3488.jpg

●自ビルドしたffmpegでエンコードした場合 (現時点では-tile-columns指定不可)
  エンコーダ: ffmpeg x64 20180403-N-90590-g197a4e8fee (libaom 0.1.0-9028-geeda6d2de)
  結果: 0.0029〜0.0597fps
  http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3487.jpg

●Zeranoe ffmpegでエンコードした場合 (現時点では-tile-columns指定不可)
  エンコーダ: ffmpeg x64 20180402-N-90578-g02ae52db87 (libaom 0.1.0-9012-ge83c6624f)
  結果: 0.0004〜0.0275fps
  http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3486.jpg

まとめ

●--tile-columns=3をつけることでエンコード速度は2倍くらいになる。
  ただ、無しの場合に12%程度だったCPU使用率が100%くらいになるのに2倍程度にしかならないとも言える。

●Zeranoe版ffmpegのエンコード速度がやけに遅い。MABSで57.5分だったのがZeranoeだと378.2分。
  libaomのビルドをミスってる可能性があるので連絡済み。反応待ち。
2018/04/05(木) 03:11:25.31ID:bv5pZMmW0
VP9もそうなんだけどav1は普通のPCじゃ実用的には扱えないか
fps恐ろしく低いね
2018/04/06(金) 14:37:58.98ID:b+77Vg710
>>568で書いた、「Zeranoe版のAV1エンコードが遅い」という件ですが、次のビルドで修正されるそうです。
今はまだffmpeg-20180404-53688b6になってるので、その次ですね。
2018/04/07(土) 00:24:43.70ID:G9INCiK80
Zeranoe版ffmpeg-20180405-e54679b-win64-static.zipでlibaom問題の修正確認。

テスト

ffmpeg.exe -f lavfi -i testsrc2=duration=10:size=1920x1080:rate=1/1 -an -strict -2 -c:v libaom-av1 -b:v 0 -crf 30 -cpu-used 4 -threads 8 -f matroska testsrc2.mkv"

●MABS-20180403-N-90590-g197a4e8fee (libaom 0.1.0-9028-geeda6d2de)
  EncodeTime (sec): 00:01:48.24 (108.24sec)
  Result: 10frames, 354.3kbps, 0.1fps (10/108.24=0.0924fps)

●MABS-20180405-N-90627-ge54679b6c1 (libaom 0.1.0-9082-gab1e1db19)
●Zeranoe-20180405-N-90627-ge54679b6c1 (libaom 0.1.0-9080-g55c95f8c1)
  修正されたので両方ともだいたい同じくらい。
  EncodeTime (sec): 00:02:52.43 (172.43sec)
  Result: 10frames, 331.2kbps, 0.1fps (10/172.43=0.058fps)

同じ設定でも0403版だと108秒だったのが、0405版で172秒になってるので、
おそらくこの間にlibaom側で速度に影響のある変更があったと思われ。
しばらくは色々な修正が続きそう。
2018/04/08(日) 17:59:01.15ID:1WQcEONk0
Zeranoe版の 20180406-9703b7d ビルドからVP9の10bitが追加された。

---

10-bit VP9 support added - FFmpeg
https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=2&;t=5620

10-bit VP9 support has been added with the 20180406-9703b7d build.
To use 10-bit mode set the appropriate pixel format, for example:

 ffmpeg -f lavfi -i testsrc2=duration=10 -c:v libvpx-vp9 -pix_fmt yuv420p10le o.mkv
2018/04/13(金) 15:54:33.09ID:TveKIn0A0
ffmpegでaribB24字幕やデータ放送を保存したまま映像だけエンコードする(h.264のtsファイルにしたいのです)にはどうすればいいんでしょうか?
-,ap0v -map:0aのような-map0:dというパラメータがあることまでは調べがついたのですが、使い方がイマイチわかりません。
dtv版のlinuxテレビスレに投稿しましたが、こちらのほうが詳しい方が多いと思い再投稿します。
2018/04/13(金) 15:57:14.28ID:TveKIn0A0
失礼、
>-,ap0v -map:0aのような
-map 0:v -map0:aの間違いです・
575573
垢版 |
2018/04/13(金) 16:27:59.49ID:TveKIn0A0
自分で実験してみたのですが、一応-c:d copy -map 0:dでData binのコピーはできるようです。
ただ、vlcでオリジナルのtsにはあったaribB24字幕の選択肢がなくなってますし(字幕として認識されない)、
あまり意味のあることではないようです。
そう簡単にaribB24字幕がコピーできたらarib-ts2assのようなツールも必要ないんでしょうけど・・・
2018/04/16(月) 18:18:59.02ID:rBuzsuAd0
ffmpegでtsのaac 5.1chからlibopus 5.1chに変換すると
This stream seems to incorrectly report its last channel as LFE[5], mapping to LFE[0]
ってメッセージが出るんですが、まずいですか?
検索しても10件ぐらいしか引っかからないんですが。
番組はNHKクラシック音楽館と名曲アルバム+です。
577576
垢版 |
2018/04/16(月) 19:30:39.11ID:rBuzsuAd0
libfdk_aacを使っても同様のメッセージがでました。
問題なければ良いのですが。

それはそうと、5.1chの場合、AAC(放送波やlibfdk_aac)が5.1ch side speakerを想定するのに対し、
opusはrear speakerを想定するようですが、5.1chaacなtsをopus 5.1chに変換する時に特段問題などはないの
でしょうか?
2018/04/16(月) 20:43:31.08ID:Q3mqtKvr0
実際に再生してみたら?
579576
垢版 |
2018/04/17(火) 17:50:07.45ID:GW5wD1MB0
今の所2chバーチャルサラウンドしかやっていないので、実際の5.1chスピーカーの場合が
わからんのですよ。今年中に7.1ch揃えようと思って入るのですが。
2018/04/18(水) 09:48:40.63ID:0+VgQe3i0
質問させてください。

複数枚JPEG画像を連結しMPEGに変換していますが、入力JPEG画像の色合いと違った結果になってしまいます。
白っちゃけるというか、明るく滲みボヤけるような…。

入力JPEG: https://i.imgur.com/4jLjVQP.jpg
変換後キャプチャ: https://i.imgur.com/LMlS3ZL.png

コマンドラインは下記の通りです。
ffmpeg.exe -r 30.00 -i US_%d.jpg -vb 16000k -c:v:1 libx264 -s 800x600 -r 30 test.mpg

↓下記の2オプションにて明度彩度を調整しても、滲みボヤけたあとに適用されるようで、効果が感じられません。
-vf eq=brightness=-0.02:saturation=2

入力JPEGの画質を劣化させず、または劣化を最小限に抑えてMPEG変換する方法、ありますでしょうか、
どなたかお分かりになりましたらご教授願います、よろしくお願いいたします。
2018/04/18(水) 09:58:05.46ID:dhAIViWL0
-vb 16000kを外す
2018/04/18(水) 11:54:47.81ID:3ylU2AP70
JPEGはフルレンジで記録されてるけどMPEGはリミテッドレンジか基本だからリミテッドレンジでエンコードしないと色がおかしくなるのは分かる
でもffmpegでフルレンジ→リミテッドレンジ変換するコマンドは知らない
2018/04/18(水) 12:12:53.78ID:3ylU2AP70
あんまり自信ないけどこうかな
-vf scale="in_range=full:in_color_matrix=bt601:out_range=limited:out_color_matrix=auto"
2018/04/18(水) 12:54:12.31ID:3ylU2AP70
実際にエンコードしてみたらvf scale付けたほうがおかしくなった
無指定で正しいレンジに変換してくれたけどもしかして再生環境の問題?
2018/04/18(水) 13:01:20.96ID:0+VgQe3i0
>>581
ありがとうございます、試したところ残念ながら効果的ではなかったようです。

>>582-584
ありがとうございます、ちょうどご提示いただいたオプションを試していたところですが、
Unable to parse option value "limited" と表示され、つまづいていました。
再生環境はWindows7WindowsMediaPlayer12です。
他のプレイヤーでしたら変わるでしょうか?
2018/04/18(水) 14:54:09.82ID:3ylU2AP70
>>585
使っているffmpegのバージョンが古いということはない?
新しいの入れてもう一度>>580のコマンドを入力して
2018/04/18(水) 17:03:28.72ID:0+VgQe3i0
>>586
たびたびご対応いただき、本当にありがとうございます。

現在使用中のffmpegは、windows32bit版で、引数なし実行で

ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7.3.0 (GCC)

と表示します。
ダウンロードサイトがよくなかったでしょうか…他のバイナリダウンロードを探してみます。
2018/04/18(水) 18:51:25.31ID:cDZZ+EwU0
>>580
> ffmpeg.exe -r 30.00 -i US_%d.jpg -vb 16000k -c:v:1 libx264 -s 800x600 -r 30 test.mpg

●800x600の30fpsで16Mbpsはいくらなんでも盛りすぎだと思う。
●-c:v:1としてるからlibx264の指定は無視され、mpeg1videoでエンコードされてしまっている。
 (ただ、この場合自動でyuvj420p→yuv420p変換が行われるので
  >>580のようなレンジ異常は起きないはずなんだが・・・)
●mp4じゃなくmpgにしたいの?libx264でエンコするならmp4の方がいいと思うよ。
●jpgソースをそのままlibx264に渡すと自動的にフルレンジにされてしまう。
 再生環境(EVRなど)によってはフルレンジフラグが反映されずレンジ異常に見えるので
 明示的にリミテッドレンジに変換したほうが良い。
●HD(BT.709)とSD(BT.601)の境界判定はモノによって異なるが
 縦>=578をHDとみなすことが多い(EVR/madVR等)ので、800x600ならHD(BT.709)として再生されることが多い。
 BT.601のフラグをつけてもいいんだけど、BT.709に変換してBT.709のフラグをつけたほうがより良い。
●-rは最初のだけでいいと思うよ。

ということで、以下のようにすればよさげかな。
フレームレートはとりあえず30.00のままにしてあるけど、30000/1001じゃなくていいのかな?
ビットレートもとりあえず4Mbpsにしといたけど、調整するなり-crf 20とかにするなりしてくれ。

ffmpeg.exe -r 30.00 -i US_%d.jpg -vf scale=out_color_matrix=bt709:out_range=tv:flags=+accurate_rnd -c:v libx264 -b:v 4000k -pix_fmt yuv420p -colorspace bt709 -s 800x600 test.mp4
2018/04/18(水) 19:04:51.76ID:cDZZ+EwU0
>>588を試してて気づいたけど、-vf scale で

 flags=+accurate_rndなしの場合: (235, 235, 235) → (232, 235, 232) ★RとBが下がる

 flags=+accurate_rndありの場合: (235, 235, 235) → (236, 233, 236) ★Gが下がりRとBは微妙に上がる

という結果になった。
まあ目視で気づくことはまずないだろうけど、もうちょい正確に変換する方法ってないんだろうか?
2018/04/18(水) 19:24:38.70ID:cDZZ+EwU0
ああ、ごめん。bitexactもつければいいのか・・・。
ということで>>588のコマンドを更新。

ffmpeg.exe -r 30.00 -i US_%d.jpg -vf scale=out_color_matrix=bt709:out_range=tv:flags=+accurate_rnd+bitexact -c:v libx264 -b:v 4000k -pix_fmt yuv420p -colorspace bt709 -s 800x600 test.mp4
2018/04/18(水) 20:59:27.28ID:0+VgQe3i0
>>558-590
詳しくご解説いただきまして、本当にありがとうございます。

最終的にご提示いただいたコマンドを試してみたのですが、
残念ながら大きな変化は起きておらず、白く滲んだような状況は変わらずです、申し訳ありません。

https://i.imgur.com/OffRcQT.png
↑この部分差画像を作っていてわかったのですが、全体が白く滲んでいるわけではなく、
暗いけどなんとか見えていた部分が逆に見えなくなる程に暗くなっていたりと、
素人ながら勝手にコントラスト調整されている?ような感じにも見受けられます…。

ご解説いただいた部分、まだ理解が及んでおりませんで、調べながら調整してみます、ありがとうございます。
2018/04/18(水) 21:09:07.31ID:cDZZ+EwU0
>>591
なら多分再生側の問題だね。変な補正が入ってるんだと思う。

1.WMPじゃなく、他の再生ソフトで試してみる。

2.他の再生ソフトでもおかしくなる場合は、グラボ側の画質補正機能が働いてる可能性もあるので
  グラボ側の設定を見て画質補正を切ってみる。
  また、再生ソフトに内臓デコーダがある場合は、一応DXVAもオフにしてみる。

これらを試してみればいいと思う。
2018/04/19(木) 08:47:36.97ID:rCrvq3Fr0
>>592
おはようございます、度々ご対応いただきまして、本当にありがとうございます。
再生環境ということで、早速確認してみます。
594580
垢版 |
2018/04/19(木) 11:19:40.20ID:rCrvq3Fr0
質問させていただいたFFMPEGの変換品質の件ですが、解決いたしました。

グラフィックボードドライバのビデオ補正が原因でした。

ffplay.exeで表示確認してみたところ入力JPEGとほぼ同品質、RalPlayerで確認したところWMP12と同様と、
差が出ました。

そのため、アドバイスいただきましたグラフィックボードの補正かと、OFFにしてみたところ、これが的中、
WMP12でもffplay.exeや入力JPEGと見た目には変化を感じられない品質になりました。

別のPC(デスクトップPCのインテルHDオンボードグラフィック)でも確認したところ、そちらはもっとヒドイ補正に
なっており、これもOFFにしたところ入力JPEGにかなり近づいた品質になりました(まだOFFにしきれていない?)

再生環境に違いがあるということは見識不足で途中まで考えもしませんでした、変換品質の問題と思い込んで
見当違いな質問になってしまい、トライしていただいた皆様に余計な作業をさせてしまいました、
申し訳ございませんでした。

とりいそぎ、社内より先に、コチラに報告させていただきました。

最後になりましたが、
いち早く反応してくださいました、ID:dhAIViWL0 様、
詳しい解説とコマンド引数をご提示くださいました、ID:3ylU2AP70 様、
解決に至るための確認方法とご提示くださいました、ID:cDZZ+EwU0 様、

もしかしたらレスをいただくまで至らなくてもトライしてくださったかもしれない住人の皆様、
本当にありがとうございました。

またお世話になることがあるかもしれませんが、そのときも何卒よろしくお願いいたします。
2018/04/19(木) 12:32:23.01ID:ky7MzGXK0
見た感じ医療関係の画像っぽいけどこの手の画像はアーティファクトとか混ざってしまうと医療ミスに繋がりかねないらしいから正確な表示が出来てなかったのはちょっと不安になる
社内に画像、映像関係に詳しい人はいないのかな
あとJPEGだと不可逆圧縮になっててノイズが混じるから他の形式にしたほうがいいのでは?
2018/04/19(木) 13:22:19.07ID:XHB8aDS90
さすがに医療現場で診断に使うためのデータ作りではないと思うが、社内云々と言ってるのは確かに気になるな。
まあ解像度も低いし、ただのサンプル作成だとは思うけど・・・。
医療現場のことは知らんけど、診断に使うようなものなら多分4:4:4とか10/12bit深度とかにするよな・・・?
2018/04/19(木) 13:32:55.53ID:rCrvq3Fr0
>>595
>>596
ご心配いただいており、恐縮です。
現場端末ではJPEGに変換する前の、画像検査装置から出力された無劣化データを表現していますが、
医師の学会発表用などの資料作りや、専用ビューアが無くても参照できる患者様にサービスとして渡すデータとして、
MPEGを活用しています(医療機関同士のやりとりでは無劣化データが活用されます)。

社内に映像関連に詳しい人間がいないのは痛いところです、ご指導ご鞭撻、ありがとうございます。
2018/04/21(土) 00:37:36.21ID:ET68Stoa0
音声のリサンプル・フィルタには
libavresample を使った resample
libswresample を使った aresample
の2種類があるけど、前者は切られるみたいだな。

4.0 リリース キタ━(゚∀゚)━!
2018/04/21(土) 01:19:42.39ID:ER5uTPI60
ffmpeg 4.0 リリース | ニコラボ
http://nico-lab.net/ffmpeg_4_0_released/

>>598
libavresample自体が結構前からdeprecatedになってて、
configure時に明示的に--enable-avresampleを指定しないとビルドされなくなってるからね。
2018/04/21(土) 01:50:53.89ID:ET68Stoa0
>>599
いままでも deprecated になっていたことはもちろんだけど、
4.0 で完全に切られているみたいだよ(詳しくは未確認)。
公式のライブラリ一覧から libavresample が抜けているんだよね。
Libav 由来のライブラリを吸収統合していくという方針があったから、
これもその一つだと思う。

https://www.ffmpeg.org/download.html#release_4.0
2018/04/21(土) 02:30:20.17ID:sIq+TjAa0
>>599
> AMD AMF H.264 and HEVC encoders。NVENC よりも品質はよくないらしい(未確認)

これでAMDのSDKをダウンロードしてきてインストールする手間が省けるようになるのかな?
2018/04/21(土) 17:09:52.00ID:CXZt8QBk0
>>600
おや、ほんとだ。
L-SMASH Worksがまだlibavresample依存になってるので、早めに対応しないとまずそうだね。
2018/04/24(火) 00:29:14.57ID:/uY5NbeP0
特定のHEVC 29.97fpsの動画をx264でAVCに変換するとfps指定してもVFRになっちゃう
2018/04/24(火) 11:04:11.68ID:Q7H2XZIt0
何気にAV1も追加されたのか、死ぬほど遅いらしいけど、帰ったら興味本位で一回試してみるか
2018/04/24(火) 20:32:10.73ID:ZRCl/KFk0
動画時間考えないでエンコード始めたら1日じゃ終わらない可能性
2018/04/24(火) 21:51:05.31ID:enIsI4690
4.0のバイナリがまだどこにもおいてない件に関して
2018/04/24(火) 23:04:11.85ID:eiOF0A4X0
自分でバンバンしなさい
2018/04/26(木) 09:36:20.24ID:VhGZ4dxR0
  バン
バン (∩`・ω・) バン
  / ミつ/ ̄ ̄ ̄/
  ̄ ̄\/___/
2018/04/27(金) 11:20:00.22ID:4yYZ6YVd0
ffmpegでarib-ts2assというtsのCCからassファイルを作成してくれるソフトで作ったassファイルを
くっつけると、動画の長さが10時間とか異常に長い不正なファイルが生成されてしまうのですが、
同様の症状の方いらっしゃいます?

ffmpeg -i /nas/videos/temp.webm -i /nas/videos/temp.ts.ass -c copy -c:s copy -map 0:v -map 0:a -map 1:0 -metadata:s:s:0 language=jpn test.mkv

https://github.com/johnoneil/arib
arib-ts2ass
2018/04/27(金) 14:16:24.86ID:4yYZ6YVd0
コーデックを
-c:v copy -c:a copy -c:s ass
にしてみても変わりませんでした。不思議なのは動画によってはちゃんと長さが狂わずに字幕がつけられる場合
もあることです。既知の不具合だったらお教え願いたいのですが、おま環でしょうか?
また字幕をつける前のtemp.webmなどを再生してみても長さは狂っていないので、やはりass字幕をつける時に狂う
ようなのですが、よくわかりません。
2018/04/27(金) 16:31:38.18ID:SYv0Nr6e0
h264のcrfが使えなくて2passでエンコするのめんどい。
2018/04/27(金) 16:43:36.50ID:tMGbSvRB0
元のタイムスタンプのせいでは?
2018/04/27(金) 16:46:44.04ID:tMGbSvRB0
>>609
元のタイムスタンプのせいでは?

>>611
「使えない」の意味がわからない
"ffmpeg"で"x264"のエンコ時にcrfを使うことならできる
614609
垢版 |
2018/04/27(金) 18:18:44.76ID:4yYZ6YVd0
>>613
タイムスタンプは録画開始からの相対時間で狂っているようにも思えないのですが(実際に正常な
ファイルができる場合もある)、当面は字幕無しで行ったほうが良さそうですね。

スレ汚しすみません。
2018/04/27(金) 21:11:46.97ID:tMGbSvRB0
>>614
ass字幕ファイルを、字幕エディタ(Aegisubなど)で見たらどういう感じ?
そこのタイムラインがおかしいのかもしれないよ。
616609
垢版 |
2018/04/28(土) 12:18:42.06ID:uT0YNizl0
長さが異常なmkvファイルからMKVtoolNiXなどでmksを作ってassファイルを抜き出してみても
特に異常な点は見当たらず・・・
ffmpegで字幕をつけず、mkvmergeを使っても狂う場合(ちゃんとできる場合もある)があるので、
ffmpegの問題ではないかもしれません。当面は字幕なしでいきます。
お付き合いくださってありがとうございました。
2018/04/28(土) 16:40:49.17ID:gVCU/Gw00
Zeranoe版の4.0のバイナリが出てた。
2018/04/29(日) 00:24:17.25ID:rTcURzHJ0
バージョンを重ねるごとにnvenc速くなるけど4.0だとどんくらいになるかな
2018/04/29(日) 07:56:15.59ID:5M1ANoG+0
保存用ならハードウェア支援は使うべきではない
質かサイズのどちらかが犠牲になってもいい、ad hoc用
2018/04/29(日) 09:43:59.67ID:ySNi5vX00
結局h265とvp9、av1はエンコード速度が遅くて難儀する
見れればいいってだけならハードウェア支援
2018/04/29(日) 09:58:56.92ID:5M1ANoG+0
常に我慢できるギリギリまでエンコードの負荷は上がり続けるからな
数年後にもやっぱり長時間CPU回してると思う
2018/04/29(日) 11:04:48.31ID:ae2FmOo90
ストレージなんて今はゴミみたいに安くなってるんだから
設定高めのハードウェアエンコでさくっとエンコしちゃうのが今の流行
2018/04/29(日) 21:50:08.43ID:OdoAkKke0
BDMVが溜まってきたけどハンドリング悪いからmakemkvでmkvの1ファイルにしようかと思ったらx86のlinuxでは動くのにraspiだと動かないのかよ。
ホームネットワーク用に常時稼働させてるけど負荷低いからダラダラエンコさせとくのにちょうどいいのにな。
ffmpegでなんとかするか。
2018/04/29(日) 22:00:34.63ID:qfeJlBmg0
突然独り言を語りだす人こわい
2018/04/30(月) 09:39:57.54ID:5kVazbbV0
お前の前髪の後退ぶりのほうが怖いわボケナス
2018/04/30(月) 13:36:14.15ID:kqz0sxCW0
オマエ前髪どころか髪自体無いやん…
2018/04/30(月) 19:33:49.46ID:/EwrMGlV0
>>613
>>612はできないことにして、手取り足取り教えてもらおうとしてるだけ
放置でOK
2018/05/04(金) 21:42:36.90ID:8p8j2POP0
360度動画として認識させるためのメタデータの付加ってどのオプション?
629名無しさん@お腹いっぱい。
垢版 |
2018/05/22(火) 08:13:34.92ID:gUl6Bovu0
ffmpegを使って
動画を再エンコードしつつ、音声を削除したいと考えています。
-map 0:0  や   -an  を入れると
音声を削除することができるのですが、
普通に動画を再エンコードする場合と比べて
10倍くらい時間がかかってしまいます。
これは仕様なのでしょうか?
 
2018/05/22(火) 11:08:14.48ID:lKL6167X0
-c:v copyで映像を分離してからエンコードしたら?
631名無しさん@お腹いっぱい。
垢版 |
2018/05/26(土) 14:29:07.31ID:HhQQQEL80
動画に時間を表示したいのですが

-vf drawtext=fontsize=40:x=(w-text_w)/2:y=(h-text_h)/2:fontfile='C\:\\Windows\\Fonts\\Arial.ttf':text=%{pts\\:hms}:box=1

というコードで
00:00:00.000
という表記で表示することはできました。

ただ、時間や分、ミリ秒は表示せず
トータル時間の秒数だけを表示したいのですが
どのようにすれば良いですか?
2018/05/26(土) 15:03:42.81ID:DqscT+050
自己解決しました
633631
垢版 |
2018/05/26(土) 18:59:50.02ID:HhQQQEL80
自己解決していません
 
2018/05/26(土) 19:07:32.59ID:oCDEtfBR0
スマンがちょっと笑った
2018/05/26(土) 19:53:08.32ID:KSFV0mL+0
text='%{pts\:t}'
2018/05/26(土) 19:53:47.52ID:KSFV0mL+0
まちがえたこっちだ
text='%{eif\:t\:d}'
637名無しさん@お腹いっぱい。
垢版 |
2018/05/26(土) 22:38:26.44ID:HhQQQEL80
>>636
ありがとうございます。
うまくいきました。

あと、-iの前に-rで大きなフレームレートを指定すると
高速再生することができますが、
この方法だと、フレームレートを大きくした後の動画の時間に対してタイムコードが付いてしまいます。
timecode='00\:00\:00\:00':r=59.94
という方法だと、フレームレートを大きくする前の動画の時間に対してタイムコードが付くのですが
前述のように00:00:00.000 というフォーマットになってしまいます。
どのようにすれば良いでしょうか?
638637
垢版 |
2018/05/27(日) 17:28:41.19ID:Ui2+O+mA0
どなたかお教えください。
 
2018/05/27(日) 19:51:33.96ID:zoTvVaWy0
>フレームレートを大きくする前の動画の時間に対してタイムコードが付く
つまり倍速再生にして、時間経過も倍速表示にしたいと

25fps の動画の場合、倍速分の入力フレームレートを指定し、最初に倍速分の pts を掛けて、元に戻す
ffmpeg -r 50 -i input -vf setpts=PTS*2,"drawtext=fontsize=30:box=1:boxcolor=white@0.5:fontcolor=black:fontfile='C\://WINDOWS/Fonts/arial.ttf':text='%{eif\:t\:d}'",setpts=PTS/2 output.mp4
640名無しさん@お腹いっぱい。
垢版 |
2018/05/28(月) 00:31:14.26ID:opXZSFia0
すいません、以下ご教示頂きたいのですが分かる方、何卒よろしくお願いいたします
【やりたいこと】
 画面キャプチャを取りながらPC音とマイク音を合成したMP4を作成したい
 ffmpegの起動引数
 【マイクだけ or PC音のみは問題なし】
 例:-rtbufsize 30M -f dshow -i audio="virtual-audio-capturer":video="screen-capture-recorder"
-y -f mp4 -c:v libx264 -b:v 2500k -r 30 -c:a aac -af aresample=async=100 -pix_fmt yuv420p -tune zerolatency "E:\test.mp4"
 【MixしようとするととたんにNGになる】
 例:-rtbufsize 130M -f dshow -i audio="virtual-audio-capturer" -f dshow -i audio="マイク (Realtek High Definition Audio)"
-f dshow -i video="screen-capture-recorder" -filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]" -y -f mp4
-c:v libx264 -b:v 2500k -r 30 -c:a aac -pix_fmt yuv420p -tune zerolatency "E:\test.mp4"
641640
垢版 |
2018/05/28(月) 00:32:50.80ID:opXZSFia0
追加ですが、エラーとしては「real-time buffer [screen-capture-recorder] [video input] too full or near too full (121% of size: 3041280 [rtbufsize parameter])! frame dropped!」

というエラーが発生します
2018/05/28(月) 22:53:13.30ID:LzpOTsQQ0
screen-capture-recorder でエラーが出るなら
gdigrab に代えてみたら
ttps://ffmpeg.org/ffmpeg-devices.html#gdigrab
2018/05/29(火) 02:51:28.54ID:Pu1eGPwQ0
>>640,641
エラーメッセージの、3041280ってデフォルト値っぽいけど

ttps://ffmpeg.org/ffmpeg-formats.html#Format-Options
>rtbufsize integer (input)
>Set max memory used for buffering real-time frames.

入力(-i xxx )毎に指定するのかな?
だから、video入力の前につけてみたらどうだろうか
-f dshow -i audio="virtual-audio-capturer" -f dshow -i audio="マイク (Realtek High Definition Audio)" -rtbufsize 30M -f dshow -i video="screen-capture-recorder"
-filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]" -y -f mp4
-c:v libx264 -b:v 2500k -r 30 -c:a aac -pix_fmt yuv420p -tune zerolatency "E:\test.mp4"
644名無しさん@お腹いっぱい。
垢版 |
2018/05/30(水) 16:55:57.14ID:th332wA20
初めまして。
質問させていただきたいのですが、.m4vから.mtsへ以下のフォーマットで書き出したいのですが、
BDAVにフォーマットを変換するコマンドラインがわかりません。どなたかわかりませんか?

====
形式:H.264TTS(X264)、PID=1011

ビットレート:CBR8Mbps

秒数:15秒

解像度:1920×1080

アスペクト比16:9

フレームレート:固定29.97

スキャン:インターレースボトムファースト

フォーマット:BDAV
====

これがコマンドラインです

ffmpeg -I input.mp4 -vcodec h264 -streamid 0:4113 -c:v libx264 -x264-params "nal-hrd=cbr:force-cfr=1" -b:v 8000k -minrate 8000k -maxrate 8000k -bufsize 109.7M \ -s 1920x1080 -r 30000/1001 -flags +ilme+ildct -alternate_scan 1 -top 0 out.mts
2018/05/31(木) 11:42:01.85ID:V/NbwTFC0
自己解決していません
2018/06/01(金) 12:30:21.08ID:RW77qDge0
ffmpeg -i input.m4v -c copy output.m2ts
2018/06/01(金) 19:32:08.88ID:RcLH7f/W0
細かいとこガン無視でワロタ
2018/06/01(金) 19:42:37.51ID:K86csaBM0
まずは単純なところから始めるのが定石でしょう。
2018/06/03(日) 17:28:28.24ID:N8K0zQHC0
定番のGUIプログラムがあったら教えてください
2018/06/03(日) 17:39:32.54ID:pvmCZV2h0
ラッパーはめんどくさいだけで誰でも作れるよ
2018/06/03(日) 17:41:00.54ID:N8K0zQHC0
>>650
やっぱりそうなりますか
ありがとうございました。
652名無しさん@お腹いっぱい。
垢版 |
2018/06/03(日) 20:15:30.07ID:snESuHde0
>>639
ありがとうございます。
仕事が忙しく、試すことができなかったのですが
いま、試したところうまくいきました。

あと、できれば、
12 sec
というような表示や
2m23s
のような表記も出力できるようにしたいのですが
どのようにすれば良いですか?
eifのフォーマットに関して検索して調べてみたのですが
公式ページも含めて解説ページが見つかりませんでした。
どこに書かれてありますでしょうか?
 
2018/06/03(日) 23:05:53.13ID:l1wsIHD30
>652
ttps://ffmpeg.org/ffmpeg-filters.html#Text-expansion
The first argument is the expression to be evaluated, just as for the expr function. The second argument specifies the output format. Allowed values are ‘x’, ‘X’, ‘d’ and ‘u’.
ttps://ffmpeg.org/ffmpeg-utils.html#Expression-Evaluation
フォーマット指定がよく分からなかったので力業で
12 sec
text='%{eif\:t\:d} sec'
2m23s
text='%{eif\:trunc(t/60)\:d}m%{eif\:mod(t\,60)\:d}s'
654名無しさん@お腹いっぱい。
垢版 |
2018/06/07(木) 22:08:54.11ID:9TmntrtP0
>>653
ありがとうございます。
うまくいきました。
重ね重ね申し訳ないのですが

2m23s
text='%{eif\:trunc(t/60)\:d}m%{eif\:mod(t\,60)\:d}s'

の方で、このコードだと
60秒未満の場合であっても
0m24s
のように表示されてしまいます。
60秒未満だと
24s
60秒以上だと
1m32
のような表記にしたいのですが
可能でしょうか?
if文のようなものは入れられるのでしょうか?
2018/06/07(木) 23:51:16.36ID:oSXh1pMJ0
むりむり
2018/06/08(金) 21:25:49.58ID:jOXaNR6X0
タイムライン編集を使って最初の60秒を非表示にすればできるが
分と秒が別フィルタになるので座標指定正しくしないとずれる
text='%{eif\:trunc(t/60)\:d}m%{eif\:mod(t\,60)\:d}s':enable='gte(t,60)'
657名無しさん@お腹いっぱい。
垢版 |
2018/06/10(日) 10:31:08.64ID:WLun0EjD0
>>656
ありがとうございます。
試してみたのですが
文字が表示されないのですが・・・・
 
2018/06/10(日) 13:25:40.50ID:a0GQnQWS0
>最初の60秒を非表示
タイムライン編集で60秒たつとフィルタが有効になる
>分と秒が別フィルタになるので座標指定正しくしないとずれる
drawtext=fontsize=30:box=1:boxcolor=white@0.5:fontcolor=black:fontfile='C\://WINDOWS/Fonts/arial.ttf':text='%{eif\:trunc(t/60)\:d}m':enable='gte(t,60)',
drawtext=x=42:fontsize=30:box=1:boxcolor=white@0.5:fontcolor=black:fontfile='C\://WINDOWS/Fonts/arial.ttf':text='%{eif\:mod(t\,60)\:d}s'
コマンド例
ffmpeg -r 50 -i input -vf setpts=PTS*2,"drawtext=fontsize=30:box=1:boxcolor=white@0.5:fontcolor=black:fontfile='C\://WINDOWS/Fonts/arial.ttf':text='%{eif\:trunc(t/60)\:d}m':enable='gte(t,60)',
drawtext=x=42:fontsize=30:box=1:boxcolor=white@0.5:fontcolor=black:fontfile='C\://WINDOWS/Fonts/arial.ttf':text='%{eif\:mod(t\,60)\:d}s'",setpts=PTS/2 out.mp4
659名無しさん@お腹いっぱい。
垢版 |
2018/06/10(日) 14:19:30.76ID:WLun0EjD0
>>658
しょへええ、うまくいきました
ありがとうございます。

詳しいお方なので、もう一つ質問してもよろしいですか?

30fpsの動画を倍速再生したい場合
-iの前に
-r 60
のように、元の動画のfps2倍した数値を入れると
うまくいきました。
もし毎回30fpsと決まっていたら良いですが
そうでない場合、予めffprobeなどで動画のfpsを読み込んでから
その読み込んだfpsの二倍するようにするコードを書いています。
ただ、あまりエレガントではないのですが
-r PTS*2
のように、一つのコードだけで完結したいのですが
そのようなことは可能でしょうか?
 
2018/06/10(日) 21:14:56.81ID:a0GQnQWS0
たぶん出来ないと思います
661名無しさん@お腹いっぱい。
垢版 |
2018/06/11(月) 10:08:15.64ID:BL6N4V1J0
>>660

ありがとうございます。
やはりそうでしたか・・・


ちなみにあと、
02m06s
のように数値を二桁表示にしたい場合、
>>658で教えていただいた通り、
enableで分岐して
数値の前にゼロを付けるしかないですか?
よろしくお願いいたします。
2018/06/11(月) 22:37:27.87ID:w+RoA0390
text='%{eif\:trunc(t/600)\:d}%{eif\:trunc(t/60)\:d}m%{eif\:mod(t\,60)\:d}s'
663名無しさん@お腹いっぱい。
垢版 |
2018/06/11(月) 23:16:49.77ID:BL6N4V1J0
>>662
ありがとうございます。
そのままのコードでは
00m2s
のようになってうまくいきませんでしたが、
自分で工夫することでうまくいきました。

しかし、やりたいことはこんな単純なことなのに
ここまで複雑な数式コードになるとは思いませんでした・・・
 
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

ニューススポーツなんでも実況