X

ffmpegならこちらへ 4

レス数が1000を超えています。これ以上書き込みはできません。
2019/08/08(木) 22:03:24.57ID:lHH8R4fX0
>>277 のはframe= 1852が1852フレームって事ね
2019/08/08(木) 23:26:37.75ID:3HT9wkkH0
>>277
ffprobeなら、-count_framesを用いなければ、全部読み込むことなく取得できるので、
長い動画を大量に処理するとき(あまり思いつかないけどw)には、
処理時間に相当違いが出てくるな。
(ただし、動画によっては取得できない場合がある)

それに、パイプや外部コマンドを使わずに、ffprobeのみで、
フレームレートや総フレーム数なんかの値のみを取り出したり、整形することが可能なので、
Windows環境では利用価値があると思うよ。
2019/08/08(木) 23:43:30.67ID:lHH8R4fX0
>>279
〉 -coount_framesを用いなければ
は–を用いれば、の間違い?

全部読み込むことなく確実に取得は符号化の特性上無理で、それ結局はストリームを最後まで読み込ん(≠展開する)でる事には変わらないだろうからほぼほぼ速度同じだと思うよ
-codec copy も同じように展開しない上に-f nullで無出力、出力先がpipe:1(- と同じ)からね

実際さっきの標準出力に speed= 143x ってあるように快速
2019/08/09(金) 00:30:18.99ID:Qus1Piiv0
>>280
-count_framesを用いなければ、であってるよ。

このオプションを用いると、動画データを実際に処理しながらカウントするので、めちゃくちゃ遅い。
値は"nb_read_frames"として出力される。

フレームカウントにはもう一つあって、
以上オプションを用いるか否かにかかわらず、
ファイルに埋め込まれた値が"nb_frames"として出力され、
よほど特殊なもの(切り出したものなど)でない限り、これらの値は同一となる。
mkvなんかだと、取得できないので、N/Aが帰ってきちゃうけど。

>>272 の方法は、基本的には後者の"nb_frames"と同じものみたいで、
実際のフレーム数と異なることがある。
もっとも、mkvなどの取得できない場合は実際に読み込んで"nb_read_frames"と同じ値が返ってくるようだ。
2019/08/09(金) 00:33:12.58ID:Qus1Piiv0
ごめん、アンカー間違えた。
>> 272ではなく、 >>277
2019/08/09(金) 00:53:46.63ID:alxe/fbS0
そもそもなんのためにフレーム数を知りたいんだろう?
ぐぐるといっぱいヒットするから需要はあるんだろうが自分には目的がわからない
しかもそのものズバリのcount_framesなんてオプションがあるのに
どれもこれもひねくれたやり方ばかりしている
昔はなかったオプションなのか?
2019/08/09(金) 01:51:37.20ID:Qus1Piiv0
>>283
1.0直前の0.11で実装されたオプションみたい。
まあ、7年も前だけど。

総フレーム数については、
mediainfoでは正確に知ることができない、みたいな話題を、
どこかで見た覚えがあるけど、それなりに需要はあるだろうね。
2019/08/09(金) 02:14:13.34ID:LBCLFZif0
みんな不親切だなw
コマンド書いてやればみんなすぐに試して納得だろうに
>>279氏の例
ffprobe -show_streams -select_streams 0:v -show_entries
stream=nb_frames:stream_tags=:stream_disposition= -i hogehoge.mp4

279氏の言う通りmp4でも極稀に正確な値を示さない場合もあるけど、まともな
プロセスで作った動画ならVFRであっても正しいフレーム数になってるはず。
2019/08/09(金) 09:38:14.93ID:+Ab6SUvu0
ADVANCED大戦略 38欠陥品
https://egg.5ch.net/test/read.cgi/game/1514596257/934
> 929 名前:名無しさんの野望[sage] 投稿日:2019/08/07(水) 13:07:22.15 ID:fUVcC+ua
> まあ実際他スレではほとんど皆スルーしてるから良いんじゃね
> IPはvpnでコロコロ変えてるから無意味だけどそれ以外の方法で透明NGは余裕っしょ
> このスレはゴミの肥溜めみたいなもんだからどんなに荒れてようが誰にも迷惑かからんし
> どうせ埋まったらキチガイ本人がまた次スレ立てるだろ
>
> 930 名前:名無しさんの野望[sage] 投稿日:2019/08/07(水) 13:12:45.93 ID:Oj4+g13y [4/4]
> >>925
> まあ君に当たり散らした訳ではないのですまん
> スマホで見てるけどクリーニングするとキャッシュ消えていちいちNG入れないといけないからだるいんだよね
>
> 931 名前:名無しさんの野望[sage] 投稿日:2019/08/08(木) 07:54:20.20 ID:1A/Ms3FC
> >>926
> 涙目逃亡糖質ガイジいっらいらwwwwwwww
>
> 932 名前:名無しさんの野望[sage] 投稿日:2019/08/08(木) 10:52:01.00 ID:RVECqLpM
> ここの糖質が他スレを自演で南のフリして荒らして、南を懲らしめるっていうのを大義名分に自分でも荒らしてるってことでOK?
> もう子供のごっこ遊びレベルじゃん
> こんなのを四、五十歳のおっさんがやってると思うと悲しくなるな (惜しいw 二匹とも 昭 和 3 6 年 生 ま れ の 5 8 才 で す w )
>
> 病気だしどうしようもないね
> なるかどうかは運だし
> 早く良くなれよとしか
>
> 15年治らないなら無理だろw
> 熊沢栄一郎みたいに親に殺してもらうしかねえわw
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
殺害に関連づける文章を書いている犯人はセガとシステムソフトαへハンマーを使って頭を砕くという内容の
殺害予告分を書いた犯人でお馴染み              株式会社チキンヘッドのミナミヒトアキ容疑者と鈴木ドイツ容疑者
◆◆◆必要ならば警察に被害届を出してください◆◆◆
2019/08/09(金) 14:02:48.92ID:8PBlwVfa0
>>281
うーん……ffprobeは使わないから知らんけど >>227 で書いたffmpeg単体の方法、mkvでもちゃんと快速で正しい結果で返ってきたよ
入力は前のmp4とは別の82フレームのmkv

コマンド:
-i '入力.mkv'
-codec copy -f null
'pipe:1'

標準出力:
  ︙(前略)
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame= 82 fps=0.0 q=-1.0 Lsize=N/A time=00:00:03.95 bitrate=N/A speed= 716x
video:162kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
2019/08/09(金) 14:19:07.63ID:gA3gxLDD0
ADVANCED大戦略 38欠陥品
https://egg.5ch.net/test/read.cgi/game/1514596257/934

> 15年治らないなら無理だろw
> 熊沢栄一郎みたいに親に殺してもらうしかねえわw
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^




















ガとシステムソフトαへハンマーを使って頭を砕くという内容の殺害予告分を書いた犯人でお馴染み         

     株式会社チキンヘッドのミナミヒトアキ容疑者と鈴木ドイツ容疑者


                  ★★★必要ならば警察に被害届を出してください★★★
2019/08/09(金) 17:42:41.86ID:dT+sZjgP0
>>287
手元のMP4ファイル(ffmpegで切り出したもの)では、
ffmpeg、mediainfo、mp4box、boxdumper、それぞれで、759 frames (samples) とされるものについて、
ffprobeでは、nb_frames=759、nb_read_frames=757 という結果が出た。
                   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
別のMKVファイルだと、
ffmpeg、mediainfo、それぞれで、7470 framesとされるものが、
ffprobeでは、nb_frames=N/A、nb_read_frames=7470 という結果が出た。
         ̄ ̄ ̄ ̄ ̄ ̄ ̄
実際に全フレームをデコード処理した上でカウントして得られるのは、
唯一、ffprobeのnb_read_framesのようなので、
-count_framesオプションを用いたこの値が、最も正確なものだと思うけど、
大きいものだとめちゃくちゃ時間かかる(まるでフリーズしたかのようになる)し、
目的にもよるけど、そう大きな違いじゃないから、
とりあえず、それ以外の方法でいいと思う。

やはり、解析に特化してるmediainfo
(--Output="Video;%FrameCount%"をオプション指定)が
一番使いやすいというのが個人的な感想かな。
2019/08/09(金) 18:00:01.04ID:dT+sZjgP0
>>285
いやぁ、検索するなりしてもう試してると思ったので、省略してしまったよw

ちなみに、-show_entriesでstreamを選択してるので、
-show_streamsオプションはいらないよ(あっても構わないけどね)。

なお、ffprobeに関する、 >>289 のコマンドは
ffprobe -v 24 -select_streams v:0 ^
-show_entries stream="nb_frames,nb_read_frames" ^
-count_frames -of default="nw=1:nk=0" ^
対象動画ファイル

末尾の^はWindows用のエスケープ文字なので、改行しなければ実際には一行ね。
2019/08/09(金) 18:37:46.78ID:dT+sZjgP0
一応警告もしておくね。

>>290 のコマンドで、大きなファイルを指定すると、思った以上に時間がかかり、
あたかもフリーズしたかのような状態になるので、
・予め小さなファイルから試す
・-count_framesオプションを適宜外す(ただし、nb_read_framesの値は取得できない)
以上を留意されたし。

ついでだけど、-v 24 (warning) は、-v 8 (fatal) くらいにしておいたほうが、
不完全なファイルの場合にはちょうどいいかも。
2019/08/09(金) 20:05:11.86ID:8PBlwVfa0
>>289
検証お疲れさま
細かいようだけど、ffmpegのコマンドはどんなので試したのか教えてほしい

もしffmpegの-codec copyで正しい値が取得できないなら

-loglevel +repeat+level+debug
-i '/storage/emulated/0/Download/眷属ミコト戦.webm'
-f null
'pipe:1'

でデコードだけして標準出力の最後のフレーム数を確認すれば良い
おそらくこれはffproveのnb_read_framesと同じ処理・値と予想します
2019/08/09(金) 21:01:00.14ID:dT+sZjgP0
>>292
コマンドは >>277 だよ。

念の為、nb_frames=759、nb_read_frames=757となるファイルについて、もう少し広く、
ffmpeg -i "対象動画ファイル" -c copy -f null -v 56 - >log.txt 2>&1
で全トレースログを拾ってから検索かけてみたけど、
途中経過のctts_indexに該当の数値"757"はあるものの、
残念ながら、それ以外で、ffprobeのnb_read_framesに相当する値はなかったなぁ。
このファイルに関しては、あなたの予想とは違うようです。

ちなみにこのファイルを、ffmpegで再エンコすると、
nb_frames、nb_read_frames、いずれも757になってしまった。
最初か最後の2フレームはあるにはあるけど、デコードできない、ということだろうと思う。

以上から考えると、
nb_read_framesは実際に(avcodecで)デコードできるフレーム数、ということで、
nb_frames(他のツールで表示される値もこれ)のような潜在的なフレーム数(?)とは異なるということになるのかな?

サンプルがアップできずごめんね。
2019/08/09(金) 21:11:31.04ID:w414RMEm0
ADVANCED大戦略 38欠陥品
https://egg.5ch.net/test/read.cgi/game/1514596257/934

> 15年治らないなら無理だろw
> 熊沢栄ー郎みたいに親に殺してもらうしかねえわw
 























と シ ス テ ム ソ フ ト α へ ハ ン マ ー を 使 っ て 頭 を 砕 く と い う 内 容 の 殺 害 予 告 文 を 書 い た 犯 人 で お 馴 染 み         
     株 式 会 社 チ キ ン ヘ ッ ド の ミ ナ ミ ヒ ト ア キ 容 疑 者 と 鈴 木 ド イ ツ 容 疑 者
                  ★ ★ ★ 必 要 な ら ば 警 察 に 被 害 届 を 出 し て く だ さ い ★ ★ ★ 
2019/08/09(金) 21:12:53.36ID:8PBlwVfa0
>>293
ありがとう、だいたい把握できたと思う

うーん2フレームは破損しているのか、そもそも実際には映像のコマではないのか……
もし手が空いてるなら連番静止画で全フレーム出力してみて757枚か759枚か調べることはできない?注文ばっかりで悪いけど、すごく気になる
2019/08/09(金) 21:19:31.76ID:MJ2OBgta0
ADVANCED大戦略 38欠陥品
https://egg.5ch.net/test/read.cgi/game/1514596257/934

> 15年治らないなら無理だろw
> 熊沢栄ー郎みたいに親に殺してもらうしかねえわw
 























と シ ス テ ム ソ フ ト α へ ハ ン マ ー を 使 っ て 頭 を 砕 く と い う 内 容 の 殺 害 予 告 文 を 書 い た 犯 人 で お 馴 染 み         
     株 式 会 社 チ キ ン ヘ ッ ド の ミ ナ ミ ヒ ト ア キ 容 疑 者 と 鈴 木 ド イ ツ 容 疑 者
                  ★ ★ ★ 必 要 な ら ば 警 察 に 被 害 届 を 出 し て く だ さ い ★ ★ ★ 
2019/08/09(金) 21:50:23.50ID:dT+sZjgP0
>>295
やはり、実際に処理されたのは757枚で、
最初のフレームと、最後のフレームが含まれていなかった。
ffmpeg -i "対象動画ファイル(30fps)"-an -q:v 0 -r 30 "outputFile_%03d.jpg"

もっとも、タイムスタンプの扱いが原因でも同じことは起きるかもしれないと思い、
念の為、-copyts や -start_at_zero を追加しても、動画、連番画像ともに変わらず。

>>293 の後半に書いた自分の推測が当たりのような気がする。
2019/08/09(金) 22:04:16.55ID:dT+sZjgP0
サンプルは簡単にできるので、
作成した上で追試してもらえると嬉しいな。

ffmpeg -i "サンプルソース動画" -ss 5 -t 10 -c copy -an "テスト用サンプル動画"

これを >>290 のコマンドで解析して、2つの値が異なればおk。
2019/08/09(金) 22:17:47.21ID:8PBlwVfa0
>>297>>298
そっか……手間掛けてごめんね
時間指定で切り取った映像で再現できるならその段階でのバグの可能性があるか
2019/08/09(金) 23:37:35.82ID:vWbNFo290
aADVANCED大戦略 38欠陥品
https://egg.5ch.net/test/read.cgi/game/1514596257/934

> 15年治らないなら無理だろw
> 熊沢栄ー郎みたいに親に殺してもらうしかねえわw
 























と シ ス テ ム ソ フ ト α へ ハ ン マ ー を 使 っ て 頭 を 砕 く と い う 内 容 の 殺 害 予 告 文 を 書 い た 犯 人 で お 馴 染 み         
     株 式 会 社 チ キ ン ヘ ッ ド の ミ ナ ミ ヒ ト ア キ 容 疑 者 と 鈴 木 ド イ ツ 容 疑 者
                  ★ ★ ★ 必 要 な ら ば 警 察 に 被 害 届 を 出 し て く だ さ い ★ ★ ★ 
2019/08/11(日) 18:59:25.57ID:7FF43kUI0
TSやVOBの映像ソースからMP4にエンコードするときに稀に実際の映像時間より長い時間エンコードしちゃうことがあるんだけど
実時間を正確に処理できる対処法って有りますか?
2019/08/11(日) 19:02:30.93ID:F+5IEqpv0
別のソフトで無劣化で切り出してから処理するとか
2019/08/11(日) 19:37:56.10ID:w6NXNtpZ0
ADVANCED大戦略 38欠陥品
https://egg.5ch.net/test/read.cgi/game/1514596257/934

>15年治らないなら無理だろw
>熊沢栄ー郎みたいに親に殺してもらうしかねえわw
 

 害

 関

 づ

 る

 章

 書

 て

 る

 人

 セ


と シ ス テ ム ソ フ ト α へ ハ ン マ ー を 使 っ て 頭 を 砕 く と い う 内 容 の 殺 害 予 告 文 を 書 い た 犯 人 で お 馴 染 み         
     株 式 会 社 チ キ ン ヘ ッ ド の ミ ナ ミ ヒ ト ア キ 容 疑 者 と 鈴 木 ド イ ツ 容 疑 者
                  ★ ★ ★ 必 要 な ら ば 警 察 に 被 害 届 を 出 し て く だ さ い ★ ★ ★ 
gwgde
304名無しさん@お腹いっぱい。
垢版 |
2019/08/12(月) 16:23:57.23ID:trBKwwJD0
フレーム数の取得方法に関してですが
どなたかコードをまとめて説明いただけないでしょうか?

動画ファイルを最後まで読み込まないと
正確なフレーム数が取得できず、ファイルによっては取得すらできないものもある。

ただし、最後まで読み込む方法だと
動画時間の長いものは非常に時間がかかる、ということですか?

FFmpegでもFFprobeでも同じですか?
MediaInfoを使ったとしても同じなのでしょうか?
2019/08/12(月) 19:07:02.97ID:vFAnYV3n0
そりゃVFRとかあるしな…
2019/08/12(月) 19:46:25.02ID:QMYwQeQm0
ほんとに自分で試そうとしないんだなw
2019/08/12(月) 22:13:58.73ID:Q9z2tV/o0
上でffmpeg単体でフレーム数取得するコマンド書いてた者だけど、流石に面倒見切れよう
こっちは何も手応えない相手の為にもっと手間割けるかって話
2019/08/12(月) 22:36:44.49ID:9ZdlGUf60
ここまでアレだと逆にすがすがしいねぇw

まあこんなんでも、お盆で暇な人がまとめて説明したり検証してくれたりするんだろうなあwww
2019/08/12(月) 23:45:46.85ID:yq6vabge0
ADVANCED大戦略 38欠陥品
https://egg.5ch.net/test/read.cgi/game/1514596257/934

>1 5 年 治 ら な い な ら 無 理 だ ろ w
>熊 沢 栄 ー 郎 み た い に 親 に 殺 し て も ら う し か ね え わ w
 

 害

 関

 づ

 る

 章

 書

 て

 る

 人

 セ


と シ ス テ ム ソ フ ト α へ ハ ン マ ー を 使 っ て 頭 を 砕 く と い う 内 容 の 殺 害 予 告 文 を 書 い た 犯 人 で お 馴 染 み         
     株 式 会 社 チ キ ン ヘ ッ ド の ミ ナ ミ ヒ ト ア キ 容 疑 者 と 鈴 木 ド イ ツ 容 疑 者
                  ★ ★ ★ 必 要 な ら ば 警 察 に 被 害 届 を 出 し て く だ さ い ★ ★ ★
ageawada
2019/08/14(水) 10:54:28.87ID:2aqn0nPS0
>>227
-iの前の-ssは不正確という表現しかされないので、何かの誤差かと思ってたけど、
GOP単位での指定になるらしい
-ss 粗い時刻 -i ソース -ss 正確な時刻 -t 時間
と3つ指定すると、正確かつ高速に切り出せる

但し、2回目の-ssは1回目の-ssの時刻を基準とした時刻を計算して指定しないといけない
手計算では面倒なのでスクリプト推奨
2019/08/14(水) 16:28:21.11ID:/cS/kYjr0
ffmpegってLAMEのジョイントステレオ的なコマンドは無いんですか?
2019/08/14(水) 16:41:48.06ID:OBpGedUw0
あるよ
2019/08/14(水) 22:07:53.95ID:H42cx1QJ0
>>310
分迄と、秒以降とで分けるのがそんなに大変か?
2019/08/14(水) 23:33:28.97ID:+hjjthty0
>>313
分ぴったりにキーフレームがある訳じゃないでしょ
2019/08/15(木) 00:56:39.98ID:Ix0MNwhQ0
>>314
キーフレームの間隔が、1分を超えるとでも言うのかい?
2019/08/15(木) 01:40:50.51ID:JCF9KUka0
>>315
正確に切り取るの意味考えたら指定時間ぴったりにキーフレームが必須条件なの嫌でも分かるでしょ

しかも、そもそもずれてて良いんだったらキーフレームの間隔2分とかでも上手く行くはずで、キーフレームの間隔が1分超えるどうこうは関係ないと思うけど
2019/08/15(木) 09:49:50.67ID:NYQrX2sn0
if ($acodec =~ /flac/i) {
 $acodecOut = 'aac -ab 144k';
} else {
 $acodecOut = 'copy';
}
2019/08/15(木) 21:12:39.00ID:aV1IEEXd0































株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  遊  ぼ  う  ぜ76
2019/08/15(木) 21:19:13.19ID:uPEk4XU70
4月14日にffmpeg久しぶりに更新してて使わず今に至るんだけど
-af silenceremove たまに使う圧縮バッチがエラー吐いて死んだ
いつ文法変更したのやら 
オプションは書き直す予定だけど念の為出力ファイルに変化がないか最新版と旧構文最終対応版でビット比較したいので
いつ変更入ったかわかる方いませんか?よろしくお願いいたします


ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8.3.1 (GCC) 20190414
2019/08/15(木) 21:23:31.68ID:aV1IEEXd0































株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  遊  ぼ  う  ぜyjtj
2019/08/15(木) 21:23:35.97ID:aV1IEEXd0































株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  遊  ぼ  う  ぜ4yh
2019/08/15(木) 22:30:28.27ID:uPEk4XU70
319はほぼ解決しました
最新版が1サンプル削り過ぎな気がするのでバイナリ目視中
2019/08/15(木) 22:32:42.60ID:NJ6bP9sa0
これらのどれかでしょう
https://git.videolan.org/?p=ffmpeg.git&;a=search&h=HEAD&st=commit&s=silenceremove
2019/08/15(木) 23:25:12.03ID:uPEk4XU70
ありがと。バイナリとにらめっこしてanyanyが最善のオプションという結論に至りました。全面解決

去年の10月にテコ入れされたのね。無音除去の選択肢が広がっていい感じ。ポールさんありがと
2019/08/16(金) 18:44:41.20ID:bROdQAv50































株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  遊  ぼ  う  ぜaa
2019/08/17(土) 20:21:55.28ID:sbL8Wkfj0
ポルノ視聴中の画面を「録画して脅す」凶悪ウィルス | Forbes JAPAN(フォーブス ジャパン)
https://forbesjapan.com/articles/detail/29090

> ユーザーがポルノコンテンツを視聴した場合にFFmpegを用いてパスワードを盗んだり、
> 画面を監視するためのソフトウェアをインストールするという。
2019/08/17(土) 21:13:40.34ID:XiLDuGHf0
>>326
ノートPCやスマホ内蔵のWebカメラ乗っ取ってユーザーを録画とかされたら万事休すだなw
2019/08/18(日) 02:14:08.01ID:kWRxVmVx0































株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  遊  ぼ  う  ぜilli
2019/08/18(日) 14:52:37.46ID:moGosr6n0
かぁーこえぇなぁ(シコシコ)
2019/08/18(日) 15:52:32.17ID:hb+gexOI0



シエ
 東
  マ
  ン
   シ
    ョ
    ン
    神
   隠
   し
  殺
  人
 事
件              い く ら I D を 偽 っ て も 、 チ ョ ン 臭 さ と 根 の 暗 さ は 変 え ら れ な い 














