ffmpegならこちらへ 3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
公式サイト
http://ffmpeg.org/
エンコード、ストリーミング配信を高画質高音質で行えるffmprg。
OSに拘らず対応コーデックが多い。
対応コーデックが多く、多彩なオプションを使用可能。
コマンドラインから使用することができる。
ffmpegならこちらへ 2
http://potato.2ch.net/test/read.cgi/software/1420916868/ wniの鈴木里奈最高!
(6 lゝ、●.ノ ヽ、●_ノ |!/
| ,.' i、 |}
', ,`ー'゙、_ l
\ 、'、v三ツ /
|\ ´ ` , イト、
/ハ ` `二 二´ ´ / |:::ヽ
/::::/ ', : . . : / |:::::::ハヽ
https://twitter.com/ibuki_air
09058644384
https://twitter.com/5chan_nel (5ch newer account) ブラウザのFlashプレイヤーのflv再生はかなり強力だから、多少のエラーがあっても再生できる
MPCやVLCなど、Flashを再生に使わないプレイヤーは、その点弱い
どんな保存方法でもダメって事は、保存した後に修復しないとダメかも コマンドプロンプトのログが何千行にもなるので、
loglevelを一段階少なく、-v 24にしたら、
まースッキリ、エラー以外は何にも表示されない
動いてるか動いてないのかすら分からないから不安
今どの辺りを作業してるのか分からないから、たまに見に来て、もうすぐ終わりかな?みたいなのができない
( ;∀;)
バージョン3.0ぐらいまでは、進捗状況を一行で%で教えてくれてたのに
これに戻すオプションって、、、ありませんかね? なんのことを言ってるかわからないけどv3.0を使えばいいのでは レスありがとうございます
v3.0ですと、httpからの保存に難があるのですみません
でも、打開できました!!!
-v 24 -stats
これで、理想形になりました >>801
レスありがとう ブラウザで見えてるのはそういう仕組みだったんですね
修復とはどんなものがあるのですか
FLV MetaData Injector は駄目でした
FLV Editor Liteで削るといける時もあるぐらいであんまりよろしくなかったです 別のコンテナに入れ替えちゃうぐらい
.tsとか、何故か再生できるケースが多かった
でも、.tsはシークが重い上にcopyなのにサイズが膨らむ Xメディアレコードでtsに替えたところ、コピーだと駄目でしたが変換だといけました!
ありがとうございます! copyじゃないって事は再エンコードしてるから、
ffmpegで読み込めさえすれば、どの形式でも再生は可能になるんじゃ…
わざわざtsにしなくても 試してみたところ変換だと他の形式でもいけるのがありました
コピーだとどの形式でも上手くいきませんでした
見れるようになっただけでとても嬉しいのですが、エンコードは疎いのでコピーでいけたら尚よかったんですけどねー ffmpegで録画ファイルのエンコードをやっているのですが、
ふと最近になって見てみると、最初テストとしてエンコしてたときと同じ設定でも速度が大きく落ちていることに気づきました、。
ffmpeg ver4.0.0を使っていてradeonのH/Wエンコードを使っています。
環境で必要ありそうな情報はOSはWindows10 Pro,CPUはRyzen3 2200Gということぐらいでしょうか。
どうやら原因を調べてみると、GPU側がアイドル状態の処理力でエンコードをしているのが原因みたいなのですが、
どうにかしてエンコード中だけの間、GPU側フルロードにする方法はありませんか?
オーバークロックで固定してしまうと、録画PCなので消費電力とかの面でも気になりますし、同じような環境になっている方はいませんでしょうか。
対策方法などご存知の方がおられましたらご教示願えませんでしょうかm(__)m >>811
-i ${video} -i ${audio} -g 35280 -vcodec hevc_amf -vb 7M -bf 6 -b_strategy 2 -refs 4 -deblock 0:0 -qdiff 8 -qcomp 0.7
-direct-pred auto -me_method umh -me_range 24 -subq 10 -trellis 2 -x264opts rc-lookahead=60:aq-mode=2:aq-strength=0.8:psy-rd=1.0,0.15
-acodec copy -bsf:a aac_adtstoasc -f mp4 ${output}
AutoConvertというツールを介して使っている都合、ffmpegに詳しくないので、テンプレートにあったのを少し変えた感じで使ってます。
いじってみた感じ、helpコマンドで出力されるオプションがうまく反映されなかったので、いろいろ加えていて無効なオプションも存在してると思います。。 >812
-vcodec hevc_amf なので -x264opts は使えない。
-g(keyint) 35280 は大きすぎる。特に理由が無ければフレームレートの10倍でいい。
ffmpeg -h encoder=hevc_amf
これで使えるオプションを確かめる。
出力データを何目的に使うかにもよるが、qp 関係と quality 設定 をすればよさそう。 >>813
返信ありがとう。
調べてる途中で-x264optは使えないことはわかっていたのだけど、下に書いてくれたquality設定を書いてもなぜか反映されなかったから、-vb 7Mって指定してる。
-gはとりあえず大きくしておけばいいかと思って大きくしてたw
もうちょっと調べてみてqp周りの設定をなんとかしてみるよ EPGStationからデュアルモノを主音声のみでKodiに流したいんですけど
%FFMPEG% -re -dual_mono_mode main -i pipe:0 -c:a aac -ar 48000 -ab 192k -ac 2 -c:v copy -tune fastdecode,zerolatency -f mpegts pipe:1
これだと15秒ぐらい待たないと再生が始まりません。速める方法ありますでしょうか? -c:v copy -tune fastdecode,zerolatency
copy しながら tune って効果あるのかな?
普通は -c:v libx264 -tune fastdecode
のように使う。2つオプション使えるのかは試してない
早く再生させたいなら QSV を使うとか -c:v h264_qsv youtube-dlで落としてると
skipping () segments ahead, expired from plalists
ってログが流れて落した動画のその部分が飛ぶのが怖いよぅ・・・
直し方お兄ちゃん教えて・・・ あ、youtube-dlもffmpegも最新です・・・ H.264の-crf 23がHEVCの-crf 28位とのことですが、同等画質の対応表か簡単な計算方法ありませんかね? >>822
> H.264の-crf 23がHEVCの-crf 28位とのこと
それ単に--crfのデフォルト値がx264だと23、x265だと28ってだけでしょ。
画質が同じになるってわけじゃないし、ソースによっても変わるので計算方法なんてあるわけがない。 いや同等って騙ってたよ
絶対後者の方が汚いと思うが 自分でサンプル動画3個ずつとか作ればすぐできるじゃん >>824
> いや同等って騙ってたよ
誰がどこで? >>823
絶対同等である必要はなく、既に検証済みでよく知られてるおすすめ対応値みたいなのがないかなと。 絵の傾向が違うから無理かと
それにx264もx265もデフォのオプションでは低ビットレートに向いてないから
なおさら無理 >>816
h264_qsvもQSVEncC使っても15秒ぐらいはかかってしまうんですね… >>831
4.1ってAV1のエンコードだけでなくデコードもできるようになった? >>832
なにか勘違いしてるようだが、libaomによるAV1デコードならとっくにサポート済み。
もう1つlibdav1dというAV1デコーダがあり、そちらもコミットはされているのだが、4.1には入っていない。
詳細は下の記事を読めばわかる。
ffmpeg 4.1 リリース | ニコラボ
http://nico-lab.net/ffmpeg_4_1_released/ >>833
> なにか勘違いしてるようだが、libaomによるAV1デコードならとっくにサポート済み。
うお、そうなのか。
それじゃAOMを個別にコンパイルする必要は無くなったのね ここしばらくaviutlで音ずれに悩まされてたんだけど
もしかしてファイル名にDELAY -○○msが含まれてたら
DELAY 0msになるように補正されるように仕様変更てる?
デュアルモノなaacをデュアルモノなwavにffmpegで変換
それをavisynthでモノラル化してaviutlで読み込みという手順なんだけど
aac分離時に自動指定さるDELAY値を無効にすると映像と音がピッタリ一致することに気が付いた 持ってるデジカメが
・FullHD 60p
・4k 24p
の2つの動画モードをサポートしてるんだけど
近い将来の技術革新を見越したらどっちのモードで録画しておくべきだろうか?
フレーム補完技術の方が完成度が高いか
はたまたアップスケール技術の方が完成度が高くなるか・・・ そんなん撮る物と好みによるとしか…
個人的には30p以下の動画嫌いだから前者選ぶけど >>838
やっぱ前者か
60Pは一度見ちゃうとその滑らかさが癖になる
>>839
フレーム補完もアップスケーリングもffmpegのメインテーマぞな 質問失礼します
FFmpegでアップスケーリングする際のデフォルトアルゴリズムはBicubicらしいのですが、係数aの値は-1.00なんでしょうか?
a=-1.00もしくはa=-0.50~-0.75が普通らしいのですが、調べても分からなかったのでどなたかご教示ください アルゴリズムとしての標準は0.3と0.3じゃないの concatでmp4を連結する時に、継ぎ目にチャプターで飛べるようにするにはどうすれば チャプターを書いて動画と合わせれば
ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec copy OUTPUT >>843
mkvになるけど、mkvtoolnixは連結した動画にチャプターを自動埋込する機能がある。
このファイルから、チャプターファイルをエクスポートして、ffmpegとかで使えるのかな? ffprobeあたりでdurationを調べて、スクリプトで受けてmetadataを吐いて、
みたいなことをすればできるんだろうけど、
そんな面倒なことを各自でやるのは明らかに無駄なので、
そんなオプションがあるだろうと思ったけど無さそう それならパイプを使ってffmpeg.exeに渡してあげればいいんでない? -bsf:a aac_adtstoasc
これって何の為に入れるんですか?bitstream filterってのが何なのかそもそも分かってません 1説明
このドキュメントでは、libavcodecライブラリによって提供されるビットストリームフィルタについて説明します。
ビットストリームフィルタは、符号化されたストリームデータに対して作用し、復号を実行することなくビットストリームレベルの変更を実行する。
2.1 aac_adtstoasc
MPEG-2/4 AAC ADTSをMPEG-4 Audio Specific Configurationビットストリームに変換します。
このフィルタは、MPEG-2/4 ADTSヘッダーからMPEG-4 AudioSpecificConfigを作成し、ADTSヘッダーを削除します。
このフィルタは、AACストリームを生のADTS AACまたはMPEG-TSコンテナからMP4A-LATM、FLVファイル、またはMOV / MP4ファイルや3GPやM4Aなどの関連フォーマットにコピーする場合に必要です。MP4A-LATM、MOV / MP4、および関連するフォーマットには自動挿入されます。 黒帯(上下、左右)を削る場合ですが、皆様は黒帯のサイズ(pixel?)をどのように
測っていますか? コンテンツによってまちまちだとものですが。 >>854
key_frameとクロップはAvidemuxで計ってる。 >>855
ありがとうございます
>>856
ありがとうございます
自動クロップ便利ですね 変換ビットレートを入力動画の半分のサイズにしたいのですが毎回-bで手打ちで入力するしかないのでしょうか?もし良い方法をご存じでしたら教えてください >>858
バッチファイル書けばいいんじゃない?
ソースのビットレートをffprobeで調べて、その半分のビットレートを指定すればいいのでは。 20181018以降のffmpeg static版でnvencがエラー起こして出来ないんですが同様の症状について知ってる人いますか?
win7 gtx1060使用
cmd で ffmpeg -i a.ts -c:v hevc_nvenc out.mp4と書いてます
ちなみに20181016版までだとエンコード可能でエラー見たらCannot load cuDeviceGetUuidとなってました >>860
GTX1060のドライバーのバージョンは? >>861
最新のやつに上げたら出来ました
単純な見落としでしたありがとうございます シネスコの上下クロップして字幕(sup)の位置や比率を弄りたいのだけど
-c:s 関連の設定で詳しく書いてある所どこかありますか? >>862
んー、一応問題のあったドライババージョンを聞いておきたかったのだが。今からでもわかれば教えてほしい。
ちなみに>>860の問題原因はエラーメッセージと期間指定でググれば一発で出てくるこれだと思う。
#7530 (cuviddec/nvdec/nvenc: driver checking errors) ? FFmpeg
https://trac.ffmpeg.org/ticket/7530
新しめのffmpegバイナリを古いドライバで使うとエラーになるという問題。
11/3にnv-codec-headersで修正されてるみたいだけど、Zeranoe版バイナリのReadmeを見ると
12/20のバイナリでも20181017-5054a06のnv-codec-headersを使ってるようなので、問題が起きる。
ググって調べた範囲での推測だけどね。 >>864
game ready driver 391.35でした >>865
ありがと。最低でも5月以降、できれば9月以降ってとこみたいね。
Windows
391.35 : 2018.3.27
397.93 : 2018.5.24
411.63 : 2018.9.19 (411.31は不明だった)
---
FFmpeg/nv-codec-headerst
https://github.com/FFmpeg/nv-codec-headers
Corresponds to Video Codec SDK version 8.2.15.
Minimum required driver versions:
Linux: 396.24 or newer
Windows: 397.93 or newer
Optional CUDA 10 features:
Linux: 410.48 or newer
Windows: 411.31 or newer https://trac.ffmpeg.org/ticket/7530
New FFmpeg binary, with old driver: FAILS at runtime when using the cuvid driver
確かに書いてる... ffmpeg -v 24 -stats
2台のPCでコマンドプロンプトの動きが違う
Win10Proはエラー時のみ+進捗1行 これが良い
Win10は-stats付けると、-v 24がシカトされる…
なんかコマンドプロンプトの枠の大きさも違うし
ffmpegのバージョンは4.1と4.0.2で試したけど同じ
謎です… FFmpegを使って、動画ファイルのメタデータのコメントに文字列を埋め込みたいと考えています
http://nico-lab.net/adding_metadata_with_ffmpeg/
このページなどを参考にして、
iniファイルから読み込む方法
ffmpeg -i D:\input.mov -i D:\ffmetadata.ini -map_metadata 1 -c copy D:\output.mov
コマンド中で文字列を入力する方法
ffmpeg -i D:\input.mov -metadata "comment"="hogehogeほげ" -c copy D:\output.mov
を試しました。
埋め込まれたかどうかは
エクスプローラー上の右クリックメニューと
ffmpeg -i input -f ffmetadata ffmetadata.ini
というコードで確認しています。
MKV MP4 WMV などは、いずれの方法でもうまくいったのですが
MOVで試すと、FFmpegでは埋め込まれた情報が確認できるのですが、
エクスプローラー上の右クリックメニューでは情報を見ることができません。
また、なぜか全角文字が文字化けしてしまいます。
文字化けの問題はiniファイルのフォーマットをUnicodeではなくShift JISにするとうまくいきました。
しかし、エクスプローラー上で見れない問題は何とかならないでしょうか?
あと、3GPも試してみたのですが、
こちらのエクスプローラーでは見れず、なぜかFFmpegでも見ることができません。
MediaInfoを使えば見ることはできるのですが、
せめてFFmpeg上でも見れるようにできないでしょうか?
FFmpegは最新版を使用しています。
散々、調べてみたのですが、情報は見つかりませんでした
どなたがお教えください。 MOVや3GPを使う人っていまどきいるの?何のため?
って話じゃないのかな知らんけど 単なるコンテナとしての.movは現役で生きてるよ
中身はHEVC/AACだったりApple ProRes系統(今はこれの受け渡しに使うのが最も多い)だったりするけど >>868です
batファイルで、
ffmpeg -v 24 -stats 〜とやっているのですが、(片方のPCだけ)-statsで進捗状況が一行になってくれず途方に暮れております
皆様の挙動は一行でしょうか?経過とともにどんどん行が増えて行く感じでしょうか?
ffmpegのバージョン関係なくこれです。
ttps://light.dotup.org/uploda/light.dotup.org570348.jpg >>873
それはコマンドプロンプトの設定に起因してるからFFmpegは関係ないと思う ゲームの録画をする際、音声は5.1chサラウンドでやってみたい
ステレオ録音なら -ac 2 のオプション付けるから単純に -ac 5.1 に変えてみたけど
> Expected int64 for ac but found 5.1
とか言われて拒絶された。
-ac 6 を指定してみたら今度は通って録画が始まって喜んだのもつかの間。
録画したMP4動画ファイルをAudacityで確認してみたらオーディオストリームは
6本あったもののちゃんと録音されていたのは最初の2本だけ、つまり実質ステレオ録音だった。
どうしたら5.1chサラウンドを忠実に録音すること出来るかな?
ちなみに打ったコマンドは以下の通り
ffmpeg.exe -f gdigrab -r 30 -draw_mouse 1 -video_size 1280x960 -i desktop -f dshow
-i audio="ステレオ ミキサー (Realtek High Definit" -c:v h264_qsv -pix_fmt yuv420p
-q 30 -c:a libfdk_aac -ar 48000 -ac 5.1 -b:a 192k -f mp4 "test.mp4" >>881
音声くわしくないけど適当に並べ立ててみる。
・ゲームの音声設定が5.1chになってないとか?
・オーディオデバイスが5.1chに対応していないとか?
・ステレオミキサーって名前に「ステレオ」ってついてるけど5.1chを扱えるんだっけ? ffmpeg -list_options true -f dshow -i audio="ステレオ ミキサー (Realtek High Definit"
これでサラウンドがないとサラウンドで録音できない
PS4とかのサラウンドならHDMI入力すればサラウンドになりそうだが詳しくは知らない >>883
こんな結果が返ってきたけどサラウンドは無いってことかな?
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
[dshow @ 0000000000556f40] DirectShow audio only device options (from audio devices)
[dshow @ 0000000000556f40] Pin "Capture" (alternative pin name "Capture")
[dshow @ 0000000000556f40] min ch=1 bits=8 rate= 11025 max ch=2 bits=16 rate=44100
Last message repeated 22 times
audio=繧ケ繝・Ξ繧ェ 繝溘く繧オ繝シ (Realtek High Definit: Immediate exit requested
>>882
一応ゲームでは5.1chサラウンドは有効になってる(リアスピーカーから背後の音が聞こえてきてる)
この感動をそのままキャプチャーしたいわけだが・・・ ソフトウェアのサラウンドステレオミキサーはたぶん無いと思う。
となるとサラウンドで出力したのをサラウンドで取り込むキャプボを取り付けることになる。
hdmi キャプボ 5.1ch
で検索すると
https://mntone.hateblo.jp/entry/2017/03/20/131957
Intensity Pro 4K
https://tkgstrator.work/?p=3352
GC573
が見つかる >>885
ああ、そういうことorz・・・
「ステレオミキサー」ってまんま「ステレオ」なのね
音のためだけにHDMIキャプボ導入するのもなぁ・・・
はよ「ステレオミキサー」は「サラウンドミキサー」に進化せんかな(´・ω・`) 元々5.1chの音源が取れてないって話だから、音声チャンネル操作の話とはまた別だと思う。 >>887
>>888さんの言うとおりサラウンドのキャプチャーの段階で失敗してるっぽいんだよね
ステレオミキサーがサラウンドもサポートしない限り単純キャプチャー方式じゃダメっぽい >>890
うろ覚えだけどOBS Studioはたしかステレオミキサーに頼らず独自の録音方式を採用していたような
でもOBSもベースはffmpeg使ってるからやろうと思えばffmpegでもできるのかな? OBSは単に音声の入力/内部処理/出力でサラウンド音声を扱えるだけ(凄いことだけど)であって、
5.1ch音声をどうキャプチャするかというのはまた別問題だと思う。
必要なのは
・5.1chに対応した録音デバイスを作る
・ゲームの5.1ch音声がその録音デバイスに流れるようにする
の2点であって、それができればその録音デバイスを使ってffmpegでもOBSでも5.1ch音声を録音できるようになるはず。
この作業に必要なのが、下記のような仮想オーディオデバイスの機能を持つソフト。
「Voicemeeter Banana」 https://www.vb-audio.com/Voicemeeter/banana.htm
「Virtual Audio Cable」 https://vac.muzychenko.net/en/
前者のBananaの方が便利で使いやすそうに思えるのでそっちで説明すると、
・インストール&再起動
・再生デバイスに「VoiceMeeter Input」ができているのでそれを規定(デフォルト)にする
・VoiceMeeterの画面右上の「HARDWARE OUT」で、出力A1にサラウンドスピーカー(の再生デバイス)を割り当てる
・VoiceMeeterの画面中央の「VIRTUAL INPUT」のVAIOの方(「VoiceMeeter Input」に対応)で、
出力A1とB1(録音デバイスの「VoiceMeeter Output」に対応)に出力するよう設定する
・録音デバイスに「VoiceMeeter Output」ができているので、ffmpegやOBSでそれを指定してキャプチャする
といった感じで、サラウンドキャプチャが可能になるような気がする。
上の手順はざっくりした流れなので、実際にはデバイスのチャンネル設定とか、
他の入出力デバイスの設定とか、チャンネル変換の設定とかも必要になるかもしれない。
そのへんはドキュメントとか見てなんとかしてくれ。
実際やったわけじゃないけど、>>890を元にして調べた限りではこんな感じな気がする。
間違ってたら指摘してくれ。うまくいったなら、その報告もしてもらえるとありがたい。 素人質問で申し訳ないのですが、h264_vaapiエンコでhwaccel vaapiと同時にソフトウェアデインターレスフィルタの
yadifを使うことはできないのでしょうか?hwaacelがあると速度があがるのでできればあったほうがいいのですが。 ffmpegで異なるフレームレートの動画を連結させようと思ってhttp://fft est33.b log.f c2.co m/b log-en try-5 3.html こちらの方法を参考にして
1.m p4,fps,29.970
2.m p4,fps,59.940
3.m p4,fps,59.940
4.m p4,fps,29.970
5.m p4,fps,29.970の動画を
ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp4 -i 5.mp4 -filter_complex "concat=n=5:v=1:a=0" -an -vsync 0 -r 60000/1001 output.mp4
こちらで音声だけ外してやってみたんですが音声を
ffmpeg -f concat -safe 0 -i 動画結合mp4.txt -c copy -vn 連結.m4a
こちらで連結させようとしたらNon-monotonous DTS in output streamがでて音声ファイルがおかしくなります。
個別に音声だけ抜き出して動画結合mp4.txtに書いて
ffmpeg -f concat -safe 0 -i 動画結合mp4.txt -c copy 連結.m4a
こちらでもやってみたんですがNon-monotonous DTS in output streamがでて音声ファイルがおかしくなります。
これはどうしたらいいんでしょうか?
あとffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp4 -i 5.mp4 -filter_complex "concat=n=5:v=1:a=0" -an -vsync 0 -r 60000/1001 output.mp4
こちらのやり方は正しいんでしょうか?
他にいい方法はありますでしょうか? ffmpegでニコニコのHLSの動画を落とそうとすると、途中から403エラーになってしまう
多分、速すぎるのが原因だと思うので手加減したいんだけど、
何のオプションを使えばいいだろう >>895
ニコニコはハートビートを送らないと切れるとかって話を聞いた気がする。
DLスレの過去ログでも探してみればいいんじゃないかな。
【DL】動画の保存方法総合スレ【保存】37GB
https://egg.5ch.net/test/read.cgi/streaming/1544282378/ ハートビートではないっぽい
ffmpegの画面出力を適当にctrl-sで止めながらだとちゃんと完走できる ■ このスレッドは過去ログ倉庫に格納されています