株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  根の暗い自作自演工作なんてやめて 遊  ぼ  う  ぜyiu
2019/08/21(水) 13:57:55.26ID:yfkWG1Lb0
4.2も出た事だしそろそろ行けるかなと思ったけど、特に何も変わらず
HLSでfmp4を保存するとフレームレートが500fpsとか以上な速さになる
ツイキャスのアーカイブをfmp4で保存したいのに
(´・ω・`)ショボーン
2019/08/21(水) 17:45:50.08ID:VPHC843o0
m毎日熱中症対策で頭に巻いてるタオルから生乾き臭がする株/式/会/社/チ/キ/ン/ヘ/ッ/ド/のボンクラチョーセンジンの南ひ/と/あ/き/?


























どうせ青葉みたいに独りよがりな思い込みで勝手に恨み抱いてんだろうな

15年も前からずっと粘着してる子供部屋おじさんとか完全に末期だろw

自殺したほうがいいよ
2019/08/22(木) 10:05:48.15ID:2pPafzww0
なんかもう何年もCMAFがどうとかLHLSがどうとか言ってるけど企業がドヤ顔で採用自慢する以外は何も進展してない気がする
2019/08/23(金) 02:20:37.31ID:XwLuw69/0
,nj> 全
> 部
> 自
> 分
> に
> 当
> て
> 嵌
> ま
> っ
> て
> る
> の
> が
> ま
> ぁ
> ア
> レ
> な
> 人
> の
> 特
> 徴
> な
> ん
> で
> し
> ょ
>
> 青葉と宮崎のハイブリッド それが○株○式○会○社○チ○キ○ン○へ○ッ○ド○のチョウセンヒトモドキ 南ひとあき たるゆえん
2019/09/03(火) 18:55:48.65ID:dSSBzl3h0
TV録画のTSファイル(1440:1080)を静止画で書き出す時に、何もしないと画像が縦伸びして出力されてしまう
-aspectで指定しても(DOS上のSAR DARは変わるのに、解像度は変わらず…)、-aspectは無視されて縦伸びする…。
-vf scale 1920:1080(または-s)オプション付け加えると、できるはできるけど、1枚2MB超えるぐらいのファイルになってしまう…。(せいぜい500kbぐらいにしたい)
これをどうにかする方法ありますか?
2019/09/03(火) 19:19:16.78ID:WSSG6RXz0
アホですね。
2019/09/03(火) 22:44:45.38ID:nSXrqI5q0
JPGに出力すれば
2019/09/08(日) 08:05:59.16ID:3eBywsgR0
n4.2.1が出たぞ。
2019/09/21(土) 23:01:49.87ID:bFavcqJn0
おっぱい
2019/09/21(土) 23:03:53.89ID:EshSE2IA0
自称巨乳は大抵デブ
2019/10/01(火) 05:00:58.36ID:GsGDv3hQ0
音声ストリーミング(ネットラジオ)の録音に使ってるんだけど
-tオプションでdurationを指定していても、録音が止まらないケースが出てきた
-tオプションの説明を読むと、入力ファイルから指定秒数を変換するオプションとある
-tオプションは録音の停止を意味するわけじゃないということだろう
じゃあどうすれば指定時間でプロセスを止められるの?
2019/10/01(火) 06:09:52.27ID:07ByIXOA0
>>341
「ケースが出てきた」ってことは今まで使えてたのが急に使えなくなったってことか?
うちでも.mp3のストリーミングのラジオを録音して -t オプションで時間指定できてる
端折らずにコマンドそのまま貼ってみ
2019/10/01(火) 11:18:56.59ID:jUcG935N0
情報書かないやつは無視
2019/10/03(木) 10:51:02.36ID:/+9qXa5K0
エンコード処理を途中で終了したい場合は終了コマンドのようなものでやるのでしょうか?
コマンドプロンプトを終了させてしまったらだめですか?
2019/10/03(木) 12:47:05.98ID:E+wfa4eN0
ctrl+cではいかんの?
2019/10/03(木) 17:54:09.62ID:SNvyoOfP0
q
2019/10/03(木) 17:56:34.11ID:SNvyoOfP0
qで止められる
2019/10/03(木) 18:01:20.32ID:yF0bdW260
>>344
もしbackgroundで実行していたら、
kill -9 コマンドでプロセスを終わらせてしまえばいい。
2019/10/03(木) 18:53:19.97ID:fujCTWCt0
>>348
おお、それじゃあミュートとかボリューム変更だけ
バックグラントで行なえるコマンドはありますか?

それが出来るなら自作ソフトから制御してみたい
2019/10/03(木) 21:01:09.12ID:/+9qXa5K0
>>345-348
ありがとうございます。
やってみます。
2019/10/05(土) 04:30:49.38ID:/LZqelt20
2つのモノラル音声ファイルを連結じゃなくて合成する方法ない?
同じ再生時間のmp3があるから、それを合成したい。10分+10分=10分ということ。
2019/10/05(土) 06:36:07.53ID:DGRJvQg40
amixフィルターならできそうだけど、パンの指定とかは無い
2019/10/08(火) 11:48:32.19ID:YUn+QYAF0
reconnect_at_eofの機能がよく分かりません
If set then eof is treated like an error and causes reconnection,
this is useful for live / endless streams.
とドキュメントにあります
EOFをエラーの時のように処理してから再接続する。ライブストリーミングなどに便利。
というような意味かと思います
再接続が発生した時にうまいこと処理してくれるもので、
とりあえず付けておけばいいのだろうと思ったのですが、
このオプションを1にしてストリーミング録音をしようとすると
[https @ 0x2bed240] Will reconnect at 192 in 0 second(s), error=End of file.
[https @ 0x2bed240] Will reconnect at 192 in 1 second(s), error=End of file.
[https @ 0x2bed240] Will reconnect at 192 in 3 second(s), error=End of file.
[https @ 0x2bed240] Will reconnect at 192 in 7 second(s), error=End of file.
のようなメッセージ延々表示されて録音が始まりません
このオプションはなんなのでしょうか?
2019/10/08(火) 13:22:46.92ID:ZPmzQzep0
>>352
遅くなったけど、無事できた。ありがとう!
2019/10/13(日) 04:01:44.15ID:z2ExOGAF0
>>353
配信プロトコルは何?
HLSなら、その仕組み的にリスト・ファイルと各メディア・ファイルに細かくアクセスするから先に進まなくなると思うよ
おそらく、リスト・ファイルだけを何度も取得することになる
リスト・ファイル取得=EOF → error=End of file → 再接続 → ←この流れをループ
リスト・ファイル取得=EOF → リスト中のメディア・ファイル取得=EOF → ←通常、この流れをループ

たぶん、一度だけコネクションを確立するタイプの配信プロトコルで使うんだと思う、mmshとか?
途中でストリームが止まるもコネクションは切れてないフリーズ状態から再接続させる
何らかの理由でストリーム停止=EOF → error=End of file → 再接続 → ストリーム再開
何らかの理由でストリーム停止=EOF → フリーズ状態(コネクション未切) ← 通常

EOFをエラーとして扱い、エラー発生なので再接続する
再接続の必要が発生した時に再接続する
再接続の必要=フリーズ状態=ストリーム停止=EOF

以上、確かめられないので想像です
356名無しさん@お腹いっぱい。
垢版 |
2019/10/15(火) 22:39:50.43ID:xuB8fw780
複数の動画をタイル状に並べた一つの動画を作成したいのですが、
https://zariganitosh.hatenablog.jp/entry/20150619/understand_ffmpeg

このページの
ffmpeg -i sample_1.mp4 -i sample_2.mp4 -filter_complex "
[0:0]pad=2*iw[a];
[a][1:0]overlay=w
" overlay.mp4

で左右に並べることができました。
二つの動画のピクセルサイズが同じ場合には良いのですが、
異なる場合には、動画が重なってしまいます。

2*iwのところで、
二つの動画のピクセル数を足し算すれば良いと思うのですが、
もう片方のピクセル数を取得するにはどうすれば良いですか?

[a][1:0]overlay=w
のところで、一つ目の動画ファイルのピクセル幅を設定していますが、
これを2つめの動画ファイルのピクセル幅を設定する必要があります。
解説を見ると、大文字のWを使えば良いと書かれていたので、
[a][1:0]overlay=W
としてみましたが、二つの動画ファイルが表示されなくなりました。

一体どうすれば良いでしょうか?
2019/10/15(火) 23:28:07.42ID:dDXqNFCp0
flvやmp4からBDAV用のm2tsをffmpegのみで作成することはできないのでしょうか?
以下の解説を読むと、多くのソフトウェアを使用しており、かなり複雑そうです。
ttps://megalodon.jp/2012-1119-1809-07/freesoft.tvbok.com/freesoft/author/bdav-h264.html

ちなみにflvは1440*1080の地デジと同じ画面サイズと1280*720のサイズの2種類です。
これらを1440*1080のm2tsと1280*720のm2tsにそれぞれ変換し、chotBDAVとImgBurnで
BDAVを作成したいのです。
2019/10/16(水) 17:15:14.73ID:zxDP8yjB0
BDAVは映像/音声の入ったm2tsファイル以外にも必要なものがあるので件のページでは
色々なツールを使っているんじゃなかったけな
使い方が分かるならばtsMuxeRだけで出来るみたいだけど結局うまい具合に出来る
mp4とかにffmpegで変換してからtsMuxeRした方が良いみたいだけど
2019/10/18(金) 03:50:01.75ID:kG8GtD1q0
ラジオ録音にFFmpegを使いたいんだけど、AAC-HE 48kbpsでのPIPE録音はどうしたらいいのでしょう。

現状の環境
Windows XP SP2、ロック音MT(http://hp.vector.co.jp/authors/VA014492/)、LAME 3.98stable
ロック音の設定
lame.exe -b128 -q1 -"%a"
360名無しさん@お腹いっぱい。
垢版 |
2019/10/18(金) 07:36:36.49ID:Tzg9FE4B0
>>359
マルチ?
2019/10/18(金) 12:58:27.62ID:tctQUM9r0
xpはやめろ
362359
垢版 |
2019/10/18(金) 13:19:21.02ID:kG8GtD1q0
>>360
いいえ
FFmpegはhttp://blog.k-tai-douga.com/article/186370215.htmlからレガシー用をDLしました

>>361
ライン入力からのラジオ録音であってストリーミングダウンロードではありません
もちろんネットには繋がっていません
録音だけなのでXPの使用を止めるつもりはありません
2019/10/18(金) 17:00:26.68ID:ReYfvnou0
AAC-HEが使えるfdkaacを自分でビルドする
https://github.com/m-ab-s/media-autobuild_suite
で32bitを選べば使えそう。XPでも使えるかは知らない
364356
垢版 |
2019/10/18(金) 22:42:02.26ID:awMFcDYB0
どなたか、ご存じの方いらっしゃいませんか?
よろしくお願いいたします。
2019/10/18(金) 23:20:25.80ID:ReYfvnou0
2ファイル以上の映像を並べるなら、pad, overlay よりも
v|hstack, または xstack を使ったほうがよい
https://ffmpeg.org/ffmpeg-filters.html#vstack
https://ffmpeg.org/ffmpeg-filters.html#hstack
https://ffmpeg.org/ffmpeg-filters.html#xstack
特に解像度が異なるときは xstack は便利
"xstack=inputs=2:layout=0_0|w0_0"
2019/10/22(火) 18:07:11.22ID:J/NZzS/e0
複数の動画を結合してそれぞれの元先頭にチャプターで飛べるようにするには、
どんな風に書いたらいい?
2019/10/22(火) 18:21:46.98ID:p7l/+2nr0
その通りに書けばいい
368名無しさん@お腹いっぱい。
垢版 |
2019/10/22(火) 22:27:26.58ID:dHF93bIz0
>>365
ありがとうございます。

うまくいきました。
あと、この方法だと解像度が合わなかった場合の
背景色が緑色なのですが、
黒やグレーに変えるにはどうすれば良いですか?

あと、二つの動画を黒い四角で囲いたいのですが
どのようにすれば良いですか?

"xstack=inputs=2:layout=0_0|0_h0+2"
のようにしてオフセットをかければ良いかと思ったのですが、
最終ファイルの解像度を大きくするにはどうすれば良いですか?
2019/10/22(火) 23:05:04.59ID:H3TTHL+G0
xstack は余白の色を指定できないので pad で色指定した余白作ってから xstack で並べる

>二つの動画を黒い四角で囲いたい
これも pad で色指定した余白作る
https://ffmpeg.org/ffmpeg-filters.html#pad-1
pad=iw+20:ih+20:10:10:gray

>最終ファイルの解像度を大きくするにはどうすれば良いですか?
これも pad でできそう。アップスケールするなら scale, zscale など
https://ffmpeg.org/ffmpeg-filters.html#scale-1
https://ffmpeg.org/ffmpeg-filters.html#zscale-1
370名無しさん@お腹いっぱい。
垢版 |
2019/10/26(土) 16:09:35.38ID:CDDnc+670
test
371名無しさん@お腹いっぱい。
垢版 |
2019/10/26(土) 16:10:19.55ID:CDDnc+670
やっと書き込みるようになりました。

>>369
ありがとうございます。

> xstack は余白の色を指定できないので pad で色指定した余白作ってから xstack で並べる

これってpadを使ってどうやれば良いですか?

> これも pad で色指定した余白作る

こちらもpadを試してみたのですがうまくいきません


"pad=iw+20:ih+20:10:10:gray,xstack=inputs=2:layout=0_0|w0_0"

のようにpadを前に書くと
一つ目の動画の周りにだけ枠線が表示されます

"xstack=inputs=2:layout=0_0|w0_0,pad=iw+20:ih+20:10:10:gray"

のようにpadを後ろに書くと
二つの動画を囲むようにして枠線が表示されます。

それぞれの動画を囲みたい場合にはどのようにしたら良いですか?

また、二つの動画の解像度が異なる場合に
余白の色を変える方法がどうしても分からないのですが・・。
2019/10/26(土) 20:07:27.40ID:1mVwdnqz0
>それぞれの動画を囲みたい場合にはどのようにしたら良いですか?

xstackは2入力以上するから指定子使ってそれぞれにpadで余白をつける
適宜それぞれにオプション指定する。-vfは1入力1出力の専用
-filter_complex [0:v]pad[0v];[1:v]pad[1v];[0v][1v]xstack

>余白の色を変える方法がどうしても分からないのですが・・。
それぞれのpadで色を変える
2019/10/27(日) 16:43:08.48ID:Xmmznw0p0
・2つの動画の結合
・開始終了フレームを指定して動画の切出し

それぞれ別々には実行できていますが
一回の実行でもできるものでしょうか?
2019/10/27(日) 19:44:19.71ID:9bbe1SHZ0
>・2つの動画の結合
>・開始終了フレームを指定して動画の切出し

それぞれのコマンドはどうなっていますか?
2019/11/01(金) 01:56:08.88ID:82uVV7ik0
>>152 です
ffmpeg4.2で既に修正された様子
バグ扱いらしい

前と同じくオプション「-gifflags」に「offsetting」(画像の相殺。有効で前のフレームに変化部分の透過画を累積/無効で重ねずフレーム固有1枚画で置換)と
「transdiff」(フレーム間の透明度検出)で全4パターンを指定して試してみたら、ちゃんとGIFエンコフラグで「offsettingを累積(有効・規定) → 置換・無効」にしたら透過GIFが上手く作れた

コマンド: -f image2 -framerate 20 -i '%02d.png' -i 'palette.png' -gifflags +offsetting+transdiff -filter_complex 'paletteuse' '++.gif'

+offsetting+transdiff(累積、透明検出有効/フラグ規定値)│先頭数フレームで残像が残ってる……仕様?
https://i.imgur.com/euYaV5F.gif

+offsetting-transdiff(累積、透明検出無効)│残像あり・上と変化なし
https://i.imgur.com/UzLt6ql.gif

-offsetting+transdiff(置換、透明検出有効)│残像なし・容量増加
https://i.imgur.com/iK4PEoD.gif

-offsetting-transdiff(置換、透明検出無効)│残像なし・上と変化なし
https://i.imgur.com/xETTz9u.gif

おまけ:APNG、静止画になるかもなんでブラウザで表示推奨。パレット使わなかったけど置換モードGIFパレット最適化より低容量だった
例: -f image2 -framerate '' -start_number 00 -i '%02d.png' -i 'palette.png'
-f apng -filter_complex paletteuse -plays 0
'outAPNG.png'
https://i.imgur.com/SBqx2vd.png

結論:透過アニメ画像を作るなら残像が出ないAPNG使え
GIF作るなら残像出ないように「-gifflags -offsetting」
2019/11/05(火) 07:30:08.52ID:5BZ4eDfy0
ffmpegで時間指定してその部分だけどカットするって機能はないの?
□□□□□◆◆◆◆◆□□□◆◆□□◆◆□□□□

の◆だけをカットするみたいな
2019/11/05(火) 10:08:18.27ID:1ke8P2qb0
あるよ
378名無しさん@お腹いっぱい。
垢版 |
2019/11/05(火) 15:10:46.21ID:Au6BZGsJ0
S○X
379名無しさん@お腹いっぱい。
垢版 |
2019/11/05(火) 15:10:51.08ID:Au6BZGsJ0
S○X
2019/11/05(火) 22:24:34.58ID:C/enlG3q0
そんなややこしいことは流石にGUIでやった方がよくないか
2019/11/05(火) 22:45:16.34ID:MTanczHy0
trimとconcatフィルタを使う
382名無しさん@お腹いっぱい。
垢版 |
2019/11/16(土) 00:24:12.26ID:QVpQqAw70
ffmpegでTSをmp4に変換しているんだけど
mpc-hcで再生させたように映像ソースをきれいにするにはどうすればいい?

ffplayで再生したソース(インターレース解除)
https://i.imgur.com/mtstO0I.jpg
https://i.imgur.com/NIdnqGM.jpg

mpc-hcで再生したソース(LAV Video Decoder)
https://i.imgur.com/eRL7v1Y.jpg
https://i.imgur.com/Ibs6ji0.jpg
2019/11/16(土) 17:49:33.45ID:MD70azbl0
>>382
綺麗とか汚いとかの問題以前にffplayのインタレ解除処理がバグってるように見えるが・・・。

というか質問するならバージョンやコマンドくらい書くだろ普通。
2019/11/16(土) 18:05:24.56ID:pJ/kO3XM0
所詮、ffplayはおまけだからなぁ
2019/11/16(土) 21:59:03.14ID:OmfQdqYh0
ffplayは、オマケレベルでしょ
2019/11/16(土) 23:25:25.32ID:XucqEcD60
変換の話を聞いてるのにサンプルがプレイヤーによる違いなのはどういうことなんだ
2019/11/17(日) 09:27:03.01ID:qzzjVPpb0
レンズの前を2〜3フレームだけちっこい虫が写りこんだ、のを除去する方法はありますか?
三脚に固定したカメラで背景は動きません
前後フレーム合成をうまいこと使えば出来そうな気がするけど、tblendでやっても上手くいかず、、、
388名無しさん@お腹いっぱい。
垢版 |
2019/11/17(日) 10:27:28.07ID:IoSKvsM/0
キーフレームだけ修正すれば済むんじゃ
2019/11/17(日) 10:55:38.81ID:NT7Es86g0
画像で切り出してフォトショップすればええねん
2019/11/17(日) 13:29:18.78ID:pDWOrFIY0
再エンコード無しで動画のSARの変更って出来ますか?
391名無しさん@お腹いっぱい。
垢版 |
2019/11/17(日) 21:51:54.42ID:Sd5hqroT0
>>383
インタレ解除前もブロック欠けがありました
ffmpeg version N-94821-g976617c7d2

ffmpegで外部decoder使う方法みたいなことは無理なのかな
2019/11/17(日) 22:08:05.75ID:4z8aUPMu0
外部デコーダーってavs経由?
393382
垢版 |
2019/11/17(日) 22:36:02.78ID:Sd5hqroT0
上手く説明できなくてすいません
mpc-hcのほうでハードウェアアクセラレーションを切ると
ブロック欠けが発生しました
ffmpegでハードウェアデコードできれば解決しそうです
2019/11/17(日) 22:55:47.24ID:wkOMsDyj0
映像データが壊れているのでは?
2019/11/20(水) 17:01:23.55ID:YF6I+hqW0
アルファチャンネル付きのwebm(VP8)の動画を別形式に変換したいのですがアルファチャンネル付きのまま出力する方法はあるでしょうか
以下を試してみてもアルファチャンネルが無い動画になってしまいました
ffmpeg -i input.webm -pix_fmt bgra -c:v rawvideo out.avi
ffmpeg -i input.webm -pix_fmt argb -c:v qtrle out.mov
ffmpeg -i input.webm -pix_fmt rgba -profile:v 4444 -c:v prores_ks out.mkv
ffmpeg -i input.webm -pix_fmt rgba -c:v utvideo out.mkv
2019/11/20(水) 23:00:57.44ID:zyQPtHyB0
libvpx-vp9はyuva420pで出力できる
2019/11/28(木) 17:39:55.32ID:EOoHwkug0
シェルスクリプトで、任意のデータサイズで動画のデータサイズ分だけ等分割(最後は等しくなくてもよい)したいのですが
どうやるのが一番効率よいでしょうか?

-fsで最大ファイルサイズに達したときの開始位置を記録して
そこからまた-fsで、のループをすればいいのかなと思ったのですが・・
最大に達したときの秒数を格納したりのやり方がわかりません
2019/11/28(木) 19:58:51.62ID:veXIqTvu0
>395
https://superuser.com/questions/1505679/lossless-video-codec-supporting-alpha-channels
2019/12/03(火) 12:11:17.52ID:Dmydzxpz0
x265でのエンコード時に指定したオプション情報を消すことは可能ですか?
エンコード時に指定してないと1:1が指定されるようでコンテナの指定で修正できなくて困ってます

メタデータの削除でいけるかなと↓で試してみましたが修正できませんでした
%ffmpeg% -i "%~1" -metadata title= -c copy -aspect 16:9 "%~n1_fix.mp4"
2019/12/03(火) 12:52:18.12ID:KnPZS6S+0
>>399
mkvmerge(mkvtoolnix)でアスペクト比を修正しつつMKVに変換、
その後、ffmpegでそのままコピーでMP4に変換できるかも。
2019/12/03(火) 13:47:56.99ID:Dmydzxpz0
>>400
コンテナ変えるだけではエンコードオプションに変わりなかったのでmp4では無理みたいです
mkvの表示解像度で指定するとエンコードオプションが無視され
正常に表示されたのでmkvに再格納することにします
レスありがとうございました
2019/12/03(火) 14:23:33.96ID:Dmydzxpz0
mkvに関連付けしてなかったので別プレイヤー使ってたんですが
メインで使ってたものでもでデコーダーの「use steam Aspect Ratio」をオフにすると
mp4でも正常なアスペクト比で再生されました
スレ汚しすいませんでした
2019/12/10(火) 06:45:24.64ID:GTWwWCMA0
マジでスレ汚れたわ
クリーニング頼むよ?
2019/12/10(火) 13:17:28.17ID:025MBD8t0
一週間も経ってからクソレス
2019/12/12(木) 00:09:43.89ID:IpJT/9PZ0
すみません
TVTestで録画したtsファイルをh264_qsvでエンコードしようとしてるのですが
Warning during encoding: incompatible video parameters (5)
というメッセージが出てログが流れてしまいます
そこで
-loglevel warning
というオプションを追加してみたのですが
Last message repeated xxx times
というメッセージが出てエンコードがどのくらい進んでいるのか
わからないのです
どうしたらいいのでしょうか
ちなみに今のオプションは
-loglevel warning -s 1440x1080 -aspect 16:9 -global_quality 28 -c:v h264_qsv -preset veryfast -tune film -vf pp=ac -bsf:a aac_adtstoasc -c:a copy
です
よろしくおねがいします
2019/12/12(木) 00:36:13.76ID:c2ftnpDN0
もっとログ減らしたら?criticalくらいまで
2019/12/12(木) 00:40:39.42ID:oO/CgvcQ0
とりあえず  -preset veryfast -tune film を消して最小限のオプションでやってみては
408405
垢版 |
2019/12/12(木) 01:12:18.86ID:IpJT/9PZ0
ありがとうございます

とりあえず短くしてみましたが同じでした
-loglevel warning -global_quality 28 -c:v h264_qsv -bsf:a aac_adtstoasc -c:a copy
2019/12/12(木) 01:28:16.83ID:7TzLFsXJ0
とりあえず
-bsf:a aac_adtstoasc
も除いて試してもいいんじゃね。
-global_quality 28
も無くていいか。
2019/12/12(木) 02:40:20.23ID:c2ftnpDN0
だからログレベルをもっと数字大きくしろよ
411名無しさん@お腹いっぱい。
垢版 |
2019/12/12(木) 09:58:00.76ID:KKjdmy240
ワロス
典型的な話を聴かない質問者だな
412405
垢版 |
2019/12/12(木) 19:44:06.92ID:IpJT/9PZ0
405です

-c:v h264_qsv -c:a copy
でやってみました

[h264_qsv @ 0000000002a72c00] Warning during encoding: incompatible video parameters (5) drop=0 speed=3.78x
[mp4 @ 0000000002a77880] aac bitstream error
Last message repeated 2 times
[h264_qsv @ 0000000002a72c00] Warning during encoding: incompatible video parameters (5)
[mp4 @ 0000000002a77880] aac bitstream error
Last message repeated 1 times
[h264_qsv @ 0000000002a72c00] Warning during encoding: incompatible video parameters (5)
Last message repeated 1 times
[mp4 @ 0000000002a77880] aac bitstream error
Last message repeated 2 times
というログがずっと続いて出ます
aacのエラーは-bsf:a aac_adtstoasc を追加することで出なくなるようですが
h264_qsvのWarningを出さなくして
frame= 191 fps= 41 q=-1.0 Lsize= 3425kB time=00:00:06.27 bitrate=4473.0kbits/s dup=20 drop=0 speed=1.34x
のような進行状況がわかる表示を出すにはどうしたらいいでしょうか
413名無しさん@お腹いっぱい。
垢版 |
2019/12/12(木) 21:22:36.30ID:c2ftnpDN0
-loglevel error -stats
もっと減らすなら
-loglevel quiet -stats
2019/12/12(木) 21:47:03.37ID:IpJT/9PZ0
>>413

ありがとうございます
できました
2019/12/13(金) 19:31:45.99ID:m5etX8EY0
h264_nvencで横4864にエンコードしようとしたら、
Width 4864 exceeds 4096
と言われてしまったけど、そういうものなの?
2019/12/13(金) 21:20:15.43ID:6KXSTL2d0
nvencは縦横最大4096らしいよ
2019/12/13(金) 21:43:39.26ID:m5etX8EY0
hevc_nvencならいけるのに
418名無しさん@お腹いっぱい。
垢版 |
2019/12/13(金) 23:18:58.49ID:26uUj07d0
>>415 >>417
以下のURLから適当なGPUを選んでMax WidthとMax Heightの情報を見ればわかるんだけど、
NVENCはH.264/AVCだと縦横の上限が4096、H.265/HEVCだと縦横の上限が8192になってるんだよ。
これはGPU側の制限なのでどうしようもない。
 https://github.com/rigaya/NVEnc/tree/master/GPUFeatures
2019/12/13(金) 23:23:52.25ID:m5etX8EY0
5kのVR動画をoculus goでも見れるようにしたいだけなのに
H.265だと重くて止まるんだよな
2019/12/13(金) 23:36:32.83ID:nYHFqgMT0
oculus goはwebmも対応してるみたいだから、それでやれば良い
https://support.oculus.com/164308327569416/

VP8は16,384 x 16,384
VP9は65,536 x 65,536
まで対応してるらしいから
音声はOpusな。それが駄目ならVorbisで
2019/12/13(金) 23:36:50.69ID:26uUj07d0
>>419
知らんがな。libx264でも使ってエンコすればいいんじゃね。
まあNVDECもH.264だと4096x4096までしかサポートしてないみたいだから
5K再生時はソフトウェアデコードするしかなくて結局ダメな気もするが・・・。
 https://developer.nvidia.com/nvidia-video-codec-sdk
2019/12/15(日) 20:12:18.60ID:FVohzUsm0
tsスレと悩んだんですが、こちらで質問させていただきます。
下記のサイトを参考にtsから字幕付きのmp4へ変換をしました。
https://webnetforce.net/post-1050/

1.Caption2AssCでtsから字幕srtファイル生成
2.ffmpegで字幕のことは考慮せずtsからmp4へエンコ
3.ffmpegででmp4とsrtから字幕付きmp4ファイルを生成(ffmpegで-c:s mov_textと指定)
としました。

この時、2で作成したmp4ファイルをWindowsのvlcで再生すると字幕が表示されます。iPhoneのnPlayerで再生しても字幕が表示されます。
しかし、2の段階のmp4ファイルをiPhone純正のAppleTVアプリ(旧ビデオアプリ)で再生しても字幕は表示されません。
3の段階では、Win版VLC、iPhoneのnPlayer、iPhoneのAppleTVいずれも字幕が表示されます。
ただし、Win版VLCでは2の段階と字幕の表示の仕方が異なり、文字がかなり小さく表示されます。(VLC側の設定に依存?)
(なお、この時同じフォルダに同一名称のsrtファイルはありません)

・この時の2の段階で生成されている字幕付mp4の字幕はsrtではない何かの形式のものなのでしょうか?
・先人の方たちは字幕付きのファイル生成にsrtをかましていますが、ffmpegで直接字幕が出るならそれでいい人もいるのではと思うのですが、なぜこの方法はメジャーでないのでしょうか?
・また、2019年頃のffmpegのARIB対応と関連しているのでしょうか?

質問ばかりですいませんがエロいひと教えてください
2019/12/15(日) 20:49:55.18ID:LiLyKcLf0
字幕付でエンコードしてないのに字幕が含まれてる訳がない
2019/12/15(日) 21:21:37.95ID:wDwmYxtU0
2:外部字幕と、3:内部字幕の違いってだけだな
2019/12/30(月) 11:17:31.87ID:sgvMnDiN0
普通に考えたら2はts形式の字幕ストリームがコピーされてmp4に格納されてるんじゃないかな
普通はmp4にts形式の字幕は格納されないから、それに対応(考慮)したソフトだけは表示できてるみたいな

例えば厳格モード切ったらFLAC形式の音声をmp4コンテナに格納できるけど、一般的な再生ソフトはファイル破損として扱う
でもYouTubeに上げる事はできて、ちゃんとエンコードしてくれる
2019/12/30(月) 20:08:25.87ID:l27XX9/A0
まず、それぞれの段階のファイル自体をffmpeg -i でどういう状態なのか調べろよ(´・ω・`)

話はそれからだ
2019/12/31(火) 12:19:58.01ID:aBPgLMw50
マシンがクラッシュしてエンコ環境を再構築しました。
TS→h.265のエンコ時に以前は使えていたmpeg2_cuvidが使えなくなってしまいました。
pixel format関係のエラーのようで、mpeg2_cuvidデコーダを見ると確かにyuv420pが含まれていませんでした。
これがバグなのか仕様変更なのかわからず、わかる方いたら教えてください。

■エンコオプション
ffmpeg -analyzeduration 100M -probesize 100M -hwaccel cuvid -c:v mpeg2_cuvid -deint 2 -drop_second_field true -resize 1920x1080 -y -i INPUT.ts -pix_fmt yuv420p -c:v hevc_nvenc -rc vbr_hq -aspect 16:9 -acodec copy OUTPUT.mp4

■エラーメッセージ
Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scaler_0'

■decoderヘルプ抜粋
Supported pixel formats: cuda nv12 p010le p016le

■環境
ffmpeg version N-96186-g2736dc0
GeForce GTX 1050Ti
Ubuntu 18.04.3 LTS x86_64
CUDA 10.2
2019/12/31(火) 13:18:23.17ID:baHSR18u0
-pix_fmt yuv420p
を外してみては
2019/12/31(火) 14:49:13.49ID:aBPgLMw50
>>428
ありがとうございます
-pix_fmt yuv420を外してもダメでした
試しに-pix_fmt nv12などサポートしているものに変更しましたが同じくダメですね
2019/12/31(火) 16:23:06.99ID:04XcpvYV0
質問です。
flacのcutをしたんですが、再生時間が変わりません。
切り出しはうまく出来ているのですが、durationの変更はできないのでしょうか?

約4分あるflacを、
ffmpeg -ss 00:00:00 -i a.flac -ss 0 -t 00:03:03.333 -c:a b.flac
として切り出しました。
ファイルのプロパティで見ても、実際にプレイヤで再生しても、表示は元の4分のままです。
再生自体はcutした約3分で終わります。
ご教示よろしくお願いします。
2019/12/31(火) 19:23:56.97ID:baHSR18u0
>429
ffmpeg -analyzeduration 100M -probesize 100M -hwaccel cuvid -c:v mpeg2_cuvid -deint 2 -drop_second_field true -resize 1920x1080 -y -i INPUT.ts -f null -
ffmpeg -analyzeduration 100M -probesize 100M -i INPUT.ts -pix_fmt yuv420p -c:v hevc_nvenc -rc vbr_hq -aspect 16:9 -acodec copy -f null -
HWデコードだけと、HWエンコードだけどちらも実行できてますか

>430
ffmpeg -ss 00:00:00 -i a.flac -ss 0 -t 00:03:03.333 -c:a flac b.flac
これでどうですか
2019/12/31(火) 23:51:12.94ID:Hrv/ZHPs0
デコードしてサンプル単位で切り出した方が精度いい
2020/01/01(水) 10:35:20.77ID:Hg7i/XTf0
n4.2.2来た
2020/01/01(水) 11:48:30.57ID:1y+fbra00
USBメモリにAVCHD形式の動画を入れるために TMPGEnc Authoring Works 5 を使ってます
本来だったらそのソフトで完結すればいいんだろうけど、
動画はffmpegで自在に編集しAVCHD形式へエンコードして、上記ソフトは付加情報を作るだけにしたいと思ってます

規格に合わせるべくいろんなオプションはググって調べられたんですが、「プロファイルとレベル」欄の「High@Level 4.1 (HDMV 互換)」だけがffmpeg側オプションに見当たりません
何か分かるかたいらっしゃいますか?

【作ったコマンドライン】
ffmpeg -i infile.ts -c:v h264_nvenc -c:a ac3 -vf "scale=720:480,setsar=40/33,setdar=20/11" -profile:v high -level:v 4.1 -maxrate 15000k -bufsize 24000k -g 60 -refs 6 -bf 4 -y outfile.mts

【フォーマット確認結果】
https://dotup.org/uploda/dotup.org2029834.png
435 【大あたり】 【123円】
垢版 |
2020/01/01(水) 11:57:13.73ID:KxGMhbTH0
中國四千年
2020/01/01(水) 12:42:36.41ID:3H4z+qrC0
>>434
--bluray-compat
2020/01/01(水) 14:51:01.82ID:1y+fbra00
>>436
レスありがとうございます
(略) -level:v 4.1 -bluray-compat 1 -maxrate (略)
とはさんだり、
-x264opts bluray-compat 1
を追加してもダメでした。
2020/01/01(水) 15:55:18.52ID:/T467HoW0
>>434
公式?っぽい文書

480p (NTSC) - Authoring a professional Blu-ray Disc with x264
http://www.x264bluray.com/home/480p-ntsc
2020/01/01(水) 20:02:46.38ID:aRdYuDGi0
>>431
レス遅くなりました。
記載いただいたもので再生時間も変更されました。
ありがとうございます。

これは再エンコードされているのでしょうか?
無劣化コピーしたかったのでcopyとしていたのですが、今後はこちらで対応しようと思います。
2020/01/01(水) 21:09:03.23ID:/T467HoW0
>>439
あのコマンドの場合、問題なのはコピーじゃないと思う
-codec(-c) に出力先が指定されてるのが原因じゃないかな
2020/01/01(水) 23:49:33.54ID:3CqkgmM20
30pは規格外では?
インタレ偽装してみるとか? fake interlaced
2020/01/01(水) 23:56:08.33ID:3CqkgmM20
Nvidiaハードエンコ希望かw
フレームレートオプションだけ24にして赤字が消えれば30Pで赤字ってことなので一度お試しを

ソフトエンコx264に頼るならペガシスの有料ソフトでいいもんな
2020/01/04(土) 17:14:14.95ID:9YAeYq8B0
映像フィルター「pad」
アスペクト比を指定して、指定したアスペクト比になるように元画像に外枠を付けるコマンド

• 元画像部分はリサイズせず、縦横の足りない方の方向にだけ外枠を追加
• アスペクト比の比の値が、より大きく(より横長)になる場合も、より小さく(より縦長)になる場合も自動で対応
• 外枠追加後の辺の幅を偶数に強制するのも、「-1*」の部分を「-2*」にする事で対応できる
• color=ffffff で外枠を白色に

-i input -vf pad=width=-1*lt(iw*oh\,ih*ow):height=-1*gt(iw*oh\,ih*ow):x=(iw-ow)/2:y=(ih-oh)/2:color=000000:aspect=<比の値> output
2020/01/04(土) 17:18:13.96ID:9YAeYq8B0
結構需要ある処理だと思うから普段お世話になってるニコラボの管理人にも
ぜひコマンド載せてってお願いしておいた
2020/01/04(土) 22:31:06.21ID:T9NlC88M0
>>444
彼はここ見てると思うよ。
2020/01/04(土) 22:38:35.62ID:WbD6IUlG0
https://www.nikolabo1201.com/
これ?
2020/01/05(日) 12:17:42.42ID:zY6GxelV0
>>445
そうなのか
検索してもこのスレ上がりにくいから、元々の5ch民ぐらいしか見てないと思ってた

>>446
おしゃれ……だけどこっちね nico-lab.net
2020/01/05(日) 14:23:04.95ID:XRyKbmKZ0
https://nico-lab.net/cutting_ffmpeg/



7.開始0秒から、最後から指定秒までを出力する

ffmpeg -i input.mp4 -ss [back-duration] -i input.mp4 -c copy -map 1:0 -map 0 -shortest -f nut - | ffmpeg -f nut -i - -map 0 -map -0:0 -c copy output.mp4

の指定方法がよくわからんのだけど
| ffmpegの

”|”ってどういういみ?
あと指定秒数って ”30” ”-30” ”-00:00:30” どれ?
2020/01/05(日) 14:54:05.67ID:zY6GxelV0
>>448
https://nico-lab.net/cut_before_after_with_ffmpeg/
縦棒はパイプ(入出力)で、ffmpeg外の機能
ffmpegの実行環境は知らないけど、シェルスクリプトを実行するコマンドラインなら使えると思う
2020/01/05(日) 15:52:40.71ID:XRyKbmKZ0
>>449
ありがとう
勉強になりました
2020/01/05(日) 20:46:51.58ID:CxLVSFhj0
パイプ知らん人はまずffmpegより先にCLIの基本的なコマンドを覚えたほうが良いのでは
2020/01/06(月) 01:04:35.91ID:bjUkHhZ90
とりあえず体当たりで試せばええねん
cmdのコマンドを覚えたって動作が分からないと価値なしだから
2020/01/06(月) 18:55:25.51ID:tHzmfnQP0
パイプってちゃんとバイナリで渡るの?
2020/01/06(月) 19:00:22.37ID:D+fMHCWY0
>>453
いや標準入出力だから…
2020/01/06(月) 19:26:29.53ID:zq60sS7H0
標準ストリームで調べようね
2020/01/07(火) 00:42:19.72ID:q3zvm4020
バイナリーで送受信双方が対応してたら大丈夫
普通はテキストしか流さない紳士協定
457名無しさん@お腹いっぱい。
垢版 |
2020/01/07(火) 13:06:34.81ID:Tej63GB90
パイプの話だけど
テキストで 0x0A しか送ってないのに受信側は勝手に 0x0D, 0x0A になったりしない?
なってるとしたらアプリ側の責任?
2020/01/07(火) 16:03:41.72ID:q3zvm4020
>>457
テキストで開けてるからだろ。バイナリモードで標準入力あけるとよろし
2020/01/07(火) 17:25:08.87ID:+luKHcgZ0
>>457
Windowsの場合テキストモードの影響じゃない?
\n(0x0A)で出力すると勝手に \r\n(0x0D,0x0A) に変換される奴

https://docs.microsoft.com/ja-jp/cpp/c-runtime-library/text-and-binary-mode-file-i-o?view=vs-2019
>stdin、stdout、stderr ストリームは常に既定でテキスト モードで開きます。
2020/01/07(火) 20:50:33.25ID:CwdSPkUN0
Windowsでffmpegのパイプや標準入出力を使ってるけど、
バイナリ、テキスト意識したこと無いねぇ。
自分の使い方程度だと、普通に使えてるし。
2020/01/07(火) 21:01:52.35ID:GR1HfjYT0
普通はテキストでしか使わないからな
2020/01/07(火) 23:35:52.34ID:+luKHcgZ0
そもそもコンソールアプリで標準入出力をバイナリにするってのがおかしいのでは?
コンソール入出力が前提(基本)なんだろうし
決まってバイナリデータ扱うなら専用にファイルハンドル開くべきだと思うし
2020/01/07(火) 23:47:23.33ID:GR1HfjYT0
そのへんを踏まえた上で
>>454 >>455 あたりの知ったかが痛すぎてニヤニヤが止まらない
2020/01/08(水) 00:10:21.69ID:qu6jme/40
テキストもバイナリだろ!(燃料投下)
2020/01/08(水) 01:05:41.72ID:FZp23yF10
>>462
そういう穴をふさいだPower Shellは動画エンコ界隈ではハブられてるという・・
2020/01/08(水) 04:27:00.15ID:PsBB24jj0
WSL使えるようになったしbashで書くようにしてもいいかな
2020/01/08(水) 13:49:45.53ID:W55wOrdc0
そもそも、コマンドプロンプトでffmpegを使うのは苦行だよ。
コードページ変えないとステータスが読めないし、
名前をつけてログというか、リポートを保存しようとすると、
普段使わないようなエスケープをしないとダメだし。
¥はわかるが、:もエスケープしないといけない。
2020/01/08(水) 22:43:32.41ID:FZp23yF10
batが完成したらあんまり触らないから問題ないような気がする
2020/01/08(水) 22:49:44.05ID:6PYr6RwU0
オプションで > を使わないといけないCLIのツールとかある
2020/01/08(水) 22:56:13.19ID:hFCa+hCu0
オプション(任意)なのか使わないといけない(強制)なのか分からないけど
オプション(任意)指定するうえで使わないといけない(強制)のならいいんじゃね?
2020/01/08(水) 23:05:24.17ID:6PYr6RwU0
オプションというのは近くに浮いてて敵を倒す火の玉のことだよ
2020/01/08(水) 23:05:52.27ID:MW4qGDZZ0
それにしても、ffmpegって、ファイルパスを指定してリポート出力するのに
なんで環境変数への代入が必要なんだ?
オプション一発でできれば、変なエスケープしなくていいのに。
473名無しさん@お腹いっぱい。
垢版 |
2020/01/09(木) 11:21:55.91ID:l6wUGPlg0
オプションをファイルから読むオプションもあるやろ
2020/01/09(木) 16:40:03.04ID:MQvo5LRv0
そもそもオプション指定できないものを
オプションリストファイルの読み込みで指定することはできないでしょう。
2020/01/10(金) 11:07:35.32ID:k7MK+gEd0
ffmpegでインタレ解除をしたいのですが、エンコードせずcopyで実施することは可能でしょうか?
手元にtsファイルがあるのですが、フォーマットを調べるとAVCとなっています。
通常のtsはMPEG-2だと思うのですが。
拡張子はtsを名乗っているけど、中身の実態としてはmp4でも問題ない状態ということ??
2020/01/10(金) 11:09:58.56ID:RZDGQsyr0
TSはコンテナなので、Blu-rayとかからのやつならMPEGではないのもある
2020/01/10(金) 11:44:49.15ID:k7MK+gEd0
ありがとう。
エンコードは必ず伴うってことですよね。
2020/01/10(金) 18:55:53.89ID:ib6ASn3F0
>>477
コーデックとコンテナの違いは理解した?絶対理解しといた方がいい

拡張子はそのファイル形式(フォーマット)に対応してて、.mp4ならMP4、.tsならMPEG-2 TS
テキストファイルなら文字列、MP4なら映像・音声・文字列って風に、ファイル形式は内容のメディア形式を限定する
コーデックは符号化形式の事で、.txtなら文字コード、.mp4なら文字コード・MPEG-2・MPEG-4 AVC・AAC・……って風にメディア形式に対応してる
動画ファイルみたいな多重化(複数のメディアの包含)するファイル形式が多重化ファイル形式、つまりコンテナってこと


間違いとしては、拡張子が.tsでも内包されるコーデック/メディア形式は1つじゃないし、MP4は中身=コーデック/メディア形式じゃないよ
2020/01/10(金) 18:55:53.89ID:WqyP3Wwa0
どういう理屈だ
2020/01/10(金) 18:57:43.11ID:ib6ASn3F0
>>478 >>479
タイムスタンプ一致……100ミリ秒まで一致とか運命感じそう
2020/01/10(金) 21:37:04.69ID:k7MK+gEd0
>>478
しっかり説明しろって言われたら多分できないけど、ざっくり。
コンテナは映像と音声を格納する箱でしかなくて、映像がどういった形式でエンコードされているかはそれぞれ。
ものによっては、フォーマットがこれだから拡張子がこれってわけじゃないってことだよね。

ちなみにこの指摘があるってのは、エンコードせずにインタレ解除できる??
2020/01/10(金) 21:47:36.79ID:eAeNdWSd0
インターレースかどうかってフラグ管理じゃないから無理では
2020/01/10(金) 21:59:14.83ID:k7MK+gEd0
そうですよね。
MBAFFって出てくるんですが、フレームレートが29.97なのを59.94にして、
エンコードし直す必要ありますよね。
(インタレ解除後のフレームレートをいくつに指定したらいいのかはあまり分かってません。
が、アニメじゃないので2倍かなと・・
2020/01/10(金) 22:26:30.84ID:ib6ASn3F0
>>481
残念ながらインターレース用に符号化されちゃってるから、トランスコードしないと順次走査はできないね……
あと60fps飛び越し走査は飛び越した分が半分だから、順次走査の30fps
つまりインターレース解除したらフレームレートは倍増じゃなく半減すると思う
2020/01/10(金) 22:42:02.54ID:WqyP3Wwa0
インタレースは解除せずに再生時に解除すればいい
解除してしまうとそれが正解だったか判らない上にもう戻せない
2020/01/10(金) 23:10:06.22ID:RZDGQsyr0
出来るだけオリジナルのまま、が正しい
インタレ解除は再生時がいちばんつぶしが利く
2020/01/10(金) 23:16:31.30ID:6Sg2e/y00
>>483
MBAFFも29.97だよ(そもそもフレームレートが変わったらインタレ維持にならない)
フレームレートは基本的に指定しなくてもいい
vf使わなければインタレのままエンコされるし、フィルタでフレームレートが変わったら自動で指定される

ちなみにx265などx264以外ではインタレ維持は諦めて
2020/01/11(土) 19:17:57.83ID:XlWX2Wof0
こんな感じでデノイズ試してみたらnvencでもfps60切るのな
-b 2400k -b:a 256k -s hd720 -vf yadif=1:-1:0,pp=fa,unsharp=3:3:0.40:3:3:0.10,hqdn3d -c:v hevc_nvenc
2020/01/12(日) 00:12:51.72ID:LexZ1lmo0
CPUの性能が足りてないんやろな
2020/01/12(日) 23:47:09.05ID:ItMnCDxF0
gpuじゃなくてcpuの問題か
2020/01/13(月) 08:11:34.82ID:7sOApHRY0
負荷見ながらやるだろ
2020/01/13(月) 21:29:15.80ID:vzROS9bw0
ここでいいのか分かりませんが質問ですさせてください
録画に失敗して同じ番組の動画が2つあります
1つ目は頭から31分
2つ目は30分から終わりまで
という感じなのですがこれを綺麗に結合するにはどうやればいいですか?

それぞれss toで時間指定して-vcdec copy -acodec copyで切り出した後concatで繋げてみたのですか結合部にノイズがでて綺麗になりませんでした
2020/01/13(月) 21:56:12.21ID:8BReyHfl0
これで連結してみたら
https://nico-lab.net/new_cumtom_rtmpdump_and_ffmpeg_without_n-option_for_nicolive/#i-7
2020/01/13(月) 23:06:37.53ID:0iEeZNA50
>>493
ありがとうございます。
ちょっと試してみましたがやはりノイズのりました
やり方間違ってるかもしれないので明日また試してみます
2020/01/13(月) 23:38:49.68ID:pQfxIXzm0
エンコードなしじゃ無理だと思うし
自己完結型のffmpegじゃいろいろと無理があるとも思う

自分ならDGIndexで映像と音声に分離してたものをavisynth経由で
aviutlに読み込ませてかっと編集したのちエンコードする
2020/01/13(月) 23:44:20.03ID:Ea3iV0gp0
時間が被ってる1分間の間できっちりフレームが切り分けられるところで上手く切るしか無いんじゃない?
あと切り出す時は自分はcopyじゃなくエンコードするわ
2020/01/14(火) 00:33:34.53ID:Rop5Bdn90
余計なエンコードするより、重複位置が分かるなら
-i 前 -ss:0 0(必要ならずらす) -to:0 連結時刻 -i 後ろ -ss:1 0(必要ならずらす)
の後で連結が1番余計な処理無いと思う
2020/01/14(火) 00:34:33.32ID:68zgHSjG0
両方の動画のキーフレームが同じなら、avidemuxとかで切りつつそのままコピーで書き出しとかは出来ないの?
2020/01/14(火) 10:12:45.16ID:pUg5HoDc0
できるよ
2020/01/14(火) 10:25:46.96ID:0QkYBnSI0
テレビのtsを265でmkvにして
-f segmentで分割してCMを間引いてconcatしたら
結合部分の画像が乱れるのですが
同じようなことをやって解決方法分かる人いますか?
2020/01/14(火) 10:31:13.92ID:PmV1t2VC0
open-GOPが有効になってるせい?
有効になってたら無効にしてエンコードしてみるとか
2020/01/14(火) 16:40:41.36ID:5NCcK7rZ0
>>501
-x265-params open-gop=0
でいけた。ありがとう
2020/01/14(火) 22:39:46.37ID:7A2J9fhs0
>>492です
493の方法でノイズは乗らなくなりました
(元動画が何かおかしくて一度copyしました)
方法通りだと指定したタイムスタンプから3フレームくらいずれるので後ろのファイルのinpointをずらしたらハッシュ値上は同値になりました
このせいか映像だけ一瞬とまり少し後に早送り再生みたいになる状態になりましたが
2020/01/28(火) 21:50:06.38ID:1e2Kvr0Z0
8bitでY=16〜235/U,V=16〜240の範囲外、いわゆるスーパーホワイト
サブブラックの範囲を削除というかクリップさせたいのですがどのよう
にすればよいのでしょうか。

スーパーホワイトにノイズのある素材の前処理を考えています。
2020/01/28(火) 22:23:19.15ID:UbbdWYwL0
それはffmpegでやることではないのでは
動画編集ソフト使ったほうがよくね
2020/01/28(火) 23:05:43.70ID:1e2Kvr0Z0
沢山あるので一括処理で楽をしたかったんです。少し残念ですがわかりました、失礼します。
2020/01/28(火) 23:34:09.07ID:w0JFFAsR0
lutyuvでできないかね
lutyuv=y=clip(val, 16, 235):u=clip(val, 16, 240):v=clip(val, 16, 240)
2020/01/28(火) 23:52:18.85ID:1fs7n6y+0
いやいやこういうのこそffmpegの出番でしょう
2020/01/30(木) 17:34:41.14ID:mxM/jdfA0
>>507
-pix_fmtを指定して"lutyuv=y='clip(val, 16, 235)':u='clip(val, 16, 240)':v='clip(val, 16, 240)'"
としたら無事期待通りの操作ができました。”と'で囲まないとエラーになるので試行錯誤していたらレスが
遅れてしまいました。

調べて”はスペースを文字列として扱い、()がなにか特別な文字で’で囲む必要があるのかもとみています
が自分でもよくわかっていません。
2020/01/30(木) 19:10:52.82ID:OW/fIxT00
>>509
動作環境によるから一度試しといた方が良いかも

そのコマンドから
@内側の1重引用符を除く
A1重引用符はそのまま、半角スペースだけ除く
B1重引用符と半角スペースを除く(この時残った2重引用符は1重引用符に置き換えても動くはず)
この3つを試したら結合性が判断できると思う

1重引用符と2重引用符は置き換え可能だから、1種類で良い場合は視認性のために1重引用符をおすすめする
2020/01/30(木) 19:22:40.57ID:vodk/hVq0
シェルに何を使ってるか、とか?
2020/01/30(木) 20:35:22.81ID:Hh3d8V4R0
>>509
横からだが
> ()がなにか特別な文字で’で囲む必要があるのかも
ある動画のm3u8をローカルに落としてファイル名を()を含むサブタイに変えて実行したら失敗しまくったことがある
このときパスが長い所為かと考えとりあえず()の数文字分削ったら成功したからやっぱりパスかと思ってた
なるほどそういうことか、やっと合点がいったわthx!
2020/01/30(木) 20:53:02.10ID:OW/fIxT00
>>512
括弧に限らず特殊文字含む場合はエスケープするか引用符で括らないとだめだね
引用符を含む場合はその両方

スペース含む場合なんかは特につまずきやすいから、ファイル名みたいな自由度高い要素を含む値は引用符で括る癖付けてる
2020/01/30(木) 21:07:46.23ID:SjwUzGpN0
>>510
それぞれこうなりました。
1の結果、エラー
2の結果、パス
3の結果、エラー

@とBのエラーメッセージは共に以下の通りでした。
https://pastebin.com/65cUVpxk

1重引用符と2重引用符は置き換え可能ということで
試しに新たにCとして「1重引用符と半角スペースを
除き-vf全体を1重引用符で囲む」条件で実行したところ
異なるエラーメッセージになりました。以下の通りです。
https://pastebin.com/qVWjyG2L

最後に普段使わないのですがpowershellで実行したところ
@ABは再現したのですがCの条件でも同様のエラーと違う
結果になりました。確かにシェルで違いが現れますね。
2020/01/30(木) 21:09:15.91ID:SjwUzGpN0
念のため環境も書きます。
FFmpeg zeranoe build ver. 4.2.1でWindows10 バージョン1909のcmd. exeです。
2020/01/30(木) 21:31:06.89ID:SjwUzGpN0
連投すみません@ABCを再現する要素、オプションを抜き出したコマンド全文です。
ffmpeg -i src.mkv -vf lutyuv=y=clip(val, 16, 235):u=clip(val, 16, 240):v=clip(val, 16, 240) -c:v utvideo -pix_fmt yuv420p dst.mkv
2020/01/30(木) 21:31:39.29ID:eZ5tGJQ00
lutyuv=y=clip(val\,16\,235):u=clip(val\,16\,240\):v=clip(val\,16\,240)

これでも同じように動いた
2020/01/30(木) 21:44:04.87ID:SjwUzGpN0
>>517
???少し混乱してます、たしかに動きますね。エスケープをしている?
それにしては最後の)の前にバックスラッシュがついていませんし…。
2020/01/30(木) 21:54:59.46ID:eZ5tGJQ00
途中で)の前にバックスラッシュ置いてるのは記述ミス
カンマの前にバックスラッシュ置くだけでいいっぽい
2020/01/30(木) 22:32:15.40ID:OW/fIxT00
>>514,517,518
お疲れさま、凄く説明分かりやすくて私も勉強になります
1番分かりやすいのは要素の切れ目での半角スペースは任意ということで、環境によっては改行文字も通ったり……


エスケープは文脈によっても要不要が変わる……というのも、フィルターの文脈だと「フィルターチェーンのカンマ」が一般的ですよね
そうすると一部のフィルターでしか使わない「オプションの引数の中の値を区切るカンマ」は優先度を低くするのが効率的

だからフィルターの文脈ではチェーンを繋がないカンマはエスケープが必要
もし括弧内でエスケープ無しにすると「閉じ括弧無しでチェーン」を検出(もしくは未知の引数を検出)して、異常中断するという訳


また、上のレスで書いたように引用符で括ると「引用符全体で纏まった引数」と一意に解釈できるのでエスケープ無しで大丈夫だったという訳


-vf全体を引用符で括った事で「フィルター名全体で纏まった要素」と認識したのは予想外……ごめんこれは分からない
2020/01/30(木) 23:13:22.48ID:SjwUzGpN0
2重引用符はシェルが解釈して1重引用符はFFmpegが解釈してるという感じがしますね。
2020/01/31(金) 00:03:49.33ID:pAoAG3fQ0
>>520
「フィルターチェーンのカンマ」として認識したために
FFmpegは「16」というフィルタを探したが見つからず
エラーを吐いたというわけでしょうか。納得しました。
図らずもフィルターと引用符の動作の理解になり驚いています。

調べてわかったことですがCの条件で実行結果に差異が見られた
原因は1重引用符がPowerShellでは特殊文字である為でした。

cmd .exeでは
>echo foo'bar
foo'bar
PowerShellでは
>echo foo'bar
foobar
とエスケープする必要があるためCがBと同じ条件になっていた
ようです。またおかげでFFmpegは1重引用符で括った一纏めを
要素として認識するとわかりました。

動画が無事処理できた上にさらに大変勉強になりました。ありがとうございました。
2020/01/31(金) 00:47:58.63ID:Z/2Nmmkq0
linuxでlibx265とstaticなビルドに成功した人いますか?
./configure時に
ERROR: x265 not found using pkg-config
というエラーが出てしまいます
libx265抜きでlibx265とlibfdk_aacとだけならビルド成功したので
libx265の問題だと思うのですが

ちなみにsharedのビルドは問題ありません
2020/01/31(金) 01:35:10.87ID:etkf1QFQ0
>>522
そういう処理をしたという認識で間違い無いです

やはり動作環境によってエスケープが追加で必要な文字が変わるんですよね
何も考えずにコピペしてきたものが動かない事があるのはそれが原因で……困りものです
こちらこそ感謝します
2020/02/15(土) 10:40:58.96ID:dgZwrmqL0
ffmpeg -i [INPUT] -acodec copy -vcodec copy [OUTPUT]

これをフォルダ一括でやる場合にはどうしたらいいですか?
2020/02/15(土) 10:51:17.82ID:Ekg3x80o0
for文
2020/02/15(土) 15:31:35.04ID:dgZwrmqL0
>>526
具体的にコマンド教えてもらえませんか?
528名無しさん@お腹いっぱい。
垢版 |
2020/02/15(土) 15:34:58.05ID:DEVSFt7+0
馬鹿には無理
2020/02/15(土) 15:34:59.60ID:ULYNozZy0
>>527
「バッチファイル FOR」でググればいいと思うよ。
2020/02/15(土) 15:49:51.53ID:dgZwrmqL0
>>529
ありがとう
難しそうだね
2020/02/15(土) 16:16:44.93ID:+Bljq2on0
>>530
ほら
https://pastebin.com/eckhTiMt
2020/02/15(土) 19:41:12.87ID:dgZwrmqL0
>>531
うおおおお!
ありがとう!!
2020/02/16(日) 13:46:03.72ID:k/23+48v0
個人的にはfor文とかはbatファイルよりも
powershellのスクリプトの方が使いやすい
2020/02/16(日) 14:25:58.32ID:srBzZoDc0
batファイルの文法は不可解な例外まみれだからな
直すと影響が出るから直すに直せない
2020/02/16(日) 14:34:26.43ID:mvhjYclL0
bashを信じるものは救われる
2020/02/16(日) 15:54:49.47ID:TO1TQdu30
たまにはwshを思い出してあげて
2020/02/16(日) 16:24:02.14ID:EIHh2ftA0
>>531
めっちゃ使いやすい
本当ありがとう!
2020/02/16(日) 17:30:51.71ID:qwxcYivk0
大文字の?がファイルネームに入っているとbatにドラッグアンドドロップできない問題
俺には解決方法が分からない
2020/02/16(日) 18:59:10.38ID:Mvb3CmOn0
全角ならいけるんじゃね
2020/02/16(日) 19:35:13.51ID:EPcMRgbY0
wshを終わらせるためのpowershellじゃないのか
過去の資産が〜とかなければpowershellにしておけ
2020/02/16(日) 19:45:27.43ID:srBzZoDc0
batはダブルクリックで簡単に起動できるし
どうせ大したことはやらせないし

windowsの奥の方のデータを引っ張ってくるとかでない限りあんまり使いみちが無い
2020/02/16(日) 20:13:58.88ID:qwxcYivk0
>>539
なぜか全角の?を半角の?として扱うせいで正しくパスを読み込んでくれないのよ
2020/02/16(日) 20:43:55.96ID:EPcMRgbY0
batを捨てるのです
2020/02/16(日) 20:49:12.01ID:TgtGcW1R0
>>542
試してみたけど問題ない
2020/02/16(日) 20:50:36.82ID:TgtGcW1R0
まあでも他の文字列は駄目だったりするからどのみちbatは駄目だけど
全角スペースとか
2020/02/16(日) 21:18:25.57ID:qrmTBbgU0
ifやforの中では()、bat内はどこでも%が危険
2020/02/16(日) 21:45:04.10ID:srBzZoDc0
for %%a in (^
a ^
) do echo %%a

このbatファイルは動作しない
) の前にスペースを入れるとok
理由はよく判らん
2020/02/16(日) 23:41:42.49ID:efyibPY50
そもそもエスケープ自体が不要でしょ
2020/02/16(日) 23:57:43.51ID:qrmTBbgU0
行末の^はエスケープじゃなくて改行では?
2020/02/17(月) 00:01:14.65ID:W3nDn6D30
>>549
いや改行のエスケープだよ
一行が長くなりすぎるときにやるやつ
2020/02/17(月) 14:58:09.87ID:+eap3bhC0
そういや改行だけでいい時と^で改行するときの違いって何なんだろう
2020/02/18(火) 14:20:06.11ID:LGDhVqGh0
batファイルは1行1コマンドで記述するならいいけど
ifとかforとか変数とか使い始めると
batファイルの変態的な仕様とバグにどんどんハマっていく
2020/02/18(火) 19:37:16.20ID:zx97LNpV0
set aaa = string
と書くとバグる
正解は
set aaa=string
2020/02/18(火) 21:01:58.76ID:pAbddx+90
文法エラーじゃなくて?
どんなバグ?
2020/02/19(水) 04:52:46.32ID:sIQGPVzI0
>>552
例えばどんな変態的な仕様とバグがあるんだ
2020/02/19(水) 17:38:26.14ID:N1Kh/RJ00
「=」の前後に空白を入れるとシンタックスエラーにはならないけど「aaa」という変数に
値がセットされないので「echo %aaa%」ってやっても変数「aaa」に設定したつもりの値が
表示されないみたいなw
2020/02/19(水) 17:40:29.16ID:WF/K2mgF0
win10にはubuntuもあることだしbashにしなさい
2020/02/19(水) 19:01:46.44ID:lSrtltul0
>>553,>>556
>set /?
環境変数を表示、設定、または削除します。
SET [変数名=[文字列]]

set aaa= stringなら通るね、set aaa = stringでシンタックスエラー出ないのは確かにアレかも。

>>555
ttps://web.archive.org/web/20180520184458/http://doudemoexe.com/Batch/
ttps://stackoverflow.com/search?q=batch-file+bug
2020/02/19(水) 23:13:47.86ID:Jtq0Mauj0
自分のbat見返したら全部スペースなしだわ
まったくコマンド同じなのに自分が書いたらエラーで、参考にしたHPからコピペしたら動いたりするのは
こういう>556のような仕様に引っかかってたのかな
2020/02/20(木) 10:57:44.15ID:AfV1L36N0
>>531
これ自分も使ってみたんだけどエラー吐く
>>532>>537は本当に使えたのかな?
561名無しさん@お腹いっぱい。
垢版 |
2020/02/20(木) 11:18:24.14ID:8yY7Ic+E0
正解は
set aaa =string
2020/02/20(木) 12:22:46.89ID:hkoIIz2A0
正解は……越後製菓!
だろ
2020/02/20(木) 16:23:36.33ID:UjZdzeBt0
…(;´д`)
2020/02/20(木) 18:35:52.38ID:hJT4oQv80
set aaa= string
「aaa」に「 string」(1文字目はスペース)がセットされる。

set aaa =string
「aaa 」(末尾にスペース)に「string」がセットされる。

=の前までが変数名、以降が値だから、スペースも正しく扱われてる。
2020/02/20(木) 18:52:10.21ID:acvaOPXW0
スペースはホワイトスペースじゃないって事だな
2020/02/20(木) 18:55:33.62ID:XsFSLHWy0
想定と違う動作をすることをバグると言う
2020/02/20(木) 19:42:30.75ID:KkseOg6d0
set "aaa=string"
これが一番確実で中に記号が入ってても大丈夫
%だけは%%にする必要があると思うけど
2020/02/21(金) 14:36:26.17ID:tMDWUOZr0
ループの中で変数書き換えても更新されない遅延変数って今も健在か?
2020/02/21(金) 14:42:11.23ID:J4dxqhLW0
スレチでイタチなのでそろそろお開きに
【.cmd】 バッチファイルスクリプト %13 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1542779527/
570名無しさん@お腹いっぱい。
垢版 |
2020/02/23(日) 00:31:42.73ID:9IPs4yUX0
ニコ生でffmpegランチャーで配信してたんですが2日ぐらい前にニコ生のアップデートでstreamキーとかが変わり
TCPリレーが使用できなくなりました 前は
ffmpegluncherのRTMP URLにrtmp://localhost/origin/・・・などlocalhostを追加して貼り付けてましたが
ffmpegluncherに新しいRTMP URLを同じようにlocalhostを貼り付けて rtmp://localhost/・・・・
そしてffmpegとTPCrelayにstreamnameを貼り付けて使用することができなくなりました
どうすればいいのか困っていいます

よろしくお願います
571名無しさん@お腹いっぱい。
垢版 |
2020/02/23(日) 10:38:32.26ID:V2KrMMbs0
OS
2020/02/23(日) 11:23:51.61ID:E55p+lXK0
キーが変わらなくなったからTCPRelayをつかってみては
http://strikerx3.blogspot.com/search/label/TCPRelay
573570
垢版 |
2020/02/23(日) 14:08:46.48ID:9IPs4yUX0
>>572さん これ使ってました。。 
URLのいろいろなところに/localhost/を追加してみましたがやはりだめでした
TCPrelayにstreamnameを貼り付けて startしてからffmpegを開始にしてもエラー吐いてだめでした
OBSに乗り換えることにします ありがとうございました
2020/02/23(日) 14:55:45.45ID:E55p+lXK0
ごめん。よく読んでなかった
TCPrelayでユーザー生放送なら
rtmp://jliveorigin.dmc.nico/named_input


を読み込んで
ffmpeg の -f flv 以下に rtmp://localhost:1935/named_input/nicolive.Uproduction_user
をつなげればコマンドプロンプトから配信できた
2020/03/06(金) 23:27:05.49ID:eVLg8z9F0
ffmpeg4.2.2にしたらストリーミングが爆速なんですけど・・・なにこれ
576名無しさん@お腹いっぱい。
垢版 |
2020/03/07(土) 11:04:40.52ID:45/rBUUX0
ffmpegで落とすと、メタタグにlavfがつくのが嫌い
577名無しさん@お腹いっぱい。
垢版 |
2020/03/11(水) 21:34:35.04ID:L8dEgFxB0
どうかどうかどうかどうか、教えてください。お願いします!!
動画に関する説明を何度読んでも全く理解出来ない大バカ者ですがなんとかどうしてもエンコードしたくてどうか教えてください。

ffmpeg が H265 のコーデックで、 avs ファイルをエンコードしたいんですが、どうすればいいか分かりません。

ffmpeg -version と打つと、
ffmpeg version git-2020-03-06-cfd9a65 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.2.1 (GCC) 20200122
configuration: --enable-libx265

という、「 --enable-libx265」という文字がありますので、H265 が使えると思うんですが、どういうコマンドを打ったら
いいのかが分からないんです。
変な質問なのかどうかも分かっていませんが、どうかお願いします。ずっと悩んで HDD の容量がもう限界なんです。
お願いします!!
2020/03/11(水) 21:38:06.09ID:G/HeB+N90
ググれ
579名無しさん@お腹いっぱい。
垢版 |
2020/03/11(水) 21:42:42.35ID:L8dEgFxB0
>>578
ググっても、MP4 から MP4 へ変換する方法は載ってた(試してない)んですが、
avs → MP4 がないんです。

DTV板の Avisynthスレで質問して、こちらに誘導されてきました。
どうかお願いします。ググっても分からないんです。。バカなんです。。。。お願いします!
2020/03/11(水) 21:47:11.08ID:OLclUZ1g0
avsファイルは動画じゃないからエンコードなんて考えなくていいよ。
2020/03/11(水) 21:47:43.97ID:VC/Rrq6N0
HDDを買い足せ
582名無しさん@お腹いっぱい。
垢版 |
2020/03/11(水) 21:49:54.43ID:L8dEgFxB0
>>580
どういうこと・・でしょうか??

前は、Windows7 で、携帯動画変換君を使って携帯用に DVD を変換してました。
それが Windows10 になって、携帯動画変換君が使えないらしいことが分かって、変換君の中身が
ffmpeg なのでコマンドラインで出来たらその方が楽かなと考えて、さらに iPhone でも見れる、H265 なる
H264 の後継のコーデックがあることを知り、ファイルサイズが半分になることも知り、今までは H264 で M4V
を作って iPhone で見てたので、H265 でファイルサイズ半分に出来たら最高だな、と考えて現在に至ります。
2020/03/11(水) 22:18:21.21ID:G/HeB+N90
>>582
テンプレにも色々情報が載ってるし、ググれば色々な情報が出てくる。
お前がやるべきなのはffmpegを基礎から学ぶこと。

それをすっとばして何も理解しないまま回答だけクレクレする奴はどこに行っても相手にされんよ。
初心者スレに行ってもテンプレにあるように「お前は初心者ですらないから質問する資格なし」で終わる。
2020/03/11(水) 22:22:53.38ID:LwDcwXa80
.avsファイルって事でしょ
aviSynthってソフト独自の拡張子で、しかもScriptファイルらしいじゃん

それが動画ファイルだってなら、確実に何らかの映像のコーデックと音声のコーデックで符号化されたstreamが入ってるはず

aviSynthで開くとそのファイルの情報見れるんじゃないのか?そして普通ならそこにコーデックも表示されるはず
ますはコーデックを知らない事には何もできないよ
585名無しさん@お腹いっぱい。
垢版 |
2020/03/11(水) 23:36:57.38ID:L8dEgFxB0
>>583
理解は出来ないです。かれこれ10年は動画変換をやってますが、携帯動画変換君頼りで理解しないままでしたし…。

ffmpeg -y -i "元ファイル.avs" -vcodec hevc "完成ファイル.m4v"

[ipod @ 0000015ca68413c0] Could not find tag for codec hevc in stream #0, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:1 --


というエラーが出ます。。
訳が分かりません。


>>584
avs ファイル自体は、MPC-HC という動画再生ソフトで再生できますし、H265 を使わなければ ffmpeg で変換できる avs もあるんです。
avs の場合の H265 のコマンドを知りたかっただけなのですが。。
どう質問すればいいかも混乱中で…
586名無しさん@お腹いっぱい。
垢版 |
2020/03/11(水) 23:46:55.14ID:L8dEgFxB0
>>584
元データが DVD で、英語と日本語の字幕を両方同時に載せたいが為に Avisynth を使っています。
両方同時に埋め込めるソフトがあるならそのソフトで M4V を作っても構わないんですが、その為だけなんです。
2020/03/12(木) 00:00:08.22ID:A3Njl5W20
出力ファイルの拡張子はmp4かmkvじゃ駄目なの?
2020/03/12(木) 00:14:07.79ID:MeM3XQB80
ffmpeg -y -i "元ファイル.avs"

とだけ打って出力を貼り付けてください。
入力ストリームの情報をみないと、出力にどうマッピングすればいいのかわからないので・・
2020/03/12(木) 00:19:33.85ID:A3Njl5W20
書き忘れたけど出力拡張子がm4vだと>>585と同じエラー出た
2020/03/12(木) 01:08:22.25ID:CtjKPPcM0
>>585,586
だから.avsはただのファイルの拡張子であって、それはつまり「.avsの動画ファイル」という情報だけでは「.avsを拡張子とするコンテナに映像streamや音声streamが入ったファイル」としか言えない事を意味する

コンテナはただの入れ物の様式・決まり事なだけだから、当然(再生しかり変換しかり)中身を扱う時には
「中身がどういう符号化をされているか」—codecは何か—という情報が必須

あなたはずっと.avs形式のファイルとしか見えてないから、aviSynthで開くかどうかしてそのファイルのcodecを調べなさい
そう言ってるの
2020/03/12(木) 08:45:07.93ID:0sdkk3dM0
質問者はavsファイルをメモ帳なりテキストエディタで開いてみりゃいい
「どのソースにどういうフィルタを掛ける」等が書いてあるスクリプトファイルとして開けるだろうから

「avsファイルが動画プレイヤーで再生出来るからこれは動画ファイルだ」とか流石に無知にも程がある
2020/03/12(木) 09:38:48.34ID:qr4ljfdK0
つーかffmpegって*.avsファイルを扱えるの?
2020/03/12(木) 10:43:51.26ID:tZv+LQ/r0
>>592
--enable-avisynthでビルドしてあれば使えるよ。別途Avisynthをインストールしたりしておく必要もあるけど。

あとavsのコーデックを調べろと言ってる人はAvisynthのことを良く知らないようだから一応説明しておくと、
avsは確かにスクリプトファイルなんだけど、Avisynthを経由してffmpegや再生ソフト等で扱う場合は
yuv420pとかpcmのRAWストリームが入ってると思えばいい。
2020/03/12(木) 10:48:09.49ID:0FuRsOt20
-c:v libx265
ちゃうんけhevcじゃなくて
2020/03/12(木) 10:59:49.64ID:tZv+LQ/r0
そのへんもググればあっさり出てくるのに、それができてないからなあ・・・
596名無しさん@お腹いっぱい。
垢版 |
2020/03/12(木) 11:14:48.43ID:ei2YXckM0
>>587
拡張子を MP4 に変えたら出来ました!!
m4v がダメだったんですね??

が、iTunes に転送は出来たのですが、
「この iPhone で再生できないため、コピーされませんでした」
と言われて、iPhone に追加が出来ませんでした。

m4v は mp4 と同じらしいので エンコード後に拡張子を m4v に変えると、PC ではどちらの拡張子でも再生できるのですが、
mp4 でも m4v でも、iTunes に転送は出来ますが、iPhone で再生できないとかで、追加ができません。iPhone7 で再生できれば問題ないのですが。。


mkv を ffmpeg で作ったことはないのですが、HandBrake というソフトで、DVD から mkv を作ってみたら PC では再生でき、字幕や音声の切り替えも可能ですが、iPhone に追加ができません。
mkv を再生できるアプリは入れたんですが、iTunes に追加ができず、GoogleDrive 経由で追加を試みましたがダウンロードできない等言われ、断念しました。
597名無しさん@お腹いっぱい。
垢版 |
2020/03/12(木) 13:56:03.79ID:6WEeoOwT0
馬鹿には無理
2020/03/12(木) 14:09:54.23ID:elQdk1QU0
YoutubeにうpしてiPhoneで見る
2020/03/12(木) 16:40:58.32ID:iWfdJHKM0
avsは無知で自分で調べることもできない馬鹿だけどコンピュータ使い始めなんてこんなもんだろう。

>596
iTunesはmkvコンテナは追加できないからffmpegかHandBrakeで対応コンテナに変換したらいいよ。
2020/03/12(木) 16:53:06.66ID:tZv+LQ/r0
> かれこれ10年は動画変換をやってますが、携帯動画変換君頼りで理解しないままでしたし…。
2020/03/12(木) 17:10:05.72ID:zMfu1JZE0
>>593,591
って事は.avsはcodec無し(って表現が良いのか知らんけど)の無圧縮データと適用する効果の情報が入った形式なのか

他の再生ソフトは無圧縮の映像・音声の再生に対応してたら再生できるって訳かな
拡張子の時点で弾くソフトも多いだろうし扱いにくいなぁ
2020/03/12(木) 17:53:33.36ID:xFYGxzUK0
avsって聞きなれないコンテナだなって思って調べたら、なんか中国で作った独自コンテナ
形式でAudio Video StandardっていうののWikiとHP見つけたけどこれのことかな

https://en.wikipedia.org/wiki/Audio_Video_Standard
http://www.avs.org.cn/english/

ffmpeg -codecsで見ると「avs」はデコーダあるけど「avs2」はVideoCodecのみって実装みたい
なのでffmpegだと変換微妙なのかな
2020/03/12(木) 18:06:42.27ID:zMfu1JZE0
>>602
質問者がAviSynthって言ってるからそれ関係なくこっちだと思うけど
https://i.imgur.com/jz2NgPQ.jpg
2020/03/12(木) 18:07:03.13ID:r5kfBV+R0
普通拡張子が.avsのファイルはAviSynthのスクリプトファイルじゃないのか?
スクリプトファイル(ただのテキストデータ)なのでテキストファイルで開くことができる
ttps://ja.wikipedia.org/wiki/AviSynth
2020/03/12(木) 18:22:56.85ID:8yT3EHmk0
DVDって書いてるから映像vob+音声AC3とかをAviSynth経由で読み込んでffmpegにって事でしょ?
2020/03/12(木) 19:03:10.90ID:0sdkk3dM0
AviSynthがどういったモノか気になっている人もいるようなので一応書くと、
.avsはエフェクトの付加やクロップ等の簡単な編集をスクリプトファイル上で記述できる
例えば

AVISource("PATH.avi") #AVIソースとしてPATHで指定された動画ファイルを読み込み
Crop(0, 0, 416, 256) #x:0, y:0の座標から480*360pxの領域をクリップ
Histogram("Luma") #輝度の変化をヒストグラムで表示

などと.avsを書いて動画編集ソフトやメディアプレイヤーで読み込むと
https://www.avisynth.info/?plugin=attach&;refer=Histogram&openfile=histogram_modeluma.jpg
の様な映像として出力される

中国のavsコンテナ形式云々については知らないが、
AviSynthの.avs自体は既に書かれている通りコンテナやコーデックや動画ファイル等ではなくスクリプトが書かれたただのテキストファイル
乱暴に言ってしまえばffmpegのコマンドを書き込んだバッチファイルやシェルスクリプト等とあまり変わらない
2020/03/12(木) 20:11:51.32ID:zMfu1JZE0
>>606
ffmpegに入力しても、適用する効果よしなに扱ってくれるもの?
でなければ参照先の動画ファイル直接叩いた方が良さそうだし
2020/03/12(木) 20:19:05.31ID:mR2WjpZh0
結局スクリプトファイルはコンテナを兼ねててトラックを内蔵してるの?
2020/03/12(木) 20:28:40.96ID:zMfu1JZE0
質問者って多分.avsは自作じゃないだろうけど
そもそも.avsで配布してる動画なんて有るんだな……ネット海は広い
610名無しさん@お腹いっぱい。
垢版 |
2020/03/12(木) 20:58:23.98ID:hq1Ew8A80
ひょっとして最初の質問者がそもそも
中華フォーマットのavsと
編集フォーマットのavsと
判別手段すら理解できないとか混同したまま説明しているとか、そういうわけじゃないよね・・・?

ファイルの容量とか、Mediainfoとか、AviSynthとか、あるし・・・
2020/03/12(木) 22:03:27.33ID:qr4ljfdK0
>>593
ということ一般に公開されてるバイナリじゃ非対応の可能性があるのね
ついでに公開元みたら有効になってたからavs読み込ませたら動いたわけか
avspipemod使うより簡単・シンプルだったかもしれない
2020/03/17(火) 13:17:34.01ID:wmy15hy70
レス遅れてすみません。連投したせいか、書き込めなくなって代行依頼したのですが、5chが久しぶりで代行場所が違ったようです。

>>605 その通りです。
>>590 言葉足らずでしたが avs ファイルの中身は
mpeg2source("Douga.d2v")
Crop(8, 24, -8, -24)
VobSub("Douga_Eng")
VobSub("Douga_Jpn")
audio = Wavsource("Douga_Eng.wav")
AudioDub(audio)
Trim(300,4251)++Trim(5730,44703)
-------------
こんな感じで、昔どこかのサイトに書いてあったのを見て私が作っています。
元データは DVD で、VOB ファイルを DGIndex で d2v と wav に分離して 字幕は VobSub で抜き出して位置を変えて(このままだと字幕が重なってしまうので)載せています。
全てサイトに書いてあったことで、あまりメジャーなやり方でないらしいことは以前にも 5ch で質問したことがあって、知っていました。
mp4 → mp4 のやり方は載っているのに、*.avs ファイルからのやり方がないので、avs が読み込めないのか、H265 がダメなのか他に何がいけないのか、分かりませんでした。
以前の Win7+変換君 で h264 を作ってから、h265 で再圧縮をかけることも出来たかもですが、どうせ元データがあるんだから、元データから綺麗に変換したかったんです。

拡張子を m4v でなく、mp4 とすることで解決できたので、iPhone への転送も、GoogleDrive 経由でもう一度やったら出来たので、一応解決したと思います。
ありがとうございます。

ffmpeg -y -i 元ファイル.avs -vcodec hevc -preset placebo 完成ファイル.mp4"

で、今はエンコードしてますが、いろいろオプションを変えて試してみて、エンコード時間や、ファイルサイズ、映像等の最適を見つけてから、VOB ファイル削除したいと思います。
質問の仕方がおかしくて申し訳なかったですが、ここで聞いたおかげで無事解決したので、レスくださった方々、ありがとうございました。
2020/03/17(火) 13:26:29.43ID:Vu+noQXf0
>>612
> ffmpeg -y -i 元ファイル.avs -vcodec hevc -preset placebo 完成ファイル.mp4"

-preset placebo は無駄に重いだけのプリセットだから、veryslowかslowerでいいんじゃないかな。
2020/03/17(火) 14:19:02.50ID:78DzOs520
>>612
こんな感じに.d2v、2つの.vob、WAVEをffmpegで直接がっちゃんこできないのかな
その方が手っ取り早いけども
https://okamurax.com/?p=151
2020/03/17(火) 14:27:59.46ID:uA2/gOTL0
もちろんavsを経由する必要はまったくない
ちょっと勉強が必要だけどね
2020/04/02(木) 22:07:57.59ID:GKIvFbTZ0
3月上旬の変更で、NVDECとNVENCを使ったフルHWトランスコードのコマンドが変更されてるので注意。
一応以前の -hwaccel cuvid -c:v h264_cuvid -i 〜 の指定でも動くのだけど警告が表示されるようになってる(はず)。
環境持ってないから試せてはいないし、個人的にはこれをこのまま定着させていいんだろうかという疑念もあるのだけど。

 【NVENC/VCE】ハードウェアエンコーダーを語るスレ4【QSV】
 https://mevius.5ch.net/test/read.cgi/avi/1577416553/482-497
 
 https://trac.ffmpeg.org/wiki/HWAccelIntro
 
 
ところで、ffmpeg.exe -hwaccels で qsv が2回出てくるのはなんでなんだろう?

---
ffmpeg version git-2020-03-30-8d019db

Hardware acceleration methods:
cuda
dxva2
qsv
d3d11va
qsv
2020/04/03(金) 06:09:29.59ID:exz5ccR10
-c:v hevc_nvenc
だけで困ってないけどな
最新のだと違う?
2020/04/03(金) 09:58:11.95ID:E3s0RC0B0
>>617
-c:v hevc_nvenc は、HWエンコーダの呼び出し。
ただ、HWエンコードの性能をフルに引き出そうとする場合、デコード処理がボトルネックになることがある。
一番いいのは、
 ・デコード処理もHWで行う
 ・HWデコードした結果をGPUにそのまま置いて、HWエンコーダに渡す
という形にして、デコードからエンコードまで全てをGPU側で行うこと。(ただし入力ソースがHWデコードできる場合のみ)

そのために使うのが -hwaccel で、従来は
  ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i h264.mp4 -c:v hevc_nvenc output.mp4
という書き方をしていればよかったんだけど、3月頭の変更で、
  ffmpeg.exe -hwaccel cuda -hwaccel_output_format cuda -i h264.mp4 -c:v hevc_nvenc output.mp4
というコマンドが推奨されるようになった。(一応前者のコマンドも動くけど警告が出るようになった)

というのが>>616のリンク先の内容。
特に速度とか求めない場合は別に -c:v hevc_nvenc の指定だけでも別に問題ない。

あとCPUを使うフィルタ処理とかを挟むなら、また別の工夫が必要になる。
そのあたりについてはNVIDIAの解説を読むといい。

 NVIDIA FFmpeg Transcoding Guide | NVIDIA Developer Blog
 https://devblogs.nvidia.com/nvidia-ffmpeg-transcoding-guide/
2020/04/03(金) 13:14:31.47ID:MJxJVgdS0
デコードコマンドに-c:v XXXX_cuvid付けた方が速い気がするんだけど。俺環かな?
4月1日ビルド品。約100fps位差が出る。
ffmpeg.exe -hwaccel cuda -hwaccel_output_format cuda -c:v XXXX_cuvid
2020/04/03(金) 20:02:26.26ID:ou+7MR/P0
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i video.mp4 -an -f null -
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -c:v h264_cuvid -i video.mp4 -an -f null -
特に変化なし。GT1030
2020/04/03(金) 20:32:01.96ID:exz5ccR10
エンコードの方が遥かに重いんだから、デコードがボトルネックにはならんだろ
2020/04/03(金) 20:50:19.36ID:YWzuD0l90
まあ説明も書いたし参考リンクも示したし、その上で君がそう考えるんなら別にそれでいいんじゃないの。
2020/04/03(金) 20:55:36.76ID:MJxJVgdS0
Ryzen7 3800Xと1660Sの組み合わせだと、SWデコードの方が速いですよ。
2020/04/03(金) 21:36:24.38ID:YWzuD0l90
たしかに環境や条件次第というのはあるかもしれない。自分も細かく把握してるわけじゃない。
2020/04/03(金) 23:15:06.06ID:ieXBOV610
HWでリサイズなどのフィルタリングも行えば早いとかそっちでしょ
(早いというかCPUとやり取りするよりシンプルに自己完結する)
2020/04/04(土) 00:15:35.86ID:heofmNEz0
環境とか入力ファイルの解像度等の情報とか具体的なコマンドラインとかも出てる比較があるなら見たいところではある。
2020/04/04(土) 00:18:27.74ID:FRUSMnjN0
すごく初歩的な質問になるんですけど-vfでアンシャープとインターレース解除の2つの処理をする場合
1つの-vfで2つの処理をまとめることはできますか?
2020/04/04(土) 01:33:45.41ID:RXTyG+060
最初に書いてるものから適用されたような
2020/04/11(土) 16:51:25.60ID:nj5ljxb00
>>590
言葉足らずですみません。avs ファイルの中身は

mpeg2source("Douga.d2v")
Crop(8, 24, -8, -24)
LanczosResize(304, 192)
AddBorders(8, 24, 8, 24)
FieldDeinterlace()
VobSub("Douga_Eng")
VobSub("Douga_Jpn")
audio = Wavsource("Douga_Eng.wav")
AudioDub(audio)

Trim(300,4251)++Trim(5730,44703)

--------
こんな感じで、昔どこかのサイトに書いてあったのを見て私が作っています。
元データは DVD で、VOB ファイルを DGIndex で d2v と wav に分離して 字幕は VobSub で抜き出して載せています。
言われたことを忠実にバカの一つ覚えみたいに実行してるだけで Avisynth や ffmpeg の文法は全然理解していません。
動画や音声の仕組み等も全然分かっていません。

以前使ってた Win7+携帯動画変換君 の環境で H264 で mp4 を作ってから H265 で変換しても出来るのかもしれませんが、
せっかく綺麗な元データがあるので、VOB から H265 で綺麗に変換してから、VOB を消したいと思うんです。
2020/04/11(土) 17:12:19.79ID:1fCgMXm20
なにがどうなってる
2020/04/11(土) 18:12:24.74ID:Hnq5gygW0
よくわからんが、もう解決したという話なんだし放っておけばよろしい。
2020/04/12(日) 03:25:38.40ID:x/ikJ5x70
>>629
その内容ならいくつか言える事が増えるね

まずVOBファイルの(というかVOBはMPEG-2 PSの別名みたいなもので)中身はおそらく映像がMPEG-2、音声も適当なコーデックで入ってる(これはMPEG-2 PSの規格で決まってる)
字幕は珍しい変わった形

つまりは音声を変換無しにコピー、映像に字幕を焼き付けて変換して任意のコンテナに入れてやれば良い
あなたのやり方はかなり遠回りじゃないかな
以下のやり方は試してないから後は何とかして

-analyzeduration 120M -probesize 120M
-ifo_palette 'VTS_01_0.IFO'
-i "concat:'VTS_01_1.VOB'|'VTS_01_2.VOB'|'VTS_01_1.VOB'|<……ある数だけ>"
-filter_complex '[0:1][0:4]overlay[outVideo]'
-map [outVideo] -codec:v <映像コーデック>
-map 0:2 -codec:a copy
'出力.<コンテナに合わせた拡張子>'

<VOBファイル>/VIDEO_TS/以下に各入力ファイルあるはず
フィルタと-mapのstream指定子で指定するstreamは自分で確認すること:https://qiita.com/k_maki/items/2145fd7a623283da786f

参考:https://qiita.com/blueknight611jp/items/4a5c8b162b85d6db0023
2020/04/12(日) 11:24:42.73ID:FL0rVnZh0
>>632
>>629は1か月前の>>612とほぼ変わらん内容だし、当人は>>585にもあるように10年動画変換やって何も進歩する気のない人だから
多分そんな試してないコマンドや解説を提供しても・・・いやこれ以上は言わんけども。
2020/04/12(日) 11:38:54.43ID:9tJ3Fm530
色々フィルタやらなんやらでエンコ試行するならAVIベタ落とししたほうがいいんじゃねと思ってみたりするのはもう思考が古いのかなと不安になるの図
2020/04/12(日) 12:00:08.38ID:x/ikJ5x70
>>632のconcatプロトコルの2つ目のパイプ直後は'VTS_01_3.VOB'だった

>>633
確かに
まぁ後学にもなると覚え書きに思っとく
2020/04/12(日) 12:07:34.50ID:x/ikJ5x70
>>634
全然問題ないだろうし、むしろそっちが主流だと思う

ただAVIコンテナって他環境の標準規格でもないし、MP4とかMPEG-2システムに格納するのが丸い
あと字幕streamの表示機能が無い環境向けに、映像に焼き付ける需要はかなりあるね
2020/04/12(日) 18:12:30.14ID:x/ikJ5x70
連投ごめん、1つ質問頼む
評価式で色々処理したいから、何か修正できる箇所あれば教えてください

-i 入力音声 \
-af "silencedetect=noise=-60dB:duration=0.1,ametadata=mode=print:key=lavfi.silence_start:function=expr:expr='0'" \
-f null \
'pipe:1'

これで評価式が常に0だからログにmetadataは出力されないはずなのに、何故か出力されてしまう
function=equal:value=<てきとーな値>ならログに出力されないし、value=<一致する値>ならログに出力されるからametadata自体はちゃんと動作してるみたい
2020/04/12(日) 21:34:31.28ID:x/ikJ5x70
>>637の追記
この後mode=printとfunction=exprとexpr=print(<ここ色々変える>)、で試したけど(a)metadataでの評価式自体が機能してないっぽい

オープンソースと言っても内部処理には明るくないし、どこに報告すれば良いんだろうか
2020/04/12(日) 22:21:47.88ID:qep594pP0
https://trac.ffmpeg.org/timeline
チケット作って報告して
2020/04/12(日) 23:35:28.56ID:x/ikJ5x70
>>639
ありがとう
>>375の時の報告と修正履歴あったよなーと探してたんだけど、正しくそれと同じだった
https://trac.ffmpeg.org/ticket/6813
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=3f8cdd4ee3fa86228c5d6f7490d06301baf6b712

今度拙い英語で頑張ってみる
2020/04/14(火) 20:57:47.31ID:Q6hJxpCl0
>616
直った
https://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=5633f9a8a221f7511d5ec9b4c57a21c890271ad0
2020/04/14(火) 22:03:23.10ID:BHzKk81k0
>>641
おお、ありがとう
2020/04/15(水) 18:45:53.98ID:Ji1CGUp20
覚え書き:音声の入りと結びの(完全に信号強度が0の)無音切り詰め
-af 'silenceremove=start_periods=1:start_duration=0:start_threshold=0:stop_periods=1:stop_duration=0:stop_threshold=0:detection=peak'
2020/04/19(日) 16:05:59.99ID:rA1+8IfI0
覚え書き:音声のサンプル単位で「1〜48000サンプル目」+「48001〜96000サンプル目の反復3回」+「96001〜144000サンプル目」を結合
end_sampleを省略で入力の始めから、start_sampleを省略で入力の終わりまで

-filter_complex '[0:a]atrim=start_sample=0:end_sample=48000[opening];
[0:a]atrim=48000:end_sample=96000,aloop=loop=2:size=2.14748e+009:start=0[3repeats];
[0:a]atrim=start_sample=96000:end_sample=144000[ending];
[opening][3repeats][ending]concat=n=3:v=0:a=1,asetpts=PTS-STARTPTS'
645名無しさん@お腹いっぱい。
垢版 |
2020/04/21(火) 02:10:50.05ID:IeUqCPV00
今からffmpegをビルドしようと思ってるけど、ビルド方法が多過ぎて、正解はどれなのか分からない・・・
646名無しさん@お腹いっぱい。
垢版 |
2020/04/21(火) 02:20:50.64ID:IeUqCPV00
msys2とmingw使う方法だけでなく、最近はwsl入れてffmpeg-windows-build-helpers使ってビルドする方法もあるからややこしい
2020/04/21(火) 04:30:01.03ID:qNQ72vIS0
どんな用途か知らんけどffmpeg単体で使いたいだけならLinux向けにビルドしてWSLで使ったほうが楽かもね
2020/04/21(火) 07:58:38.44ID:3Q3WudrR0
GPLの制約でソース公開してるだけで、ビルドできるとは言ってない
649名無しさん@お腹いっぱい。
垢版 |
2020/04/21(火) 10:20:50.38ID:8biuLANL0
>>647
fdk-aacを使ってみたいからさ
2020/04/21(火) 10:36:15.71ID:CdPIDvJw0
>>645
自分はこれを使ってビルドしてる。

 m-ab-s/media-autobuild_suite:
 This Windows Batchscript helps setup a MinGW compiler environment for building ffmpeg and other media tools under Windows.
 https://github.com/m-ab-s/media-autobuild_suite

いくつか質問に答えるだけで、ビルド環境も自動で構築してくれるし、関連ライブラリも自動で引っ張ってきてくれる。
必要機能のON/OFFもffmpeg_options.txtに--enable-libfdk-aacなど必要なものを指定しておけばいいだけ。
ついでに必要ならx264やx265などのバイナリもビルドできるし、ビルド環境はAviUtlのL-SMASH Worksのビルドとかにも流用できるし便利。
2020/04/21(火) 13:12:33.85ID:QTrNIPym0
バイナリ拾ったほうが楽
https://johnvansickle.com/ffmpeg/
2020/04/21(火) 13:24:35.89ID:3Q3WudrR0
問題はaac
2020/04/21(火) 13:58:46.35ID:CdPIDvJw0
HEv2を使いたいというなら別だけど、AAC-LCでいいなら今は音に変態的なこだわりでも持たない限り
ビルトインのaacエンコーダでも十分らしいからなぁ・・・
2020/04/21(火) 15:27:32.17ID:MTpnp3A90
aacはサ行音に問題がある
2020/04/21(火) 18:04:27.22ID:+fACwI410
これからはAV1かH.265とOpusの時代だろうし早くAAC使わなくて良いようになってくれれば……
2020/04/21(火) 18:23:50.89ID:tIKEq/0n0
Opusは48kHz以外ネイティブ対応していないので、
今以上に普及するとは思えない
2020/04/21(火) 20:18:31.54ID:+fACwI410
完成品の音声ファイルの周波数に48kHz超えは不要だから、不可逆圧縮のコーデックとしては標準になると思うけどなぁ
制作過程ならより高い周波数・深度の需要あるけど、可逆圧縮/無圧縮で運用するだろうし

https://qiita.com/keiya/items/c994c200e8b38b6c7935
2020/04/21(火) 20:41:38.91ID:3Q3WudrR0
上の話?
44.1kHzが使えなくて不便という話かと
2020/04/21(火) 22:22:01.10ID:+fACwI410
>>658
そう
48kHzで表現されるだけだから不便って事も無くない?
エンコーダは一定間隔で標本をだぶらせるんじゃなく、間の波形から変換して音も変わらない訳だし
660656
垢版 |
2020/04/21(火) 22:22:38.53ID:m51wyj+50
うん、そのつもり。
44.1kHzがネイティブで選択できないと、
音楽音源がかなりの割合でサンプリングレートコンバーターのお世話になることに。
2020/04/21(火) 22:24:00.57ID:m51wyj+50
一行目は無視しておくれ
2020/04/22(水) 01:41:55.30ID:2sLGx1xb0
なるほどね
でも44.1kHz縛りのないネット系だと可能性は大きそう
配信側がユーザー側のダウンロード前提の利便性を考える必要はないし
2020/04/22(水) 11:19:38.61ID:HqQDbGoZ0
>>654
ならディエッサーがいるな
2020/04/22(水) 11:30:52.09ID:Mj4BCT5M0
背景にノイズが鳴ってるようなのをAACでエンコードすると、
常にキュルキュルとアーティファクト鳴りまくりの酷いのができる
ノイズの無い理想的な音源でしか使えない
2020/04/23(木) 11:03:34.30ID:Wa/4MXxP0
アスペクト比維持のフィルタは
小数点以下切り捨てでリサイズされるんだけど
切り上げにする方法ってある?
-vf "scale=1280x720:force_original_aspect_ratio=decrease"
2020/04/23(木) 16:15:56.80ID:cK70omcG0
decrease があるなら increase があるのでは?
2020/04/23(木) 19:24:01.12ID:2VmlMtB30
>>666
それは内接か外接かの違いで
数値の切り捨て・切り上げとは関係ないです
2020/04/23(木) 20:45:31.81ID:wcMcCJ7a0
size=1280x720:width=if(lt(iw\,ih)\,ow\,ceil(oh*iw/ih)):height=if(lt(ih\,iw)\,oh\,ceil(ow*ih/iw))
駄目なら
width=if(lt(iw\,ih)\,1280\,ceil(720*iw/ih)):height=if(lt(ih\,iw)\,720\,ceil(1280*ih/iw))
2020/04/23(木) 21:56:37.39ID:GLM0bJRZ0
ネットラジオ録ってるけどopusは編集が難しい、ソフトがない
aacならmp3directcutで波形見ながらできるし
2020/04/23(木) 22:56:14.89ID:wcMcCJ7a0
せっかくffmpegの環境あるんなら録る時にflacかWAVみたいな可逆圧縮で保存してそれを編集すれば良いのに

わざわざ非可逆圧縮の音声を編集するのは避けたいし
2020/04/23(木) 23:01:04.49ID:HoH4sRBP0
ネットラジオを作ってる人ならそんな編集の仕方は論外だし、
ネットラジオを保存してるならそもそも編集不要
2020/04/23(木) 23:23:59.87ID:wcMcCJ7a0
>>671
よね
保存してる人の編集って多分切り抜きとか音量調整とか指してるのでは
673669
垢版 |
2020/04/24(金) 02:22:19.35ID:jf1Rj7I/0
>>671
分割とかチャンク欠けとか起きる時があるんでね
マルチにストリームを無変換で録って、無変換でニコイチ修復したりするのよ
wmaもopusもその為の良いソフトがない、一番楽なのがaac,mp3
せっかく圧縮してあるのにWAVに直す意味のほうが分からないです
ちなみに、音量もhe-aacだと変えられないけど、lc(m4a)なら可逆で変えられる
2020/04/24(金) 02:44:12.61ID:ZRVj/Dp70
CM抜くためにロスレス編集というか切り取りはするな
最近は殆どffmpegだけしか使ってないけど
2020/04/24(金) 06:49:57.82ID:+BsRj4gC0
これだけHDD安いんだから、CMを抜いて浮かせたHDD代を時給換算すると悲しくなるぞ
2020/04/24(金) 07:02:36.65ID:kv1jBeuk0
>>668
ありがとう
試してみます
2020/04/24(金) 09:57:19.44ID:1UNcSHXs0
opusで配信してるラジオあるんだ?
2020/04/24(金) 10:09:14.91ID:a/OG7Qra0
>>675
CM抜くのはHDDの節約って。。。
それ以外の理由を考えるだけの余裕はないのかい?
2020/04/24(金) 10:14:19.49ID:+BsRj4gC0
opusの配信なんか見たことないけど、権利的にも性能的にも向いてるとは思う
680名無しさん@お腹いっぱい。
垢版 |
2020/04/24(金) 11:19:58.72ID:OrMpPYFI0
>>650
これ、全部入りにしたら時間かかり過ぎ・・・
2020/04/24(金) 11:48:00.78ID:lzRGYbea0
そりゃ全部入りにしたらそうなる
ほとんど使わないんだから取捨選択して
2020/04/24(金) 12:02:09.31ID:UmN+X/vX0
>>673
それは配信サービスか受信ソフト側がまずい気が
バッファ取って、一時的に通信滞っても追いかけで受信できるのが今は普通だし
683680
垢版 |
2020/04/24(金) 14:51:18.50ID:Mhu397KQ0
本当は、zeranoe版にfdk-aacを加えた奴をビルドしたいんだよな
でも、build hepler系には頼りたくない・・・
2020/04/24(金) 20:29:45.24ID:F+lIQEBG0
>>683
fdk-aacだけのビルドで音声だけ、zeranoe版で映像だけエンコしたら解決。
2020/04/25(土) 00:01:47.13ID:QdPLqBLr0
ffmpegでwav出力 → qaacでエンコ
それをffmpegで出力した映像とmuxしたら最高
配信で使いたいなら自分で試行錯誤して頑張れとしか・・
2020/04/25(土) 00:40:42.41ID:E0JZMnsV0
>>677
FM++

>>682
鯖の問題でどうしようもないと思ってるけど、
ffmpegでhlsやicecast受信用のバッファって変更できるのかしら
2020/04/25(土) 16:20:27.37ID:UxPVGd9s0
asfにopus入れてkagamin2で配信する方法もある
WMPしか再生できないけど
2020/04/30(木) 02:05:18.92ID:wLgwFJe80
media-autobuild_suiteで、zeranoe版に近い設定でビルドするにはどうしたらいいの?
設定が多すぎてどうすれば良いか困ってる・・・
https://github.com/m-ab-s/media-autobuild_suite
689名無しさん@お腹いっぱい。
垢版 |
2020/04/30(木) 02:06:43.14ID:wLgwFJe80
全部入りにすると容量バカ食いするし
2020/04/30(木) 05:19:01.92ID:0B0W4hTj0
使うのだけ有効化すればよくね?
691名無しさん@お腹いっぱい。
垢版 |
2020/04/30(木) 09:51:40.78ID:NjYP8KdH0
>>690
zeranoe版で使っているもの+fdkaacを有効にすればいいんだけど、どれを有効にしたらいいかわからなくて・・・
2020/04/30(木) 10:09:09.30ID:93DNHdju0
Readme読んだら何のライブラリ使ってるか書いてるじゃんと思って読んでたけど今のzeranoe版ってlibvmafも有効になってるんだな
2020/04/30(木) 10:19:30.85ID:D/a/7i8l0
>>691
ffmpeg.exeを実行したらビルドオプションが書いてあるだろ--enableっての
2020/04/30(木) 11:02:16.90ID:jXBODyYU0
>>692
うお、マジだ。気づいてなかったんで教えてくれて助かった。ありがとう。

調べてみたら

 > Rather late, but VMAF has been added to the builds with 20200328-3362330.

 VMAF Filter - Page 2 - FFmpeg
 https://ffmpeg.zeranoe.com/forum/viewtopic.php?p=16845#p16845

ってことで3月末から追加されてたらしい。
695名無しさん@お腹いっぱい。
垢版 |
2020/04/30(木) 18:25:05.46ID:wLgwFJe80
とりあえず、必要な物だけ選んでビルドしようとしたら、vidstab云々でエラー出て終了・・・
なんてこったい
2時間が無駄になった・・・
2020/04/30(木) 19:23:49.52ID:Vg21wd8Z0
mkvに入ってる字幕を消したくて、vもaもcopyでmp4に変換すると字幕がなくなるなるので、まとめて変換しようかと思うんですが。
これって拡張子変えただけで中身は変わらないので劣化は起きてないですよね?

mkvでもいいんですが、なんでmp4にするかは、汎用性と、ビットレートが出てなかったり実際とは違う小さい値が表示されてるのが気持ち悪いというだけです。
2020/04/30(木) 19:32:27.55ID:5JALOfei0
字幕を消したいはどこに行った
2020/04/30(木) 19:55:03.80ID:buoK1ERT0
俺もそこが気になって数回読みなおしちまったw
2020/04/30(木) 19:58:03.69ID:Wcmw7TEl0
拡張子でもいじって、まぁ、がんばれ!
2020/04/30(木) 22:14:46.48ID:3iZ5MTR00
字幕無視の入力オプション-sn
真偽オプションだから引数は要らない
701名無しさん@お腹いっぱい。
垢版 |
2020/04/30(木) 23:09:47.99ID:wLgwFJe80
ここ見て思いついたことなんだけど、fdk-aacライブラリで、aacをwavにデコードってできないの?
https://nw-electric.way-nifty.com/blog/2018/02/aacmpd-fdk-aac-.html
2020/04/30(木) 23:29:47.28ID:0i84pJ4z0
fdkエンコーダーとaacデコードは別物
703名無しさん@お腹いっぱい。
垢版 |
2020/05/01(金) 00:52:53.67ID:WmalfjuP0
もしかして、fdk-aacでaacをwavに変換できない?
ソース見たらデコードという言葉があったので、できると思ったんだけどなあ
2020/05/01(金) 05:40:01.42ID:+CuZZEYi0
どういうことだ?
FDK-AACはwavを出力するソフトウェアではないぞ
2020/05/01(金) 06:30:26.64ID:7BjXl0h20
コーデックなんだからできるでしょ
2020/05/01(金) 10:07:10.51ID:R0iHuhWA0
2020/05/01(金) 10:45:09.27ID:HRN4fo5Q0
新説:デコードに品質がある
2020/05/01(金) 10:47:38.52ID:BvtTjGxW0
なんか無茶苦茶だな…
2020/05/01(金) 10:53:10.33ID:7BjXl0h20
電源で音が変わるんだからコーデックが変われば当然変わる
2020/05/01(金) 11:05:40.16ID:HRN4fo5Q0
新語:デコーデック
2020/05/01(金) 12:37:41.25ID:R0iHuhWA0
凸凸凸凛!
712名無しさん@お腹いっぱい。
垢版 |
2020/05/03(日) 23:21:13.08ID:0ns1VXJr0
drawtextを使って、動画の右端に動画時間を表示させたいのですが、
どのようにすれば良いですか?

xやyで文字列の左上の座標を指定できますが、
文字列全体の幅が予め分からないと左上の座標を求めることができません。
あるいは、文字列の右端の座標を指定するようなコマンドはございますでしょうか?

検索して調べてみましたが、
情報は見つかりませんでしたのでどなたか教えてくださいませ
713712
垢版 |
2020/05/03(日) 23:30:06.59ID:0ns1VXJr0
すいません
text_wでうまくいきました。

あと、
秒数を小数部位を表示したいのですが
text='%{{eif\:t\:d}}\.%{{eif\:mod(t*10\,10)\:d}}

のようにして、10倍してから一桁目をとるようなことをする必要がありますか?
もっと簡単にできる方法があればお教えください
714名無しさん@お腹いっぱい。
垢版 |
2020/05/09(土) 18:12:07.05ID:j9KY0Gpt0
データ速度、総ビットレート、フレーム率、ビットレートなどはそのままで、
フレーム高とフレーム幅だけ変更する方法はありますでしょうか?
2020/05/09(土) 19:56:44.60ID:vFZgniSj0
あるわけねーだろ
2020/05/09(土) 20:16:25.52ID:AriwjvGx0
そもそもデータ速度、総ビットレート、ビットレートの違いって何?w
フレーム率とは?w
2020/05/09(土) 20:25:16.11ID:kUF02N5O0
一人ではしゃぐなよ
キチガイ
2020/05/09(土) 20:52:01.84ID:Jj+aGJiY0
エクスプローラーのカラムはフレームレートのことを「フレーム率」と訳してる
2020/05/09(土) 20:54:05.82ID:6J8tYZTG0
要はビットレートとfpsをそのままで
解像度を変更したいってか?
解像度の縮小なら出来なくはないが若干画質下がるよな
解像度の拡大なら内容によってはかなり画質下がるよな
一体どっちをしたいんだ?
どちらにしろ元の画質よりは下がるが気になるかどうかは個人差だけど・・・?

トランスコード後のファイル容量は内容次第なんで判らん
2020/05/09(土) 22:35:55.86ID:CGPDm9wo0
>>714
なぜ変換する必要があるの?
721名無しさん@お腹いっぱい。
垢版 |
2020/05/10(日) 00:15:46.32ID:K7/9Ub/00
いくつかあるmp4をフレーム高や幅を1080X1920から720X1280に全部揃えたいので
元の画質のまま縮小出来ないかと思いました。
2020/05/10(日) 00:33:34.46ID:Z5wZ7UCa0
かなりのバカみたいだから画質とかわからなそう
2020/05/10(日) 00:40:38.12ID:8gYxD07w0
サイズ変えると同じ(同じってわけじゃないけども)品質の画質を維持するのに必要なビットレートは変わるよ
細かいこと抜かして感覚的な話で行けば1080pの解像度で5Mbps辺りなら720pで2.5Mbpsくらい
いくつか一部分だけ仮エンコードしてみて納得できるビットレート探ってみたら?
2020/05/10(日) 01:18:11.88ID:egxzFZV90
>>721
プレイヤー側で720X1280にするとか?
2020/05/10(日) 02:31:44.61ID:DPG+qu930
縮小したらディテールは失われYUV再劣化とかするけど再生環境を限定するって前提なら別にいい・・・のかな?
縮小の都合でノイズは減るかもしれないけどビットレート足りなくて余計きちゃない()になる可能性もあるし
ついでにインターレースバリバリだとオワタ/(^o^)\画質になるし
2020/05/10(日) 03:14:10.51ID:ZyMknyki0
>>721
「元の画質のまま」がいいなら変換しないほうがいいね
それだとどうやっても画質は落ちる
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")みたいな表記はできませんか?
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

にリネームしないとエラー出てビルドできなかったんだけど、回避方法ある?
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 内で演算するしか方法がないと思う
2020/05/11(月) 00:49:42.02ID:CAsTzm2N0
>>627
複数のフィルタはカンマで分ける

>>707
いやあるよ
あまりバカにしたりしないほうがいいよ…(´・ω・`)

>>721
基本的にコーデックによる
世代損失の多いコーデックほど画質は下がる
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を扱う人は、アップデートは待ったほうがいいよ。
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測定時のオプションなど間違っているのでしょうか?
735734
垢版 |
2020/05/13(水) 01:35:46.08ID:OxnAAaO00
誤: $ ffmpeg -i input.ts -i output-<CRF> \
正: $ 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> ……]
2020/05/13(水) 18:31:35.03ID:gexdbhqu0
>>742
入力オプションは入力のあとじゃないと、
グローバルオプションとの区別がつかなくなる
2020/05/13(水) 19:12:30.43ID:BRdMc3QQ0
アホは黙ってろ
2020/05/13(水) 20:26:52.14ID:4v3JYXTT0
>>743
入力オプションと被るグローバルオプションってあったっけ
構文解析の時に自動で判別してるもんだと思ってる
2020/05/13(水) 21:15:52.53ID:Un3dDNFS0
テスト
747734
垢版 |
2020/05/13(水) 21:16:41.42ID:Un3dDNFS0
>736 >737 ありがとうございます。
今は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)
2020/05/13(水) 23:01:55.36ID:Rirjujk50
>>748
俺も理由はよくわからないんだけど、音声なしで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以前なら問題なし
2020/05/17(日) 15:40:47.56ID:wyyabrLb0
へえ
2020/05/17(日) 16:14:46.48ID:6pouxY/V0
>>750
>>733 も同じビルドからおかしくなってる。
ファイルパス絡みのオプションのパースがおかしくなってるのかな。
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
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.
2020/05/26(火) 11:31:07.92ID:kFexKKRq0
「FFmpeg」に致命的な脆弱性 〜修正版の「FFmpeg 4.2.3」が公開 - 窓の杜
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)
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
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
みたいのをイメージしています。
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
2020/06/04(木) 09:07:54.55ID:VbsWF3MI0
>>760
プログラムから制御するので
コマンドラインを使いたいです

>>761
ありがとうございます
画像系の拡張子なら
フォーマット変換なしで
バイナリ取り出せますね

「乱暴な」という意味分かりましたw
拡張子はフォーマット指定ではなく
単に画像出力指定の意味なんですね
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くらいならまぁいいかという感じになった。

インターレース解除、重複フレーム削除、逆テレシネしない場合
容量が大きくなる以外にデメリットってありますか?
2020/06/05(金) 10:03:28.31ID:XFbcJCus0
縦方向のリサイズができない
フィルタもインターレースに対応してないと悪影響がでることがある
ちゃんとインターレースフラグ立てないと再生時に解除されない
hevcなど、x264以外のコーデックはインターレースには対応してない

なのですべての問題を回避できるbob化(縞なし60fps化)を愛好する人も一定数いる

*x264でやるにしても、ちゃんとインターレースのフラグを立てるというのが大前提
2020/06/05(金) 10:54:47.32ID:+5TGGNS30
>>764
> hevcなど、x264以外のコーデックはインターレースには対応してない

ベタなツッコミだけど、x264はコーデックじゃなくエンコーダな。コーデックとして言うならH.264/AVC。

あとH.265/HEVCは仕様としては一応インターレースにも対応してるし、エンコーダのx265もインターレースに対応してるけど、
インターレースエンコードしたものをちゃんと再生できるデコーダが出回っていないというのが現状。
2020/06/05(金) 11:51:24.07ID:HXUWVyIW0
>インターレース解除、重複フレーム削除、逆テレシネなどを調べてる

テレビ録画したTSのエンコードで、こういう処理の失敗って結構あるの?
失敗を見つけるのってひたすら動画見るしか無いから、あとで気づくってのがありそう。
2020/06/05(金) 13:06:33.14ID:u6zccjlm0
>>765
コーデックはエンコーダーとデコーダー
x264はエンコーダーだからコーデック
H.264は規格だからコーデックではない
2020/06/05(金) 13:07:49.30ID:XFbcJCus0
>>766
テレシネ解除は、海外製のプラグインや手法は字幕の存在を想定してないから失敗しやすい
自分はffmpegでそういう処理はしないからffmpegの性能は把握してないけど
ffmpegも海外発だから期待はできなさそう

インタレ解除はyadifとか古いものを使わなければ
目立った劣化なく解除できる

>>765
最初はh.264って書いてたけど、x264の仕様しか把握してないから書き換えたのだ
2020/06/05(金) 14:57:36.68ID:SLNtFjjg0
avisynthでやってた頃はインタレ保持とか結構簡単にできてたような気がするが、
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フレーム中の奇数ラインと偶数ラインのことを、それぞれ「フィールド」と言う
それで、インターレース解除のさいに片方のフィールドを参照しないインタレ解除方法を「片フィールド補完」というのが一般的ではある
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
2020/06/06(土) 09:46:07.91ID:mJVOadiw0
Avisynth+はlinuxに対応したから動くとは思うけど
今のバージョンは互換性に難がでてるからハードルはちょっと高いかも
テレシネ解除の失敗が怖いならbob化(60fps化)が安牌っぽいよ
それか話に出てたインタレ維持か(オプションはよく調べること)

>>773
地デジの60iという放送規格自体が
奇数フィールドとと偶数フィールドで違う(フレームの)映像を送れる仕組みだから
そういうソースの場合はフィールド単位での補完が必要になることがある
(高度なフィルタになるとそのへんのごまかしや補完が上手くなる)
2020/06/07(日) 12:30:21.91ID:7Nfqiv1z0
>>759,762
丁寧な書き方
-an -i input -codec:v copy output
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を省略してるけど、変更を見越して省略しない方が良いかも
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分になるように
残りを無音で埋めるような指定はできますか?
2020/06/14(日) 22:24:58.01ID:8nwq8sHe0
>>779
そんな小難しい事やらなくても専用のフィルタあるよ
-i <input> -af apad=whole_dur=5:00 <output>
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
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>
2020/06/15(月) 21:11:11.12ID:hK9euIXv0
>>782
あー'5:00'って書かないとだね
5の後のコロンが引数の区切りに判定されて、whole〜に5、pad〜に0が指定された感じ
2020/06/15(月) 21:21:04.32ID:EQBwt7Pi0
ありがとうございます
シングルクォートを入れてもダメでした
その後色々と試してみて下記で上手くいきました
-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)
ここで訊かなければたどり着かなかったと思うので
本当にありがとうございます
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'
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でのスケーリングもある
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 のみ
2020/06/23(火) 02:28:39.11ID:IvqQxY3a0
>>792
個人的見解だけどqpの方々はアニメに寄ってるように思う。
2020/06/26(金) 12:39:24.47ID:FEeAf8v10
ゲーム録画したVFRをCFR変換(ともにnvenc,264,lossless,444)するときに60000/1001じゃなくて59.94って指定したら59940/1000になった上に、1クリップだけ再変換しようとしたら一部のフレームがエラーで読み込めなくなってて?変換失敗するようになってしまった

読み込みエラーの方は色々試したけど直せず、諦めて再録画したから過ぎたことではあるけど
MPCとかVLCとかのメディアプレーヤーでは異常なく再生できたからエラーフレームだけスキップしてエンコードできればいいと思うんだけど、そんなコマンドか方法あるか、どなたかご存知ですか


エラーの記録は残ってなくてアバウトですみません
2020/06/26(金) 19:55:43.80ID:Giy0G+ib0
馬鹿にはvfrは無理
バカ用のaviutlとlsmashでも使っとけ
2020/06/27(土) 09:19:21.99ID:+jaggmdS0
いや、VFR→CFR変換自体はできたんだよ
1クリップだけ壊れてたの
他のクリップは壊れてなくて59940/1000から60000/1001に戻せた
ちなみにaviutl-lsmashで読み込めたからデリバーもしてみたけど無理だっ他のNLEでは/1000にしちゃったせいで読み込めなかったし
2020/06/27(土) 10:10:58.27ID:bxqb0uu60
> 1クリップだけ再変換しようとした
・「クリップ」という単位を具体的に

> 一部のフレームがエラーで読み込めなくなってて?
・疑問を呈されてもここの誰にも分からない

> MPCとかVLCとかのメディアプレーヤーでは異常なく再生できた
・異常が無かったという根拠は

> エラーフレームだけスキップしてエンコードできればいいと思う
・なぜ「フレーム単位」だと思うのか
・エラーが起こる箇所が把握できているならその前後の時間で切り出しすれば良いだけでは
2020/06/27(土) 11:34:02.59ID:4gzwt/Jq0
>>797
言葉足らずですみません

・「クリップ」という単位を具体的に

時間を分けてキャプチャした複数の動画ファイルをエンコードしたということです
そのうち1個だけエラーになってffmpegでも他のエンコーダNLEで再エンコードできなくなってしまいました

・疑問を呈されてもここの誰にも分からない

そこは承知していますので、答えを頂けないのは当然でダメ元で最後のスキップだけでもヒントがあればと思って聞いてみました

・異常が無かったという根拠は
正確には最後まで再生可能で視覚的に認識できる異常はなかったということです

・なぜ「フレーム単位」だと思うのか
特定のエンコード時間/フレームあたりで何度かInvalid NAL unit sizeというエラーが出たのでフレームかGOP単位かなと
詳しくないので全然違うかもしれませんが

・エラーが起こる箇所が把握できているならその前後の時間で切り出しすれば良いだけでは
それは検討してみましたが、あくまでエンコード中のエラー出たときの時間を目視しただけなのでフレーム単位では把握してないので、アバウトに切り出すとカット部分が視覚的に認識できるレベルになってしまうかなと思い、自動でエラー箇所のみカットできる機能があればなぁ、と。
2020/06/27(土) 11:34:33.59ID:4gzwt/Jq0
>>798
○他のエンコーダやNLEでも
2020/06/28(日) 01:57:58.71ID:k12uv22y0
800
2020/06/28(日) 02:26:18.22ID:gfS2e6EN0
>>794
60000/1001を指定したらいいんじゃないの?
それともフレームレートはそれでうまくいったけど1つだけ"Invalid NAL unit size"が出て変換失敗するクリップがあって困ってるってこと?
2020/06/28(日) 10:20:42.37ID:n/wM5H3B0
>>801
そのとおりです
他は60000/1001に指定し直して変換できました
1個だけエラーが出ます
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
-fflags +discardcorrupt
のことかな
https://ffmpeg.org/ffmpeg-formats.html#Format-Options
807名無しさん@お腹いっぱい。
垢版 |
2020/06/30(火) 13:31:46.32ID:5gSeSplB0
>>794
>59.94って指定したら59940/1000になった上に
そら、そうなるわ
初めからやり直したほうがいい
2020/06/30(火) 17:39:30.96ID:9nGQcFeN0
>>806
多分そんな感じのです!
今度起きたらやってみます、ありがとうございます

>>807
結局撮り直しました
NLEだと設定で59.94選ぶだけで理由までわかってなかったんで、一つ賢くなりました

みなさん、ありがとうございました
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.
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
2020/07/01(水) 19:47:36.94ID:y0ro8GMj0
tracに報告が上がってる
https://trac.ffmpeg.org/ticket/8760
https://github.com/m-ab-s/media-autobuild_suite/issues/1725
https://github.com/Haivision/srt/issues/1382
815名無しさん@お腹いっぱい。
垢版 |
2020/07/04(土) 16:36:16.66ID:this51Mw0
コア数10のCPUを使っているのですが
エンコード中に全スレッドを使用してはいるのですが
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のエラーが直ってないんだけど・・・
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って複数起動して同時にエンコードして問題ありませんか?
見たところ、問題なさそうなのですが、
たまにファイルがバグったりしませんか?
2020/07/07(火) 22:09:27.98ID:KNbfqKim0
お前が言ってるのは、
メモ帳を2つ起動して2つのファイルを編集して問題ありませんか?
っていうレベルでくだらない。
エンコードの前にプロセスやファイルについて調べてから出直せ
824名無しさん@お腹いっぱい。
垢版 |
2020/07/07(火) 22:12:02.83ID:Q8huhYjd0
メモ帳などGUIソフトですが
ffmpegはCUIソフトなので
同時起動を想定して作られていないのではないかと思いました
2020/07/07(火) 22:19:06.46ID:wp/aeHA80
GUIもCUIも関係ないよ
2020/07/07(火) 22:24:35.73ID:Qh1mTp5C0
問題ないよ
827名無しさん@お腹いっぱい。
垢版 |
2020/07/07(火) 22:34:14.76ID:Q8huhYjd0
まじすかああああ
信じていいんですかああああ?
引っかけとかじゃないですよねええ
2020/07/07(火) 22:35:45.84ID:Sicj1tEn0
>>823
そんな意地悪な言い方しなくてもよくない?
2020/07/07(火) 22:44:42.64ID:LcKLhtXN0
>>822
作成されるファイル名次第かな
830名無しさん@お腹いっぱい。
垢版 |
2020/07/07(火) 22:48:17.09ID:Q8huhYjd0
特に数に制限もありませんか?
10個でも100個でも複数立ち上げても問題ありませんか?
2020/07/07(火) 22:52:58.63ID:LjxZ6/520
信じられないなら適当に数分の動画複数同時にエンコードしてみりゃいいじゃん
百聞は一見になんちゃらって言うだろ
2020/07/07(火) 23:15:08.15ID:LcKLhtXN0
>>830
メモリとかリソース次第かな、winならsharedSectionとか
833名無しさん@お腹いっぱい。
垢版 |
2020/07/07(火) 23:24:52.88ID:Q8huhYjd0
sharedSectionって何ですか?
 
2020/07/07(火) 23:35:01.52ID:wp/aeHA80
一般のPCで気にする必要のないものだよ
「ありがとう」と一言言って自分で実験するよろし
2020/07/08(水) 01:01:18.47ID:95Dn7/L80
vid.stabの公式ビデオって盛りすぎじゃない?
こんなにうまく作れないや
https://youtu.be/HYE3KAl8RAQ

それとも補正したいのは車の振れだから、細かな振動は検知しきれないのだろうか
2020/07/08(水) 13:36:04.17ID:sPjhTk8n0
>>828
何がどう「意地悪」なんだ?
「プロセスやファイルについて調べろ」と答えは書いてるだろ
ffmpeg以前の問題なんだよこんなこと
2020/07/08(水) 13:55:30.51ID:ZJhqS45Q0
電算機は層が多階層すぎて全ての知識持ってる事までは不要だけど
1つ下の層の知識は無いと話にならないよね
2020/07/08(水) 14:20:01.21ID:fm79ErM30
>>836
「意地悪」で通じなければ「高圧的」と言い換える
2020/07/08(水) 14:27:13.14ID:sPjhTk8n0
どこの誰か分かりもしないやつが書いてる「ただの文章」から勝手に「態度」を読み取ったつもりで文句つけてるのかw
やはりくだらんな
掲示場見るのやめろw
2020/07/08(水) 14:55:15.80ID:N0cOqy8E0
ヒントもらって偉そうに言うな
少しは調べろ
2020/07/08(水) 15:33:07.47ID:yNr26WwS0
コマンドラインで音声ファイルを変換(例えばwav→ogg)すると
先頭に無音で0.1秒くらい挿入されてしまうのですが、
オプションで挿入されないようにすることは可能ですか?
2020/07/08(水) 15:48:09.14ID:u+0gaQmn0
ほおー ffmpegのgitもコレに対応すんのかな
ストリーミングの転送量を半減する新エンコード「H.266/VVC」発表 - Engadget 日本版 https://japanese.engadget.com/h266-vvc-fraunhofer-215010995.html
2020/07/08(水) 17:13:31.61ID:ZJhqS45Q0
来てもまだ保管用に使う段階だな
標準で対応してる再生機器無いから
844名無しさん@お腹いっぱい。
垢版 |
2020/07/08(水) 17:36:20.65ID:kw2j9lWV0
https://gigazine.net/news/20200416-wd-red-hdd-smr/
845名無しさん@お腹いっぱい。
垢版 |
2020/07/08(水) 19:34:00.02ID:AzpV7qyU0
FFmpegでエンコードがどこまで進んだか
コマンドプロンプト画面上に表示する方法ってありますか?
2020/07/08(水) 20:12:16.69ID:BwUSrHEx0
デフォルトで出てなかったっけ
847名無しさん@お腹いっぱい。
垢版 |
2020/07/08(水) 20:14:49.25ID:AzpV7qyU0
>>846
動画時間は表示されるのですが、
トータルの動画時間をいちいち調べないといけないので
不便です。
2020/07/08(水) 20:31:07.55ID:FTRC+udn0
つまり何がほしいの
849名無しさん@お腹いっぱい。
垢版 |
2020/07/08(水) 20:39:39.60ID:AzpV7qyU0
何パーセントまで終了したか知りたいのですが
欲を言えばメーターを表示するとか、
数値でも良いのでパーセント表示できませんか?
2020/07/08(水) 21:05:37.38ID:ZJhqS45Q0
>>849
https://webnetforce.net/progress-of-ffmpeg/
2020/07/08(水) 21:12:24.48ID:BwUSrHEx0
大変すぎ
852名無しさん@お腹いっぱい。
垢版 |
2020/07/08(水) 21:51:26.95ID:AzpV7qyU0
ちょっと私には敷居が高すぎます
もっと簡単な方法がありましたらお教えくださいませ
2020/07/08(水) 22:12:47.57ID:sPjhTk8n0
ここまでカッチリとコードがあるのにこれ以上簡単とかどんだけだよ
もう進捗がGUIで表示されるソフト使えよw
2020/07/08(水) 22:25:47.44ID:BwUSrHEx0
知りたいのはパーセンテージでもなくて、ETAなんだよな
現在のtimeもトータルの長さも判ってて、あとは簡単な四則演算だけなのに、
何故一番知りたい部分を書かない
855名無しさん@お腹いっぱい。
垢版 |
2020/07/08(水) 22:32:01.64ID:AzpV7qyU0
VB.NETなら使い方を知っているのですが
エンコード中にFFmpegから、進捗に関する情報を取得するにはどうすれば良いですか?
2020/07/09(木) 00:19:11.97ID:UL/sc7i90
標準出力あたりに出てくるんじゃ
2020/07/09(木) 00:26:12.58ID:uvtzAyTH0
シェルスクリプトくらい読みなよ……
2020/07/09(木) 07:20:02.12ID:Pd5+XJsW0
Linux標準だから使われてるけど、速度出ない割に扱いにくいから無理ない部分もあるかもね
せめて実行ファイルの呼び出され方と標準出入力の理解は欲しい
2020/07/09(木) 08:47:42.67ID:DeHSL7E90
動画の時間わかっててリアルタイムにどこをエンコードしてるのが表示されてるんだから
見たまんまでわかれって話だよな
2020/07/09(木) 09:33:26.72ID:Pd5+XJsW0
まぁでも
demux → (seek →) decode (→ seek) → filter → encode → decode → demux
ってあって、表示される時間ってencodeの部分でしょ
予想は厳しいし表示される時間から実際の全体の時間を計ることもできなそう
2020/07/09(木) 10:32:30.03ID:r06qXH/T0
これまでの平均のエンコード速度、みたいなのは持ってないんだよな
最初予測が荒くて、だんだん正確になっていく、みたいなことが期待できない

そこから計算するんじゃなくて、開始時刻と現在時刻と、現在地点と全体の長さだけから
計算してしまえば、簡単に正確に計算できる筈だけど、
エンコーダーは知らない情報なので出力されない
一段上の奴なら知ってるけど、そんな機能は無い
2020/07/09(木) 10:50:27.93ID:81i3pLbk0
やりたいことは人それぞれだし
数こなして自分でノウハウを貯めるしかないんじゃないの?
2020/07/09(木) 12:30:27.56ID:rUG0Qktd0
>>835
その動画はdeshakeも併用してるよ
stabだけだと絶対に無理なのさ
2020/07/11(土) 20:38:07.16ID:1Gt3CyBH0
なんかRTXなのにcudaが効かないと思ってググったらnvdecってh264の444はサポートしてないのね
nvencは対応してるのになんでや
まぁデコードはCPUでもそこまで重くないからなんとかなるとはいえ
2020/07/18(土) 15:15:13.57ID:L8pmTivA0
mpeg-dashの映像とaac音声の無劣化マージいけたっけ?
2020/07/18(土) 15:22:14.81ID:G71RLvl10
いけたっけの前にできない理由がわからない
2020/07/18(土) 16:09:52.34ID:xYEpPon50
何らかのコンテナが対応してない可能性を考えたんじゃ
どうしてそうなるかは分からないけど
868名無しさん@お腹いっぱい。
垢版 |
2020/07/18(土) 19:01:14.28ID:DlfL7cYS0
ffmpegだけで逆位相ってできる?
通常の曲にカラオケ版の曲の逆位相を当ててボーカルの声だけ抽出したい
2020/07/18(土) 19:10:05.21ID:xYEpPon50
af "aeval=-val(ch)"
けサンプルの時間的な狂いなく合わせるのきつくて成功しないと思うね
2020/07/18(土) 20:01:17.77ID:gzxKUrGK0
AIでもまだ無理な分野だな
871名無しさん@お腹いっぱい。
垢版 |
2020/07/18(土) 20:10:37.82ID:DlfL7cYS0
早速ありがとう
完全でなくてもある程度抽出できれば大丈夫

それで

ffmpeg -i "対象ファイルのパス" -af "aeval=-val(ch)" "任意のファイル名.mp3"

とかでやってみたけどやり方が悪いのか元々ステレオだったのがモノラルになって出力しまう
できればステレオでやりたいんだけどどこを直せばいい?
2020/07/18(土) 20:20:29.56ID:G71RLvl10
そう言う目的なら波形編集ソフトがいいのかなあ
2020/07/18(土) 20:22:29.80ID:xYEpPon50
>>871
aeval=expr=-val(ch):channel_layout=same でやってみて

aevalは既定で、expr引数の縦棒「|」で区切ってサンプル毎に指定した式の数が出力チャンネル数になっちゃう
channel_layout引数に'same'を指定するとフィルタの入力と同じチャンネルになる
2020/07/18(土) 20:26:05.04ID:xYEpPon50
抽出(or 背景除去)は機械学習とかでそれなりにできるようにはなってるけど
学習からの予想でできたものって素材本来の味じゃないからなぁ
2020/07/18(土) 20:38:45.69ID:gzxKUrGK0
普通に画像を認識するのと同じように、時間とスペクトルの二次元データがあれば、
機械学習できる筈

問題は、スペクトルに変換するのに時間がかかりすぎること
生物は蝸牛管と脳で超並列で分析してるから簡単にやれてる
2020/07/18(土) 20:51:44.48ID:xYEpPon50
>>875
もちろん伴奏か歌唱の単体の素材もあったら今でもかなりの精度でできそう
けど素材がmix後のしか無い場合、本来の素材からは少なからずぼやけるはず
2020/07/18(土) 20:54:38.66ID:gzxKUrGK0
ぼやけるなら、変換の精度が低いんだろう
AIの出力って要は、脳内で鳴らした音を録音するようなものだから
878名無しさん@お腹いっぱい。
垢版 |
2020/07/18(土) 21:15:00.54ID:DlfL7cYS0
>>873
おお!
目的のものができた
丁寧にありがとう
2020/07/18(土) 21:15:44.13ID:xYEpPon50
精度はどこまで行っても"推測"の域を出られないからね

元の2つの波形から重ね合わせた波形は一意に決まるけど、逆に重ね合わせた波形から元の波形はほぼ無限に有り得ちゃう
学習による傾向から範囲を限定してもはっきりしたのにはできない
2020/07/18(土) 21:22:37.73ID:xYEpPon50
>>878
どうもー
タイミング調整で詰んだけど、前に位相反転でキャンセリング調整したことあったからね
素材の品位に差が無かったら上手くいったのかも知れないけど
2020/07/19(日) 09:15:04.76ID:sdyIHVp+0
hevc_nvecのb_ref_modeをeachに指定すると
Each B frame as reference is not supported
ってメッセージが出て出力できないんだけど、eachって使えないのかな
NVEncCだと--bref-mode eachが使えるから、hevc_nvecでも使えておかしくないと思うんだけど
なにか他に指定しなきゃいけないオプションでもあります?

投げたコマンドは↓で、FFMpegのバージョンは4.3
FFMPEG -y -i input.mp4 -c:v hevc_nvenc -bf 3 -b_ref_mode each -an output.mp4
2020/07/19(日) 16:49:37.72ID:rq6kjMIQ0
Zeranoe版のサイト、ずいぶん様変わりしたんだな。
2020/07/19(日) 17:41:24.03ID:rq6kjMIQ0
>>881
GPUとドライババージョンは?
2020/07/19(日) 17:45:07.44ID:rq6kjMIQ0
>>881
あと -b_ref_mode middle だとどうなる?
2020/07/19(日) 19:34:15.12ID:rq6kjMIQ0
>>881
一応調べたとこまで。

●3月時点: RTX 2080 SUPER + Game Ready Driver 442.59でも、HEVCで b_ref_mode each がサポートされてないって言われる
https://forums.developer.nvidia.com/t/details-about-nvenc-in-turing/64148/102

●ffmpegの該当エラー処理部
https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/nvenc.c#L425

 → NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE を調べて、GPUでEACHがサポートされているかを調べている。
   ここで 「EACHはサポートしとらんで」 という結果が返っているためエラーとなっている。
   (-b_ref_mode middle が通るなら、「MIDDLEのみサポートしとるで」 という結果が返っているのだと思う)

 →参考:NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODEの定義
   https://github.com/FFmpeg/nv-codec-headers/blob/master/include/ffnvcodec/nvEncodeAPI.h#L1089

●rigaya氏のNVEncCの場合
https://github.com/rigaya/NVEnc/blob/master/NVEncCore/NVEncCore.cpp#L1567

 →NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODEは調べているが、DISABLEDかどうかを見ているだけ。
   「EACHをサポートしているかどうか」はチェックしていない。

ということで、どうも each については、そもそも現時点で本当に使えるのかどうかよくわからんことになってる。
NVEncCで使えてるように見えても、実はちゃんと使われていない可能性もあるかも?

NVEncC.exe --check-features だと、B ref mode のサポート状況はyes/no表示になってるから、
yesだとしても、eachをサポートしてるのか、middleだけなのかはわからないんだよね。

とりあえず上で聞いた質問の答えを返してもらえるとありがたい。
2020/07/19(日) 20:35:00.25ID:sdyIHVp+0
1660superで、ドライバは446.14(リリース日:2020.5.27)
middleだと普通に行ける
ネット漁って使用例見てもみんなmiddleかdisableなんだよね
その可能性は考えたけど、やっぱNVEncCでもちゃんと使えてるかは不明か〜
2020/07/19(日) 22:50:44.40ID:rq6kjMIQ0
>>886
とりあえずrigaya氏のNVEnc5.11の記事にコメントしといた。

あと、NVEncC.exeで
 --bref-mode each
 --bref-mode middle
 --bref-mode disabled
をやってみて、結果に違いが出るのかどうかを確認してみてもらえるとありがたいかな。
eachでmiddleやdisableと異なる結果が出るなら、とりあえずeachでなにかやってるってことになるだろうし。
2020/07/20(月) 00:44:39.43ID:5oMYCxdy0
middleとeachで結果変わった…
rigaya氏のNVEncだと有効なのかな、それも不思議な話だ

◆投げたコマンド
NVEncC --avhw -i INPUT -c hevc -u quality --vbrhq 0 --vbr-quality 18 -b 3 --bref-mode disable/middle/each -o OUTPUT
2020/07/20(月) 00:59:34.27ID:u+vC8HPJ0
ごめん規制に巻き込まれて結果書き込みづらいが
とにかく若干eachの方が容量増えた
I,P,Bのフレーム数は変わらず
2020/07/20(月) 01:05:25.63ID:sMBTWBL30
>>888
・ffmpegのチェック処理にバグがある
・ドライバのバグで NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE に戻すべき値を間違っている
 (バグってるのはそこだけで、実パラメータとしてEACHを設定してやればちゃんとEACHとして動く)

といったことが考えられるけど、どうなんだろね。

ffmpegのソースの部分修正と自ビルドができるなら、>>885のエラー処理部のとこで
 ・NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE の戻り値をログ出力して確認
 ・該当エラー処理をうまいことコメントアウト
してみて、-b_ref_mode each/middle/disabled を比較してみるという手もある。
2020/07/20(月) 03:07:01.44ID:5oMYCxdy0
ごめんその手のスキルは持ち合わせてない

結果のログ載せようとすると弾かれるのか…
何が引っかかるのやら
2020/07/20(月) 06:23:21.56ID:ZdhxNz7z0
>>891
https://hastebin.com/
https://hardbin.com/ipfs/QmWD2J7oRBQaHSa3d4poZAcXcrUxw9LUQ78Ft9n6Gv5ksi/

ログとかはこういうので公開するといい
2020/07/20(月) 06:50:44.74ID:5oMYCxdy0
はえーいろんなサービスがあるもんだねー
貼り付けてみた
https://hardbin.com/ipfs/QmdMVabgY7pwii9v3y3ER33EzD2GdXZiiPb42WvNTYHd3b/#5axpY7gh6yoFbebjd55pYzuj1M6Z7jdpj5Zd2nLjPC9P
といっても分かるのは前述通り各フレームのサイズが微妙に変わったことくらいだけれど
2020/07/21(火) 00:52:07.66ID:UW4DncKk0
>>881の -b_ref_mode each の件、たぶん原因判明。ffmpegのバグ。
詳細はrigaya氏のブログのNVEnc 5.11の記事のコメント欄を参照。

NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE は each と middle の両方が
サポートされている場合、1(each) と 2(middle) の論理和をとって 3 を返す模様。

>>885にあるように、今のffmpegの処理は「eachをサポートしてるなら1を返すはずや!」という
チェックになっているので、それを修正する必要がある。

・・・報告ってどうやるんだっけな・・・。
2020/07/21(火) 01:16:58.75ID:75/FE8z20
>>894
みんな詳しいな、尊敬するわ
バグ報告はここっぽい
https://trac.ffmpeg.org/query?status=new&;status=open&status=reopened&col=id&col=summary&col=status&col=type&col=component&col=version&col=time&col=changetime&order=priority&report=1
2020/07/21(火) 01:36:43.18ID:V6VjZJnu0
I find bag.
This is middle and each bag.
1 + 2 is 3.
It is bag, all right?
You fix please.
2020/07/21(火) 02:00:21.01ID:oYJjamTG0
私はカバンを見つけました
2020/07/21(火) 02:20:57.74ID:UW4DncKk0
>>895
サンキュー。とりあえずチケット登録しといた。
コード修正は誰かにまかせるぜスタイルなので、フォローできる人はよろしく頼む。

  #8809 (hevc_nvenc / b_ref_mode each is not working) ? FFmpeg
  https://trac.ffmpeg.org/ticket/8809

早く直してもらえるといいな。まあ俺Turing持ってないんだけど・・・w
2020/07/21(火) 09:15:14.38ID:yhRpHULW0
bref-modeって何するもん?
2020/07/21(火) 14:03:26.48ID:xY8VAVEM0
900
2020/07/21(火) 14:35:33.57ID:y8zEtScE0
>>899
x264/x265で言うところの --b-pyramid みたいなもんじゃないかな?
Bフレームを参照するBフレームを作ることで圧縮効率を上げるみたいな。
(自分の理解が間違ってたら指摘よろ)

NVIDIAのSDKドキュメントの説明だと、
  「パフォーマンスへの影響なしに画質を改善できるので、有効にすることを強く推奨」
とされている。

 https://docs.nvidia.com/video-technologies/video-codec-sdk/nvenc-video-encoder-api-prog-guide/index.html#b-frames-as-reference

h264_nvenc で使えるのは、-b_ref_mode middle だけ。

hevc_nvenc だと middle だけではなく、(上記バグが修正されれば) each も使えるけど、
そもそもHEVCのBフレームがサポートされたのはTuringからなので、TuringのGPU(無印1650を除く)が必要。
2020/07/21(火) 15:00:23.20ID:yhRpHULW0
うちのは1660なので試してみよう
903名無しさん@お腹いっぱい。
垢版 |
2020/07/21(火) 22:57:12.57ID:hbGpSwkL0
一つの動画ファイルの中で
明るくなったり暗くなったりする動画ファイルがあるのですが
明るさの平均値が一定になるように
ホワイトバランスを設定するような機能ってffmpegにありますか?
 
2020/07/21(火) 23:06:40.06ID:oYJjamTG0
あります
2020/07/21(火) 23:37:44.96ID:yhRpHULW0
こういうのってなんで生きてるんだろうな
2020/07/22(水) 00:07:31.50ID:PnRxCa4D0
立場の低い人を困らせるのが生きがいだからだろ
言わせんな(そいつが)恥ずかしい
907903
垢版 |
2020/07/22(水) 18:45:22.19ID:Fy+7VVut0
>>904
どのコードを使えば良いかお教え願えないでしょうか?
2020/07/22(水) 18:58:42.21ID:JHY9D4oh0
知ってる訳がない
2020/07/24(金) 07:00:47.78ID:oM8O6VkH0
何がやりたいのかもう少し詳しく
とりあえずhisteqが近そうだけども
2020/07/26(日) 15:51:21.21ID:gfh2Twnh0
ffmpegOutで、2passってできる?
具体的にはvidstabを使いたいんだが、1passすら始まらずtransformでtrfファイルが見つからないとログがでる

-c:a copy
-c:v libx264
-crf 30
-vf vidstabdetect -an -f null -
-c:a copy
-c:v libx264
-crf 18
-vf vidstabtransform -y

vidstab自体はビルドできてる
detectとtransformでそれぞれプロフィールを分ければエンコできるんだが、できれば一気にやりたい
911名無しさん@お腹いっぱい。
垢版 |
2020/07/26(日) 16:07:12.41ID:gfh2Twnh0
ごめん、スレ間違えた
取り消します
912名無しさん@お腹いっぱい。
垢版 |
2020/07/26(日) 17:20:12.55ID:fCzyjOBH0
Hqdn3dでスムージングをかけながら、
動画を静止画として出力したいのですが、
なぜか反映されません。
それ以外の設定は反映されるのですが、
Hqdn3dだけは、画像出力の場合にだけ無効化される仕様なのでしょうか?
2020/07/29(水) 08:45:48.87ID:ErdE8Any0
>901
https://github.com/FFmpeg/FFmpeg/commit/466c14d10728cd315c60e602ffe3797e7dd0c3d3
なおったっぽい
2020/07/29(水) 18:53:12.25ID:oNkDnRhB0
>>913
ffmpeg-20200729-cbb6ba2-win64-staticで反映されてるね。
915912
垢版 |
2020/07/29(水) 19:11:01.67ID:+QEfK52S0
どなたかよろしくお願いいたします。

 
2020/07/29(水) 22:16:00.97ID:dqFr7O270
>>896のおかげか
2020/07/30(木) 00:34:19.53ID:1zwRp07c0
カバンが見つかってよかったね
918881
垢版 |
2020/07/30(木) 03:31:42.41ID:rv6AnFpc0
each使えるようになったけど新たな問題が…
FFMPEG -y -i input.mp4 -c:v hevc_nvenc -refs 5 -bf 3 -b_ref_mode each -an output.mp4
↑なら成功するけど
FFMPEG -y -i input.mp4 -c:v hevc_nvenc -refs <6-16> -bf 3 -b_ref_mode each -an output.mp4
のように、refsが6以上になるとエラーが出てエンコードできない
[hevc_nvenc @ 0000029fd8825340] EncodePicture failed!: generic error (20):
Video encoding failed
Conversion failed!

middleだと-refs 16でも行ける
NVEncCだとeach指定でも--refは16まで行ける
2020/07/30(木) 14:27:15.12ID:I+v0iwdb0
>>918

・意味ないかもだけど -refs のかわりに -dpb_size を使ってみた場合はどうなるかな?
  FFMPEG -y -i input.mp4 -c:v hevc_nvenc -dpb_size <6-16> -bf 3 -b_ref_mode each -an output.mp4

・何もわからない可能性もあるけど、差し支えなければ -loglevel debug をつけたログを
 テキストファイルかpastebinあたりで出してみてもらえるとありがたいかな・・・
2020/07/30(木) 14:47:32.07ID:rv6AnFpc0
NVEncCでeach使うとref 5と16の結果が一緒だった。middleは5と16の結果が違った
どうもeachだと上限5なのかな
2020/07/30(木) 21:16:14.68ID:3SzyDS+U0
>912
入力コマンドを書き込んでほしいのと
>画像出力の場合にだけ無効化
の無効化とはどのように確認しましたか。
2020/07/31(金) 02:23:31.32ID:RujOhmlm0
X265のオプションの解説にHEVCの規格上、ferは最大8まで、bフレーム有効で7、b-pyramid有効(NVENCにあるかは知らん)で6になる。エンコードするにはLevel無しのエンコードを許可するオプションが必要
とか何とかあるし、その辺でハードウェア的に対応してないとかそんなんなんじゃない?(適当)
じゃあなんでmiddleはエンコードできんねんって話だけど…
923名無しさん@お腹いっぱい。
垢版 |
2020/07/31(金) 20:38:20.66ID:H2q7LLT50
>>921
コマンドは
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "hqdn3d=500.00,format=yuv420p" -vframes 1 -qscale:v 1 -an -vsync 0 "D:\test2.png"
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "hqdn3d=500.00:500.00:0.00:0.00,format=yuv420p" -vframes 1 -qscale:v 1 -an -vsync 0 "D:\test2.png"


こんな感じです。

無効なのは、単に画像がスムージング前と変化無しだからです
2020/07/31(金) 23:02:00.79ID:oJrRErp50
hqdn3dは3次元デノイズなので最初の1フレームだけだとフィルタが効いてない。
よって2フレーム以降ならフィルタの効果がある。
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "hqdn3d=500.00,format=yuv420p" -vframes 2 -qscale:v 1 -an -vsync 0 "D:\test2%d.png"
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "hqdn3d=500.00:500.00:0.00:0.00,format=yuv420p" -vframes 2 -qscale:v 1 -an -vsync 0 "D:\test2%d.png"
2020/08/01(土) 02:23:34.70ID:3os4bqIM0
複数音声(英日)、複数字幕(英日)、チャプター情報が入ったmp4のdemuxがうまくいかずに詰んでる

ffmpeg.exe -i video.mp4 -map 0:0 -c copy video1.mp4
ffmpeg.exe -i video.mp4 -map 0:2 -c copy video2en.aac
ffmpeg.exe -i video.mp4 -map 0:3 -c copy video3jp.aac
ffmpeg.exe -i video.mp4 -map 0:5 -c copy video.csv
ffmpeg.exe -i video.mp4 -map 0:6 -c copy videoen.srt
ffmpeg.exe -i video.mp4 -map 0:7 -c copy videojp.srt
2020/08/01(土) 02:34:07.45ID:DvoqeN4P0
[srt @ 044e8ca0] SRT supports only a single subtitles stream.

Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument

Stream map '0:7' matches no streams.


ダメなのは字幕とチャプター
http://imgur.com/SQ6Wo2X.jpg
map番号は合ってると思うのだが..
2020/08/01(土) 03:28:19.87ID:nFuHjL8R0
画像見る限り5までしかないようだが
2020/08/01(土) 07:28:29.29ID:u8/you4D0
5もエラーで出力されない
2020/08/01(土) 08:49:04.46ID:H+Ki5q+80
あってないじゃん
930名無しさん@お腹いっぱい。
垢版 |
2020/08/01(土) 13:14:24.77ID:0bF8Zvaj0
>>924

確かに、一フレームだけ出力しようとするとスムージングはかからないのですが
連番ファイルとして出力するとかかるようです。
hqdn3dは3次元フィルターですが、4つあるパラメータのうち、後ろの二つは時間方向に対するサイズで
前の二つが空間方向に対するサイズなので、前の二つだけは機能してくれても良いと思うのですが・

今やりたいことは、スムージングのパラメータを変えながら、スムージングのかかり具合を調べるために
ピンポイントであるフレームだけを画像として保存したいのですが、
どうすれば良いですか?

最初からスムージングだけ処理していって、
あるフレームだけ保存するようなことはできないでしょうか?
2020/08/01(土) 17:16:47.64ID:UaBdjEjs0
いっぱい出力して、いるやつだけ残して消せばどうだろうか
2020/08/01(土) 20:47:14.65ID:oHwVoXgP0
trimフィルタを使ってピンポイントであるフレームだけフィルタを当てる。
同じフレームをコピーしてhqdn3dを使う。2番目の出力にhqdn3dの効果がある。
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "trim=start_frame=300:end_frame=301,loop=1:32767:0,hqdn3d=500.00,format=yuv420p" -vframes 2 -qscale:v 1 -an -vsync 0 "D:\test2%d.png"
前後フレームでhqdn3dを使う。2番目の出力にhqdn3dの効果がある。
"D:\fmpeg.exe" -ss 0 -y -i "D:\test.mkv" -vf "trim=start_frame=300:end_frame=302,hqdn3d=500.00,format=yuv420p" -vframes 2 -qscale:v 1 -an -vsync 0 "D:\test2%d.png"
2020/08/01(土) 22:33:22.89ID:PeoZKIHv0
>>925
mp4のチャプタをxmlファイルなんかにエクスポートするにはどうしたらいいんだ?
メタデータから読み出さないとダメみたいだけど、
チャプタを付加する方法は見つかるのに、抽出する方法が見つからない。
2020/08/01(土) 22:40:54.23ID:oHwVoXgP0
ffprobe -i "video.mp4" -show_chapters -of xml > ch.xml
2020/08/01(土) 23:31:14.63ID:PeoZKIHv0
>>934
レスありがと
でも、この形式だと、そのままでは他で流用できないねぇ
汎用性のあるチャプターファイルの形式ってなんだろう?

Neroチャプター形式(TXT)
Appleチャプター形式(TXT)
BIFS/OD形式(よくわからん)
ffmpegMetadata形式(INI)
matroskachapters形式(XML)

とりあえず、mpvのスクリプト(createchapter.lua)で簡単に作成できるmatroskachapters(xml)がmkvtoolnixに対応してるので、
これを使ってチャプタ付きmkvを作成、ffmpegでmp4に変換、という手順でやってる。
2020/08/02(日) 00:37:04.10ID:2PvHZjFV0
あー。xmlならmp4boxでdemuxした時に確かに生成されるな
937名無しさん@お腹いっぱい。
垢版 |
2020/08/10(月) 01:37:04.74ID:OljsJD7n0
監視カメラのmp4データ(7000kbps、30フレーム)を、HLS形式(m3u8形式)にffmegで変換できましたが、
その際、ultrafast でも変換するのに再生時間と同じ程度の時間がかかります。

変換後のサイズは気にしないので圧縮に時間かかるのだったら圧縮したくないんですが、
時短のためのなにか良いオプションあるでしょうか。

現在は次のコマンドラインで変換しています。

ffmpeg -i 変換前.mp4 -vcodec libx264 -preset ultrafast -start_number 0 -hls_time 2 -hls_list_size 0 -f hls 変換後.m3u8

使用しているCPUは2GHzくらいのもの2コアです。
変換中は100%使用率になります。
2020/08/10(月) 06:44:01.75ID:mT2JHhD20
サイズ縮小する時に、CPUが律速してGPUは遊んでるんだよな
もっとGPUに仕事を回せないものか
2020/08/10(月) 07:11:54.94ID:L4lGNE3u0
どうせ自分でCPUでエンコードする設定にしておいて
何言ってんだ?ってところだろ…
2020/08/10(月) 08:16:05.83ID:Dt5KRjf/0
監視カメラの映像で7000kbpsもいるのかどうか知らんけど単純にビットレートを落とせばいんじゃね
7000kbpsじゃ時間かかって当たり前なんだから使用上問題が出ないレベルまで落とすしか無いでしょ
2020/08/10(月) 09:20:35.59ID:jNB6Q27b0
2GHzの2コアなら時間がかかって当たり前
それとエンコード後の拡張子m3u8は違うと思う
942名無しさん@お腹いっぱい。
垢版 |
2020/08/10(月) 09:59:47.38ID:OljsJD7n0
>>940
レスありがとうございます。
元データの品質を落とすことも考慮したいと思います。

>>941
m3u8とは別に、たくさんのファイルができました。
これらのファイルが細切れになった実際の映像データです。


元データの品質のまま、たんに細切れにするだけなら、
処理に時間がかからなさそうに思うんですが、
そのようなオプションはあるでしょうか。

現在使用しているのは、>>937のとおりです。

もしなければ、元データの品質を予め落とすようにするしかありません。
2020/08/10(月) 10:13:43.43ID:mT2JHhD20
配信するの?
2020/08/10(月) 10:14:18.74ID:6lndBV1F0
>>942
変換前も普通にH.264なら
-vcodec libx264 -preset ultrafast
の代わりに
-c:v copy
で行けると思うけど。
2020/08/10(月) 10:45:57.31ID:moAiggyZ0
サイズ気にしないなら-c copyが一番速い、はず
2020/08/10(月) 12:41:15.76ID:cI/ydpko0
2GHz2コアだったら4Ghz10コアにするだけでめっちゃ早くなって解決って気がするけど
18とか32コアからアップグレードとかだとコスパ悪くなるけど
2020/08/10(月) 13:01:37.36ID:mT2JHhD20
CPUそのままでGPUで加速するから面白いのに
2020/08/10(月) 22:56:09.51ID:OljsJD7n0
>>944 >>945
レスありがとうございました!!

いけました。高速で変換できました!
こうしたかったんです。


>>946 >>947
2コアは心もとないので、Raspberry pi 4 8GB(4コア) を使うことにしました。
上の変換は、copyだけど、スーッといけました。
外部HDDディスクをusb3.0で接続、マウントしています。

>>943
nginxとイントラネットで、自分用に監視カメラの映像をHLS配信します。


皆様、どうもありがとうございました。
がんばります。
2020/08/13(木) 21:47:25.31ID:CFOAI0KV0
テストで組んだリストリーミング環境で、ffmpegがどうしても数10分後に停止してしまいます。(1)
あと、視聴ソフトウェアで確認できる映像ではリアルタイムとの遅延が10秒程度ありいつまでもその差が埋まりません。(2)

[camera]→rtsp→[PC1 / ffmpeg]→rtmp→[PC2 / nginx]→視聴ソフトウェア

PC1のffmpegは次のようにしています。
上流のcameraからrtspでストリームを掴んで、変換後に、下流のnginxにrtmpで流しています。
ffmpeg -i rtsp://user:pass@192.168.1.2:554/h264/stream -c h264 -an -r 15 -s 720x406 -b:v 512k -f flv rtmp://192.168.12.15/live/cam1

PC2のnginxのrtmp設定は次のようにしています。

rtmp {
server {
listen 1935;
access_log /var/log/nginx/rtmp_access.log;

application live {

live on;

}
2020/08/13(木) 21:47:44.30ID:CFOAI0KV0
最下流の視聴ソフトウェアVLCでrtmpでnginxに接続して、cameraの映像と音声を数10分間は受信できました。
ところが、しばらくすると、映像が止まってしまいます。音声のみ聞こえます。再接続しようとしても駄目です。

このとき、ffmpegの最初にある項目のframeカウントが停止してしまっています。
frame=10396 fps= 14 q=31.0 size= 43611kB time=00:11:31.26 bitrate= 516.8kbits/s dup=0 drop=10392 speed=
それ以外の、最後の項目のspeedの数値は動いているのでffmpegがフリーズしているわけではないと思います。


ffmpegを再起動してから、視聴ソフトでnginxに再接続すると再生できますが、また同じように映像は停止します。

(1)(2)について何か設定を工夫する必要があると思うのですが、
どのように設定すればよいのでしょうか。
2020/08/13(木) 21:52:39.23ID:CFOAI0KV0
>>949
すみません、ffmpegのコマンドはこっちでした。

ffmpeg -i rtsp://user:pass@192.168.1.2:554/h264/stream -vcodec copy -c:a aac -f flv rtmp://192.168.12.15/live/cam1
2020/08/13(木) 21:53:53.12ID:CFOAI0KV0
>>951
訂正
映像だけでなく音声も停止しました。
2020/08/14(金) 11:14:42.41ID:VrGtMuee0
>>949
自己解決しました。

(1)
-rtsp_transport tcp -stimeout 10000000 をつけるとffmpegが止まらなくなりました。
安定して動作しています。
tcpが有効に作用したと思います。

(2)
ライブ映像の遅れは、早送りすると追いつくことができました。
2020/08/14(金) 11:24:31.45ID:jiTbT3oz0
解決して良かったね
特殊な理由なければFlashのRTMPじゃなくてHLSストリーミングお勧めしたい
2020/08/14(金) 12:26:19.15ID:CTsuUgIZ0
すぐ上の人とは別人なのか
2020/08/14(金) 22:48:56.90ID:VrGtMuee0
>>955
>>937はわたしです。その節はお世話になりありがとうございます。

>>954
レスありがとうございます。

rtmpではなく、今HLSライブストリーミングテストしています、
video.jsの最新のものでは、HLSライブのものでも巻き戻しもできるので便利です。
2020/08/14(金) 22:54:45.10ID:VrGtMuee0
>>956
このvideojsのライブ巻き戻し再生に関して、
何か設定が悪いのか、巻き戻し、早送りの反応がとても悪い。
30秒以上待たされることもあります。
なにが悪いんだろう。tsファイルを検索するnginx側だろうか?

カウント0から再生とライブ再生に戻すのは早いんですけどね。

もうしばらくググりながら悩む必要がありそう。
2020/08/14(金) 23:20:05.03ID:3DNoaat90
>>956
もうHLSの試行したの!?驚き
動きも適応も早くて尊敬します

ライブラリvideo.jsには詳しくなくて力になれない……惜しい
2020/08/15(土) 13:43:44.65ID:lFRQ78oW0
地デジtsから副音声を抽出したい
しかし

Program 1040
Stream #0:2[0x112]: Audio: aac

Program 1041
Stream #0:2[0x112]: Audio: aac

と、まるで同じ
どうやって副音声側1041の0:2を指定する記述をすればよろしいのでしょうか。。。

-map 0:2
では当然のごとく1040側の主音声が抽出できるだけ。。。
2020/08/15(土) 13:53:33.97ID:dyy4f/UD0
クレヨンしんちゃん予約しといた
2020/08/15(土) 14:10:03.23ID:sRgeJH1o0
検索すると-dual_mono_modeで指定するみたいな記事があるけどドキュメントにそんなオプションないよね…
2020/08/15(土) 15:08:57.70ID:lFRQ78oW0
>>961
どうもです
mapをそれに置き換えて記述しても主音声が抽出されるだけでした
2020/08/15(土) 15:34:58.69ID:sRgeJH1o0
本当にここで聞きたいならffprobeの結果とか実際に使ったコマンドとか書いたほうがいいよ
964名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 19:54:33.34ID:nNgrTpHl0
FFmpegを使って、輝度値の倍率って設定できますか?
例えば、赤色の輝度値が1.2倍、青色が0.8倍、緑も0.8倍みたいな設定をしたいのですが、
brightnessで輝度値は設定できるのですが、
これは倍率ではなく、オフセットのため、使うことができません。

C#とかだと、輝度値の倍率とオフセットを別で設定できるのですが
FFmpegでもできないでしょうか?
2020/08/16(日) 20:41:57.08ID:SDeDnwOS0
Program 3104
Metadata:
service_name : ?|?A?
service_provider:
Stream #0:1[0x111]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR4:3 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Side data:
cpb: bitrate max/min/avg: 20000000/0/0 buffer size: 9781248 vbv_delay: N/A
Stream #0:2[0x112]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 186 kb/s
Stream #0:3[0x113]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 190 kb/s
Stream #0:4[0x116]: Subtitle: arib_caption (Profile A) ([6][0][0][0] / 0x0006)
Stream #0:5[0x117]: Data: bin_data ([6][0][0][0] / 0x0006)
Program 3105
Metadata:
service_name : ?|?A?
service_provider:
Program 3106
Metadata:
service_name : ?|?A?
service_provider:
Program 3488
Metadata:
service_name : ?|?A?
service_provider:
Program 3108
Metadata:
service_name : ?|?A?NW;~
service_provider:
No Program
Stream #0:0[0x12]: Data: epg
Unsupported codec with id 98306 for input stream 0
Unsupported codec with id 96272 for input stream 4
Unsupported codec with id 100359 for input stream 5
2020/08/16(日) 20:48:14.61ID:Uqhv11Pq0
>>964
lut〜ってフィルタなんかでいけるはず
967名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 21:03:35.40ID:Tx8kWVMc0
3、4年前にコンパイルしたffmpeg(3.4)使ってたけど、そろそろAV1に対応させようかと思って
久しぶりにコンパイルに挑戦したらつまずいた。ちなMac(10.14)。
3.4の./configureオプションはこんな感じ↓

./configure --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libx264 --enable-libx265 --enable-libvpx --enable-libfdk-aac --enable-libvorbis --enable-libopus --enable-libmp3lame --disable-ffplay --disable-ffprobe --disable-ffserver --enable-small

『pkg-config』オプション
./configure --prefix=/usr --with-pc-path=/usr/local/lib/pkgconfig --with-internal-glib

『libx264』オプション
./configure --prefix=/usr/local --enable-static

『libx265』オプション
cd x265path/build/linux
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DENABLE_SHARED=NO ../../source/

『libvpx』オプション
./configure --prefix=/usr/local --disable-shared --enable-static --disable-unit-tests

『libvorbis』オプション
./configure --prefix=/usr/local --with-ogg-libraries=/usr/local/lib --with-ogg-includes=/usr/local/include --disable-shared

『上記以外のコーデックとyasm-1.3.0、nasm-2.15.03』オプション
./configure --prefix=/usr/local --disable-shared
968名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 21:09:59.58ID:Tx8kWVMc0
>>967
まずlibaomとlibrav1eがコンパイルできん。仕方がわからん。
oggをコンパイルして次にvorbisコンパイルしたらエラーが出よる。
libaomとlibrav1eは諦めて本体コンパイルしたらコーデック無いって出よる。
それから--disable-ffserverってオプション無いって。これは外せばいいんだろうけど。
969名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 21:13:28.29ID:Tx8kWVMc0
>>968
libx265は

cd x265path/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local/share/cmake-3.18 -DENABLE_SHARED=off -DENABLE_NASM=on ../aom

ってすればできた。あとはわからん。エロい人教えて。
970名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 21:22:28.89ID:Tx8kWVMc0
>>969
下の間違い。

cd x265path/build/linux
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/share/cmake-3.18 -DENABLE_SHARED=NO ../../source/

cmake-3.18もコンパイルしてインストールした。
2020/08/16(日) 22:17:12.12ID:VkSMfHJN0
https://trac.ffmpeg.org/wiki/CompilationGuide/macOS
詳しくは知らない

https://ffmpeg.zeranoe.com/builds/
でmacOSのバイナリ配布している
972名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 22:18:49.54ID:sG1wc5El0
なんでコンパイル方法をテンプレにまとめてないわけ?
試行錯誤しなくても説明どおりにすればサルでもできるような。
まず本家からソースコードしか配布されてないってとこがffmpegの敷居を高くしてるんだよ。
5ch・2chにまとめられてればありがたい。ググって出てくるのはわかりにくいんだよ。
初心者はパスの入力なんかでもつまずく。AVファンがパソコンに詳しいとは限らないから。
WinとMac、それぞれのビルド方法をだれかテンプレ化してくれ。サルでもできるようなやつな。
2020/08/16(日) 22:27:02.61ID:ZVmM0seZ0
ffmpegのフルコンパイルは熟練者でも厳しいからなあ
974名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 22:30:21.98ID:sG1wc5El0
>>971
その公式のコンパイルガイド見ただけでできるような初心者は
一人もいない。何日も試行錯誤しないといけない。
よそがビルドしたバイナリ版はいらんのがいっぱい入ってるし
必要なlibfdk-aacが入ってない。第一怪しい←ここ重要
よそが配布したhand brakeにマルウェア仕込まれてたことあっただろ。
やはり自分でソースコードからコンパイルしたい。
975名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 22:33:38.18ID:nNgrTpHl0
>>966
LUTフィルターを調べてみましたが
1Dとか3Dとかあっていまいちよく分かりませんでした
コードを見せていただけないでしょうか?
2020/08/16(日) 22:34:34.36ID:SDeDnwOS0
みんなもビルドして使ってね
という趣旨じゃないからな
ソースコード開示義務があるから自力でビルドすることも可能というだけで
レシピすら無い夕食材料セットみたいなもん
2020/08/16(日) 22:44:17.55ID:xu73v8LW0
ネタにマジレスするけどコンパイルするならDockerとか使ったほうが楽だぞ
Linux以外のバイナリについては知らん
978名無しさん@お腹いっぱい。
垢版 |
2020/08/17(月) 00:19:16.63ID:XeOA6k6+0
ネタではない。見ればだいたいわかるだろ。
MacにはHomebrewあるけど使いたくない。
コンパイルすりゃしまいじゃん。

>ソースコード開示義務があるから
>>976
そんな義務あるんか。知らんかったわ。
ソースコード開示されてなかったらvlcとかChromeとかに組み込めないけど
そんな義務あったんか。

>>973
だからやり方さえ詳しく書いてあればあとはコピペするだけだからサルでもできるやん。
2020/08/17(月) 00:32:11.62ID:FEiKD+L30
ffmpegのバージョン、ライブラリのバージョンでやり方が変わるからだめなんだよ
すぐ使えなくなる
980名無しさん@お腹いっぱい。
垢版 |
2020/08/17(月) 00:41:16.89ID:XeOA6k6+0
>>979
そうみたいね。わいも前は試行錯誤の末にできた方法でやったら
今回はダメだった。
だから5ch・2chのこのスレだったらタイムリーに更新できるじゃん。
このスレに来れば常に確実な方法がわかる、って感じにしようず。
2020/08/17(月) 06:29:43.99ID:4Dns2W820
>>980
お前がすればええやん
2020/08/17(月) 18:19:46.95ID:7juacBpw0
ffmpegならこちらへ 5
https://egg.5ch.net/test/read.cgi/software/1597315425/
2020/08/17(月) 20:56:00.97ID:ccgVI60I0
https://github.com/markus-perl/ffmpeg-build-script
ビルドスクリプト使っては
984名無しさん@お腹いっぱい。
垢版 |
2020/08/17(月) 21:11:14.94ID:tUgUnE3P0
Winだけど、ffmpegのビルド方法まとめてほしいよね
ビルドスクリプト使ったらエラーでビルドできなかった(>>983とは別物)
2020/08/17(月) 21:22:41.28ID:iNbka2BJ0
>>983
スクリプトは便利なんだけどね
fdk-aacやopusといったライブラリを追加で入れようとすると途端に融通が利かなくなって・・・
2020/08/17(月) 22:07:26.54ID:0vhyggWz0
というかビルド作業って中途半端に抽象化・カプセル化されてて、皆何となく使えちゃってる気がする
その弊害として実際に踏まれてる手順が分からないし、他の環境・対象向けに応用するやり方も分からなくなってる
2020/08/17(月) 22:07:52.73ID:0vhyggWz0
パッケージ管理ツールに頼らず自前でビルドするこの際、gitとかGNU makeみたいな役割が単純明快な基本的ツールでのビルドの汎用手法纏めなきゃなのか……
2020/08/17(月) 22:08:58.29ID:NxZrMJBD0
ビルドしたことないけど、makeじゃないの?
2020/08/17(月) 23:23:37.29ID:0vhyggWz0
>>988
多分何も言わなかったらmakeと言えばGNU makeだと思う
あんま詳しくないから拾ってきたもの

・GNU make (UNIX系、Windows)
・BSD make (UNIX系)
・Schily make
・nmake / Microsoft Program Maintenance Utility (Windows)
・Borland make (Windows)
・Solaris make (Solaris)
2020/08/17(月) 23:30:25.63ID:mCXiLXWV0
./configure
make
make install
2020/08/17(月) 23:53:16.00ID:OTuExVUg0
ArchlinuxのAURにあるffmpeg-fullのPKGBUILDとか見たらいいよ
AV1はパッチ当ててる
992980
垢版 |
2020/08/17(月) 23:55:07.81ID:3LjqniNC0
>>981
一応ffmpeg-4.3.1でコンパイルできた。libaomとlibrav1eは諦めた。
libaomは実時間の100倍かかるなんて記述もあるし、まだいいかなと。

ちなみにワイの環境ではvp9は実時間の15倍くらい。最初は実時間の8倍くらいの
速度でエンコードするんだけど、ものの数分でサーマルスロットリンクが発生して
速度が落ちる。iMacの性能は本当に低い。今3年前のiMac使ってるけど、9年前の
iMacと比べて速度はほぼいっしょ。変わったのは古いのは本体の一部が火傷する
くらいに熱くなってたけど今のはほんのり温かくなる程度なとこぐらい。
古いのでエンコしまくってたらすぐつぶれた。新しいのはそういうのはないだろう。
たぶんcpuが速度落とすより前にMacがリミッターかけてるんだと思う。
つぶれないように。でも最近はワイほとんどエンコしてない。それはさておき。

libaomとlibrav1e以外は、前と同じだけ全部入れてコンパイルできた。
これで前と同じ環境、プラスAV1でエンコはできないけれどAV1の「認識」はできる
ffmpegバイナリを手に入れることができた。おおむね満足してる。

Mac使ってる人でサルでもわかるように今回のビルド方法まとめてほしい人いる?
ただしx265とliboggとlibvorbisは最新のではなく以前ビルドしたときと同じ
古いバージョンを使ってる。それだとうまくいった。
またx264も古いバージョンのを使ってる。以前ビルドした時、当時の最新
バージョンは設定どおりのビットレートでエンコできないバグがあったから
バグのない古いバージョンでビルドしたんだけど、今回もそれを使ってビルドした。
最新のはそのバグは解消されてると思うけど、検証すんのめんどくさい、
てかできない。まあこれで問題なく使えるんならいいでしょってことで。
以上を了解できるならまとめてもいいよ。
2020/08/18(火) 06:23:46.44ID:mHCFhUSS0
方法そのまま教えるのは魚をあげるのと同じだからなあ
そもそもmakeとは、から始まって、
素直にビルドできない原因と解決方法を個別に説明してくれる方が有り難い
994名無しさん@お腹いっぱい。
垢版 |
2020/08/18(火) 07:57:59.50ID:AM/qOxOj0
>>978
やり方書いてあっても難しい
ライブラリ群の依存関係とか、ライブラリのバージョンが変わったらビルドエラー出たりとかで
それを一つ一つ潰していってやっとビルドできる。 それで安心してたら次のリビジョンアップで
またビルドできなくなったりと苦難の連続だよ
2020/08/18(火) 08:10:28.22ID:mHCFhUSS0
全部最新だと通らなくて、わざと古いままにする必要があるとかそういう系?
2020/08/18(火) 08:29:58.58ID:yR2+k7Pc0
前にビルドしたけどx265とx264がマルチコアに対応させれられなくて諦めたんだけど
そのへんうまくいってる?
997名無しさん@お腹いっぱい。
垢版 |
2020/08/18(火) 11:34:26.70ID:Z3eCd2WC0
./configure
make all
make install
make clean
2020/08/18(火) 12:25:26.70ID:V/x7qTSR0
全部最新で通らなかったなんてこと起きたことないなあ
2020/08/18(火) 13:06:54.95ID:9hQsNyMT0
505
1000名無しさん@お腹いっぱい。
垢版 |
2020/08/18(火) 13:09:15.39ID:b+U/zleH0
O2
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 485日 11時間 57分 46秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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