ffmpegならこちらへ 4at SOFTWARE
ffmpegならこちらへ 4 - 暇つぶし2ch450:
20/01/01 11:57:13.73 KxGMhbTH0.net
中國四


451:千年



452:名無しさん@お腹いっぱい。
20/01/01 12:42:36.41 3H4z+qrC0.net
>>434
--bluray-compat

453:名無しさん@お腹いっぱい。
20/01/01 14:51:01.82 1y+fbra00.net
>>436
レスありがとうございます
(略) -level:v 4.1 -bluray-compat 1 -maxrate (略)
とはさんだり、
-x264opts bluray-compat 1
を追加してもダメでした。

454:名無しさん@お腹いっぱい。
20/01/01 15:55:18.52 /T467HoW0.net
>>434
公式?っぽい文書
480p (NTSC) - Authoring a professional Blu-ray Disc with x264
URLリンク(www.x264bluray.com)

455:名無しさん@お腹いっぱい。
20/01/01 20:02:46.38 aRdYuDGi0.net
>>431
レス遅くなりました。
記載いただいたもので再生時間も変更されました。
ありがとうございます。
これは再エンコードされているのでしょうか?
無劣化コピーしたかったのでcopyとしていたのですが、今後はこちらで対応しようと思います。

456:名無しさん@お腹いっぱい。
20/01/01 21:09:03.23 /T467HoW0.net
>>439
あのコマンドの場合、問題なのはコピーじゃないと思う
-codec(-c) に出力先が指定されてるのが原因じゃないかな

457:名無しさん@お腹いっぱい。
20/01/01 23:49:33.54 3CqkgmM20.net
30pは規格外では?
インタレ偽装してみるとか? fake interlaced

458:名無しさん@お腹いっぱい。
20/01/01 23:56:08.33 3CqkgmM20.net
Nvidiaハードエンコ希望かw
フレームレートオプションだけ24にして赤字が消えれば30Pで赤字ってことなので一度お試しを
ソフトエンコx264に頼るならペガシスの有料ソフトでいいもんな

459:名無しさん@お腹いっぱい。
20/01/04 17:14:14.95 9YAeYq8B0.net
映像フィルター「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

460:名無しさん@お腹いっぱい。
20/01/04 17:18:13.96 9YAeYq8B0.net
結構需要ある処理だと思うから普段お世話になってるニコラボの管理人にも
ぜひコマンド載せてってお願いしておいた

461:名無しさん@お腹いっぱい。
20/01/04 22:31:06.21 T9NlC88M0.net
>>444
彼はここ見てると思うよ。

462:名無しさん@お腹いっぱい。
20/01/04 22:38:35.62 WbD6IUlG0.net
URLリンク(www.nikolabo1201.com)
これ?

463:名無しさん@お腹いっぱい。
20/01/05 12:17:42.42 zY6GxelV0.net
>>445
そうなのか
検索してもこのスレ上がりにくいから、元々の5ch民ぐらいしか見てないと思ってた
>>446
おしゃれ……だけどこっちね nico-lab.net

464:名無しさん@お腹いっぱい。
20/01/05 14:23:04.95 XRyKbmKZ0.net
URLリンク(nico-lab.net)


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” どれ?

465:名無しさん@お腹いっぱい。
20/01/05 14:54:05.67 zY6GxelV0.net
>>448
URLリンク(nico-lab.net)
縦棒はパイプ(入出力)で、ffmpeg外の機能
ffmpegの実行環境は知らないけど、シェルスクリプトを実行するコマンドラインなら使えると思う

466:名無しさん@お腹いっぱい。
20/01/05 15:52:40.71 XRyKbmKZ0.net
>>449
ありがとう
勉強になりました

467:名無しさん@お腹いっぱい。
20/01/05 20:46:51.58 CxLVSFhj0.net
パイプ知らん人はまずffmpegより先にCLIの基本的なコマンドを覚えたほうが良いのでは

468:名無しさん@お腹いっぱい。
20/01/06 01:04:35 bjUkHhZ90.net
とりあえず体当たりで試せばええねん
cmdのコマンドを覚えたって動作が分からないと価値なしだから

469:名無しさん@お腹いっぱい。
20/01/06 18:55:25.51 tHzmfnQP0.net
パイプってちゃんとバイナリで渡るの?

470:名無しさん@お腹いっぱい。
20/01/06 19:00:22.37 D+fMHCWY0.net
>>453
いや標準入出力だから…

471:名無しさん@お腹いっぱい。
20/01/06 19:26:29.53 zq60sS7H0.net
標準ストリームで調べようね

472:名無しさん@お腹いっぱい。
20/01/07 00:42:19.72 q3zvm4020.net
バイナリーで送受信双方が対応してたら大丈夫
普通はテキストしか流さない紳士協定

473:名無しさん@お腹いっぱい。
20/01/07 13:06:34 Tej63GB90.net
パイプの話だけど
テキストで 0x0A しか送ってないのに受信側は勝手に 0x0D, 0x0A になったりしない?
なってるとしたらアプリ側の責任?

474:名無しさん@お腹いっぱい。
20/01/07 16:03:41.72 q3zvm4020.net
>>457
テキストで開けてるからだろ。バイナリモードで標準入力あけるとよろし

475:名無しさん@お腹いっぱい。
20/01/07 17:25:08.87 +luKHcgZ0.net
>>457
Windowsの場合テキストモードの影響じゃない?
\n(0x0A)で出力すると勝手に \r\n(0x0D,0x0A) に変換される奴
URLリンク(docs.microsoft.com)
>stdin、stdout、stderr ストリームは常に既定でテキスト モードで開きます。

476:名無しさん@お腹いっぱい。
20/01/07 20:50:33.25 CwdSPkUN0.net
Windowsでffmpegのパイプや標準入出力を使ってるけど、
バイナリ、テキスト意識したこと無いねぇ。
自分の使い方程度だと、普通に使えてるし。

477:名無しさん@お腹いっぱい。
20/01/07 21:01:52.35 GR1HfjYT0.net
普通はテキストでしか使わないからな

478:名無しさん@お腹いっぱい。
20/01/07 23:35:52 +luKHcgZ0.net
そもそもコンソールアプリで標準入出力をバイナリにするってのがおかしいのでは?
コンソール入出力が前提(基本)なんだろうし
決まってバイナリデータ扱うなら専用にファイルハンドル開くべきだと思うし

479:名無しさん@お腹いっぱい。
20/01/07 23:47:23 GR1HfjYT0.net
そのへんを踏まえた上で
>>454 >>455 あたりの知ったかが痛すぎてニヤニヤが止まらない

480:名無しさん@お腹いっぱい。
20/01/08 00:10:21 qu6jme/40.net
テキストもバイナリだろ!(燃料投下)

481:名無しさん@お腹いっぱい。
20/01/08 01:05:41 FZp23yF10.net
>>462
そういう穴をふさいだPower Shellは動画エンコ界隈ではハブられてるという・・

482:名無しさん@お腹いっぱい。
20/01/08 04:27:00.15 PsBB24jj0.net
WSL使えるようになったしbashで書くようにしてもいいかな

483:名無しさん@お腹いっぱい。
20/01/08 13:49:45 W55wOrdc0.net
そもそも、コマンドプロンプトでffmpegを使うのは苦行だよ。
コードページ変えないとステータスが読めないし、
名前をつけてログというか、リポートを保存しようとすると、
普段使わないようなエスケープをしないとダメだし。
¥はわかるが、:もエスケープしないといけない。

484:名無しさん@お腹いっぱい。
20/01/08 22:43:32.41 FZp23yF10.net
batが完成したらあんまり触らないから問題ないような気がする

485:名無しさん@お腹いっぱい。
20/01/08 22:49:44.05 6PYr6RwU0.net
オプションで > を使わないといけないCLIのツールとかある

486:名無しさん@お腹いっぱい。
20/01/08 22:56:13.19 hFCa+hCu0.net
オプション(任意)なのか使わないといけない(強制)なのか分からないけど
オプション(任意)指定するうえで使わないといけない(強制)のならいいんじゃね?

487:名無しさん@お腹いっぱい。
20/01/08 23:05:24.17 6PYr6RwU0.net
オプションというのは近くに浮いてて敵を倒す火の玉のことだよ

488:名無しさん@お腹いっぱい。
20/01/08 23:05:52.27 MW4qGDZZ0.net
それにしても、ffmpegって、ファイルパスを指定してリポート出力するのに
なんで環境変数への代入が必要なんだ?
オプション一発でできれば、変なエスケープしなくていいのに。

489:名無しさん@お腹いっぱい。
20/01/09 11:21:55 l6wUGPlg0.net
オプションをファイルから読むオプションもあるやろ

490:名無しさん@お腹いっぱい。
20/01/09 16:40:03.04 MQvo5LRv0.net
そもそもオプション指定できないものを
オプションリストファイルの読み込みで指定することはできないでしょう。

491:名無しさん@お腹いっぱい。
20/01/10 11:07:35.32 k7MK+gEd0.net
ffmpegでインタレ解除をしたいのですが、エンコードせずcopyで実施することは可能でしょうか?
手元にtsファイルがあるのですが、フォーマットを調べるとAVCとなっています。
通常のtsはMPEG-2だと思うのですが。
拡張子はtsを名乗っているけど、中身の実態としてはmp4でも問題ない状態ということ??

492:名無しさん@お腹いっぱい。
20/01/10 11:09:58.56 RZDGQsyr0.net
TSはコンテナなので、Blu-rayとかからのやつならMPEGではないのもある

493:名無しさん@お腹いっぱい。
20/01/10 11:44:49.15 k7MK+gEd0.net
ありがとう。
エンコードは必ず伴うってことですよね。

494:名無しさん@お腹いっぱい。
20/01/10 18:55:53.89 ib6ASn3F0.net
>>477
コーデックとコンテナの違いは理解した?絶対理解しといた方がいい
拡張子はそのファイル形式(フォーマット)に対応してて、.mp4ならMP4、.tsならMPEG-2 TS
テキストファイルなら文字列、MP4なら映像・音声・文字列って風に、ファイル形式は内容のメディア形式を限定する
コーデックは符号化形式の事で、.txtなら文字コード、.mp4なら文字コード・MPEG-2・MPEG-4 AVC・AAC・……って風にメディア形式に対応してる
動画ファイルみたいな多重化(複数のメディアの包含)するファイル形式が多重化ファイル形式、つまりコンテナってこと

間違いとしては、拡張子が.tsでも内包されるコーデック/メディア形式は1つじゃないし、MP4は中身=コーデック/メディア形式じゃないよ

495:名無しさん@お腹いっぱい。
20/01/10 18:55:53.89 WqyP3Wwa0.net
どういう理屈だ

496:名無しさん@お腹いっぱい。
20/01/10 18:57:43.11 ib6ASn3F0.net
>>478 >>479
タイムスタンプ一致……100ミリ秒まで一致とか運命感じそう

497:名無しさん@お腹いっぱい。
20/01/10 21:37:04.69 k7MK+gEd0.net
>>478
しっかり説明しろって言われたら多分できないけど、ざっくり。
コンテナは映像と音声を格納する箱でしかなくて、映像がどういった形式でエンコードされているかはそれぞれ。
ものによっては、フォーマットがこれだから拡張子がこれってわけじゃないってことだよね。
ちなみにこの指摘があるってのは、エンコードせずにインタレ解除できる??

498:名無しさん@お腹いっぱい。
20/01/10 21:47:36.79 eAeNdWSd0.net
インターレースかどうかってフラグ管理じゃないから無理では

499:名無しさん@お腹いっぱい。
20/01/10 21:59:14.83 k7MK+gEd0.net
そうですよね。
MBAFFって出てくるんですが、フレームレートが29.97なのを59.94にして、
エンコードし直す必要ありますよね。
(インタレ解除後のフレームレートをいくつに指定したらいいのかはあまり分かってません。
が、アニメじゃないので2倍かなと・・

500:名無しさん@お腹いっぱい。
20/01/10 22:26:30.84 ib6ASn3F0.net
>>481
残念ながらインターレース用に符号化されちゃってるから、トランスコードしないと順次走査はできないね……
あと60fps飛び越し走査は飛び越した分が半分だから、順次走査の30fps
つまりインターレース解除したらフレームレートは倍増じゃなく半減すると思う

501:名無しさん@お腹いっぱい。
20/01/10 22:42:02.54 WqyP3Wwa0.net
インタレースは解除せずに再生時に解除すればいい
解除してしまうとそれが正解だったか判らない上にもう戻せない

502:名無しさん@お腹いっぱい。
20/01/10 23:10:06.22 RZDGQsyr0.net
出来るだけオリジナルのまま、が正しい
インタレ解除は再生時がいちばんつぶしが利く

503:名無しさん@お腹いっぱい。
20/01/10 23:16:31.30 6Sg2e/y00.net
>>483
MBAFFも29.97だよ(そもそもフレームレートが変わったらインタレ維持にならない)
フレームレートは基本的に指定しなくてもいい
vf使わなければインタレのままエンコされるし、フィルタでフレームレートが変わったら自動で指定される
ちなみにx265などx264以外ではインタレ維持は諦めて

504:名無しさん@お腹いっぱい。
20/01/11 19:17:57.83 XlWX2Wof0.net
こんな感じでデノイズ試してみたら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

505:名無しさん@お腹いっぱい。
20/01/12 00:12:51.72 LexZ1lmo0.net
CPUの性能が足りてないんやろな

506:名無しさん@お腹いっぱい。
20/01/12 23:47:09.05 ItMnCDxF0.net
gpuじゃなくてcpuの問題か

507:名無しさん@お腹いっぱい。
20/01/13 08:11:34.82 7sOApHRY0.net
負荷見ながらやるだろ

508:名無しさん@お腹いっぱい。
20/01/13 21:29:15.80 vzROS9bw0.net
ここでいいのか分かりませんが質問ですさせてください
録画に失敗して同じ番組の動画が2つあります
1つ目は頭から31分
2つ目は30分から終わりまで
という感じなのですがこれを綺麗に結合するにはどうやればいいですか?
それぞれss toで時間指定して-vcdec copy -acodec copyで切り出した後concatで繋げてみたのですか結合部にノイズがでて綺麗になりませんでした

509:名無しさん@お腹いっぱい。
20/01/13 21:56:12.21 8BReyHfl0.net
これで連結してみたら
URLリンク(nico-lab.net)

510:名無しさん@お腹いっぱい。
20/01/13 23:06:37.53 0iEeZNA50.net
>>493
ありがとうございます。
ちょっと試してみましたがやはりノイズのりました
やり方間違ってるかもしれないので明日また試してみます

511:名無しさん@お腹いっぱい。
20/01/13 23:38:49.68 pQfxIXzm0.net
エンコードなしじゃ無理だと思うし
自己完結型のffmpegじゃいろいろと無理があるとも思う
自分ならDGIndexで映像と音声に分離してたものをavisynth経由で
aviutlに読み込ませてかっと編集したのちエンコードする

512:名無しさん@お腹いっぱい。
20/01/13 23:44:20.03 Ea3iV0gp0.net
時間が被ってる1分間の間できっちりフレームが切り分けられるところで上手く切るしか無いんじゃない?
あと切り出す時は自分はcopyじゃなくエンコードするわ

513:名無しさん@お腹いっぱい。
20/01/14 00:33:34.53 Rop5Bdn90.net
余計なエンコードするより、重複位置が分かるなら
-i 前 -ss:0 0(必要ならずらす) -to:0 連結時刻 -i 後ろ -ss:1 0(必要ならずらす)
の後で連結が1番余計な処理無いと思う

514:名無しさん@お腹いっぱい。
20/01/14 00:34:33.32 68zgHSjG0.net
両方の動画のキーフレームが同じなら、avidemuxとかで切りつつそのままコピーで書き出しとかは出来ないの?

515:名無しさん@お腹いっぱい。
20/01/14 10:12:45.16 pUg5HoDc0.net
できるよ

516:名無しさん@お腹いっぱい。
20/01/14 10:25:46.96 0QkYBnSI0.net
テレビのtsを265でmkvにして
-f segmentで分割してCMを間引いてconcatしたら
結合部分の画像が乱れるのですが
同じようなことをやって解決方法分かる人いますか?

517:名無しさん@お腹いっぱい。
20/01/14 10:31:13.92 PmV1t2VC0.net
open-GOPが有効になってるせい?
有効になってたら無効にしてエンコードしてみるとか

518:名無しさん@お腹いっぱい。
20/01/14 16:40:41.36 5NCcK7rZ0.net
>>501
-x265-params open-gop=0
でいけた。ありがとう

519:名無しさん@お腹いっぱい。
20/01/14 22:39:46 7A2J9fhs0.net
>>492です 493の方法でノイズは乗らなくなりました (元動画が何かおかしくて一度copyしました) 方法通りだと指定したタイムスタンプから3フレームくらいずれるので後ろのファイルのinpointをずらしたらハッシュ値上は同値になりました このせいか映像だけ一瞬とまり少し後に早送り再生みたいになる状態になりましたが



521:名無しさん@お腹いっぱい。
20/01/28 21:50:06 1e2Kvr0Z0.net
8bitでY=16~235/U,V=16~240の範囲外、いわゆるスーパーホワイト
サブブラックの範囲を削除というかクリップさせたいのですがどのよう
にすればよいのでしょうか。

スーパーホワイトにノイズのある素材の前処理を考えています。

522:名無しさん@お腹いっぱい。
20/01/28 22:23:19 UbbdWYwL0.net
それはffmpegでやることではないのでは
動画編集ソフト使ったほうがよくね

523:名無しさん@お腹いっぱい。
20/01/28 23:05:43.70 1e2Kvr0Z0.net
沢山あるので一括処理で楽をしたかったんです。少し残念ですがわかりました、失礼します。

524:名無しさん@お腹いっぱい。
20/01/28 23:34:09 w0JFFAsR0.net
lutyuvでできないかね
lutyuv=y=clip(val, 16, 235):u=clip(val, 16, 240):v=clip(val, 16, 240)

525:名無しさん@お腹いっぱい。
20/01/28 23:52:18 1fs7n6y+0.net
いやいやこういうのこそffmpegの出番でしょう

526:名無しさん@お腹いっぱい。
20/01/30 17:34:41 mxM/jdfA0.net
>>507
-pix_fmtを指定して"lutyuv=y='clip(val, 16, 235)':u='clip(val, 16, 240)':v='clip(val, 16, 240)'"
としたら無事期待通りの操作ができました。”と'で囲まないとエラーになるので試行錯誤していたらレスが
遅れてしまいました。

調べて”はスペースを文字列として扱い、()がなにか特別な文字で’で囲む必要があるのかもとみています
が自分でもよくわかっていません。

527:名無しさん@お腹いっぱい。
20/01/30 19:10:52.82 OW/fIxT00.net
>>509
動作環境によるから一度試しといた方が良いかも
そのコマンドから
①内側の1重引用符を除く
②1重引用符はそのまま、半角スペースだけ除く
③1重引用符と半角スペースを除く(この時残った2重引用符は1重引用符に置き換えても動くはず)
この3つを試したら結合性が判断できると思う
1重引用符と2重引用符は置き換え可能だから、1種類で良い場合は視認性のために1重引用符をおすすめする

528:名無しさん@お腹いっぱい。
20/01/30 19:22:40 vodk/hVq0.net
シェルに何を使ってるか、とか?

529:名無しさん@お腹いっぱい。
20/01/30 20:35:22.81 Hh3d8V4R0.net
>>509
横からだが
> ()がなにか特別な文字で’で囲む必要があるのかも
ある動画のm3u8をローカルに落としてファイル名を()を含むサブタイに変えて実行したら失敗しまくったことがある
このときパスが長い所為かと考えとりあえず()の数文字分削ったら成功したからやっぱりパスかと思ってた
なるほどそういうことか、やっと合点がいったわthx!

530:名無しさん@お腹いっぱい。
20/01/30 20:53:02.10 OW/fIxT00.net
>>512
括弧に限らず特殊文字含む場合はエスケープするか引用符で括らないとだめだね
引用符を含む場合はその両方
スペース含む場合なんかは特につまずきやすいから、ファイル名みたいな自由度高い要素を含む値は引用符で括る癖付けてる

531:名無しさん@お腹いっぱい。
20/01/30 21:07:46.23 SjwUzGpN0.net
>>510
それぞれこうなりました。
1の結果、エラー
2の結果、パス
3の結果、エラー
①と③のエラーメッセージは共に以下の通りでした。
URLリンク(pastebin.com)
1重引用符と2重引用符は置き換え可能ということで
試しに新たに④として「1重引用符と半角スペースを
除き-vf全体を1重引用符で囲む」条件で実行したところ
異なるエラーメッセージになりました。以下の通りです。
URLリンク(pastebin.com)


532:VWjyG2L 最後に普段使わないのですがpowershellで実行したところ ①②③は再現したのですが④の条件でも同様のエラーと違う 結果になりました。確かにシェルで違いが現れますね。



533:名無しさん@お腹いっぱい。
20/01/30 21:09:15.91 SjwUzGpN0.net
念のため環境も書きます。
FFmpeg zeranoe build ver. 4.2.1でWindows10 バージョン1909のcmd. exeです。

534:名無しさん@お腹いっぱい。
20/01/30 21:31:06 SjwUzGpN0.net
連投すみません????を再現する要素、オプションを抜き出したコマンド全文です。
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

535:名無しさん@お腹いっぱい。
20/01/30 21:31:39 eZ5tGJQ00.net
lutyuv=y=clip(val\,16\,235):u=clip(val\,16\,240\):v=clip(val\,16\,240)

これでも同じように動いた

536:名無しさん@お腹いっぱい。
20/01/30 21:44:04 SjwUzGpN0.net
>>517
???少し混乱してます、たしかに動きますね。エスケープをしている?
それにしては最後の)の前にバックスラッシュがついていませんし…。

537:名無しさん@お腹いっぱい。
20/01/30 21:54:59 eZ5tGJQ00.net
途中で)の前にバックスラッシュ置いてるのは記述ミス
カンマの前にバックスラッシュ置くだけでいいっぽい

538:名無しさん@お腹いっぱい。
20/01/30 22:32:15 OW/fIxT00.net
>>514,517,518
お疲れさま、凄く説明分かりやすくて私も勉強になります
1番分かりやすいのは要素の切れ目での半角スペースは任意ということで、環境によっては改行文字も通ったり……


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

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


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


-vf全体を引用符で括った事で「フィルター名全体で纏まった要素」と認識したのは予想外……ごめんこれは分からない

539:名無しさん@お腹いっぱい。
20/01/30 23:13:22 SjwUzGpN0.net
2重引用符はシェルが解釈して1重引用符はFFmpegが解釈してるという感じがしますね。

540:名無しさん@お腹いっぱい。
20/01/31 00:03:49 pAoAG3fQ0.net
>>520
「フィルターチェーンのカンマ」として認識したために
FFmpegは「16」というフィルタを探したが見つからず
エラーを吐いたというわけでしょうか。納得しました。
図らずもフィルターと引用符の動作の理解になり驚いています。

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

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

動画が無事処理できた上にさらに大変勉強になりました。ありがとうございました。

541:名無しさん@お腹いっぱい。
20/01/31 00:47:58.63 Z/2Nmmkq0.net
linuxでlibx265とstaticなビルドに成功した人いますか?
./configure時に
ERROR: x265 not found using pkg-config
というエラーが出てしまいます
libx265抜きでlibx265とlibfdk_aacとだけならビルド成功したので
libx265の問題だと思うのですが
ちなみにsharedのビルドは問題ありません

542:名無しさん@お腹いっぱい。
20/01/31 01:35:10.87 etkf1QFQ0.net
>>522
そういう処理をしたという認識で間違い無いです
やはり動作環境によってエスケープが追加で必要な文字が変わるんですよね
何も考えずにコピペしてきたものが動かない事があるのはそれが原因で……困りものです
こちらこそ感謝します

543:名無しさん@お腹いっぱい。
20/02/15 10:40:58.96 dgZwrmqL0.net
ffmpeg -i [INPUT] -acodec copy -vcodec copy [OUTPUT]
これをフォルダ一括でやる場合にはどうしたらいいですか?

544:名無しさん@お腹いっぱい。
20/02/15 10:51:17 Ekg3x80o0.net
for文

545:名無しさん@お腹いっぱい。
20/02/15 15:31:35 dgZwrmqL0.net
>>526
具体的にコマンド教えてもらえませんか?

546:名無しさん@お腹いっぱい。
20/02/15 15:34:58 DEVSFt7+0.net
馬鹿には無理

547:名無しさん@お腹いっぱい。
20/02/15 15:34:59 ULYNozZy0.net
>>527
「バッチファイル FOR」でググればいいと思うよ。

548:名無しさん@お腹いっぱい。
20/02/15 15:49:51 dgZwrmqL0.net
>>529
ありがとう
難しそうだね

549:名無しさん@お腹いっぱい。
20/02/15 16:16:44 +Bljq2on0.net
>>530
ほら
URLリンク(pastebin.com)

550:名無しさん@お腹いっぱい。
20/02/15 19:41:12.87 dgZwrmqL0.net
>>531
うおおおお!
ありがとう!!

551:名無しさん@お腹いっぱい。
20/02/16 13:46:03 k/23+48v0.net
個人的にはfor文とかはbatファイルよりも
powershellのスクリプトの方が使いやすい

552:名無しさん@お腹いっぱい。
20/02/16 14:25:58.32 srBzZoDc0.net
batファイルの文法は不可解な例外まみれだからな
直すと影響が出るから直すに直せない

553:名無しさん@お腹いっぱい。
20/02/16 14:34:26 mvhjYclL0.net
bashを信じるものは救われる

554:名無しさん@お腹いっぱい。
20/02/16 15:54:49.47 TO1TQdu30.net
たまにはwshを思い出してあげて

555:名無しさん@お腹いっぱい。
20/02/16 16:24:02 EIHh2ftA0.net
>>531
めっちゃ使いやすい
本当ありがとう!

556:名無しさん@お腹いっぱい。
20/02/16 17:30:51.71 qwxcYivk0.net
大文字の?がファイルネームに入っているとbatにドラッグアンドドロップできない問題
俺には解決方法が分からない

557:名無しさん@お腹いっぱい。
20/02/16 18:59:10 Mvb3CmOn0.net
全角ならいけるんじゃね

558:名無しさん@お腹いっぱい。
20/02/16 19:35:13.51 EPcMRgbY0.net
wshを終わらせるためのpowershellじゃないのか
過去の資産が~とかなければpowershellにしておけ

559:名無しさん@お腹いっぱい。
20/02/16 19:45:27.43 srBzZoDc0.net
batはダブルクリックで簡単に起動できるし
どうせ大したことはやらせないし
windowsの奥の方のデータを引っ張ってくるとかでない限りあんまり使いみちが無い

560:名無しさん@お腹いっぱい。
20/02/16 20:13:58 qwxcYivk0.net
>>539
なぜか全角の?を半角の?として扱うせいで正しくパスを読み込んでくれないのよ

561:名無しさん@お腹いっぱい。
20/02/16 20:43:55.96 EPcMRgbY0.net
batを捨てるのです

562:名無しさん@お腹いっぱい。
20/02/16 20:49:12.01 TgtGcW1R0.net
>>542
試してみたけど問題ない

563:名無しさん@お腹いっぱい。
20/02/16 20:50:36.82 TgtGcW1R0.net
まあでも他の文字列は駄目だったりするからどのみちbatは駄目だけど
全角スペースとか

564:名無しさん@お腹いっぱい。
20/02/16 21:18:25 qrmTBbgU0.net
ifやforの中では()、bat内はどこでも%が危険

565:名無しさん@お腹いっぱい。
20/02/16 21:45:04 srBzZoDc0.net
for %%a in (^
a ^
) do echo %%a

このbatファイルは動作しない
) の前にスペースを入れるとok
理由はよく判らん

566:名無しさん@お腹いっぱい。
20/02/16 23:41:42 efyibPY50.net
そもそもエスケープ自体が不要でしょ

567:名無しさん@お腹いっぱい。
20/02/16 23:57:43 qrmTBbgU0.net
行末の^はエスケープじゃなくて改行では?

568:名無しさん@お腹いっぱい。
20/02/17 00:01:14.65 W3nDn6D30.net
>>549
いや改行のエスケープだよ
一行が長くなりすぎるときにやるやつ

569:名無しさん@お腹いっぱい。
20/02/17 14:58:09.87 +eap3bhC0.net
そういや改行だけでいい時と^で改行するときの違いって何なんだろう

570:名無しさん@お腹いっぱい。
20/02/18 14:20:06 LGDhVqGh0.net
batファイルは1行1コマンドで記述するならいいけど
ifとかforとか変数とか使い始めると
batファイルの変態的な仕様とバグにどんどんハマ


571:っていく



572:名無しさん@お腹いっぱい。
20/02/18 19:37:16 zx97LNpV0.net
set aaa = string
と書くとバグる
正解は
set aaa=string

573:名無しさん@お腹いっぱい。
20/02/18 21:01:58 pAbddx+90.net
文法エラーじゃなくて?
どんなバグ?

574:名無しさん@お腹いっぱい。
20/02/19 04:52:46.32 sIQGPVzI0.net
>>552
例えばどんな変態的な仕様とバグがあるんだ

575:名無しさん@お腹いっぱい。
20/02/19 17:38:26 N1Kh/RJ00.net
「=」の前後に空白を入れるとシンタックスエラーにはならないけど「aaa」という変数に
値がセットされないので「echo %aaa%」ってやっても変数「aaa」に設定したつもりの値が
表示されないみたいなw

576:名無しさん@お腹いっぱい。
20/02/19 17:40:29 WF/K2mgF0.net
win10にはubuntuもあることだしbashにしなさい

577:名無しさん@お腹いっぱい。
20/02/19 19:01:46 lSrtltul0.net
>>553,>>556
>set /?
環境変数を表示、設定、または削除します。
SET [変数名=[文字列]]

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

>>555
URLリンク(web.archive.org)URLリンク(doudemoexe.com)
URLリンク(stackoverflow.com)

578:名無しさん@お腹いっぱい。
20/02/19 23:13:47 Jtq0Mauj0.net
自分のbat見返したら全部スペースなしだわ
まったくコマンド同じなのに自分が書いたらエラーで、参考にしたHPからコピペしたら動いたりするのは
こういう>556のような仕様に引っかかってたのかな

579:名無しさん@お腹いっぱい。
20/02/20 10:57:44.15 AfV1L36N0.net
>>537は本当に使えたのかな?

580:名無しさん@お腹いっぱい。
20/02/20 11:18:24 8yY7Ic+E0.net
正解は
set aaa =string

581:名無しさん@お腹いっぱい。
20/02/20 12:22:46 hkoIIz2A0.net
正解は……越後製菓!
だろ

582:名無しさん@お腹いっぱい。
20/02/20 16:23:36 UjZdzeBt0.net
…(;´д`)

583:名無しさん@お腹いっぱい。
20/02/20 18:35:52 hJT4oQv80.net
set aaa= string
「aaa」に「 string」(1文字目はスペース)がセットされる。

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

=の前までが変数名、以降が値だから、スペースも正しく扱われてる。

584:名無しさん@お腹いっぱい。
20/02/20 18:52:10 acvaOPXW0.net
スペースはホワイトスペースじゃないって事だな

585:名無しさん@お腹いっぱい。
20/02/20 18:55:33 XsFSLHWy0.net
想定と違う動作をすることをバグると言う

586:名無しさん@お腹いっぱい。
20/02/20 19:42:30 KkseOg6d0.net
set "aaa=string"
これが一番確実で中に記号が入ってても大丈夫
%だけは%%にする必要があると思うけど

587:名無しさん@お腹いっぱい。
20/02/21 14:36:26 tMDWUOZr0.net
ループの中で変数書き換えても更新されない遅延変数って今も健在か?

588:名無しさん@お腹いっぱい。
20/02/21 14:42:11 J4dxqhLW0.net
スレチでイタチなのでそろそろお開きに
【.cmd】 バッチファイルスクリプト %13 【.bat】
スレリンク(tech板)

589:名無しさん@お腹いっぱい。
20/02/23 00:31:42.73 9IPs4yUX0.net
ニコ生でffmpegランチャーで配信してたんですが2日ぐらい前にニコ生のアップデートでstreamキーとかが変わり
TCPリレーが使用できなくなりました 前は
ffmpegluncherのRTMP URLにrtmp://localhost/origin/・・・などlocalhostを追加して貼り付けてましたが
ffmpegluncherに新しいRTMP URLを同じようにlocalhostを貼り付けて rtmp://localhost/・・・・
そしてffmpegとTPCrelayにstreamnameを貼り付けて使用することができなくなりました
どうすればいいのか困っていいます
よろしくお願います

590:名無しさん@お腹いっぱい。
20/02/23


591:10:38:32.26 ID:V2KrMMbs0.net



592:名無しさん@お腹いっぱい。
20/02/23 11:23:51.61 E55p+lXK0.net
キーが変わらなくなったからTCPRelayをつかってみては
URLリンク(strikerx3.blogspot.com)

593:570
20/02/23 14:08:46.48 9IPs4yUX0.net
>>572さん これ使ってました。。 
URLのいろいろなところに/localhost/を追加してみましたがやはりだめでした
TCPrelayにstreamnameを貼り付けて startしてからffmpegを開始にしてもエラー吐いてだめでした
OBSに乗り換えることにします ありがとうございました

594:名無しさん@お腹いっぱい。
20/02/23 14:55:45.45 E55p+lXK0.net
ごめん。よく読んでなかった
TCPrelayでユーザー生放送なら
rtmp://jliveorigin.dmc.nico/named_input

を読み込んで
ffmpeg の -f flv 以下に rtmp://localhost:1935/named_input/nicolive.Uproduction_user
をつなげればコマンドプロンプトから配信できた

595:名無しさん@お腹いっぱい。
20/03/06 23:27:05 eVLg8z9F0.net
ffmpeg4.2.2にしたらストリーミングが爆速なんですけど・・・なにこれ

596:名無しさん@お腹いっぱい。
20/03/07 11:04:40.52 45/rBUUX0.net
ffmpegで落とすと、メタタグにlavfがつくのが嫌い

597:名無しさん@お腹いっぱい。
20/03/11 21:34:35 L8dEgFxB0.net
どうかどうかどうかどうか、教えてください。お願いします!!
動画に関する説明を何度読んでも全く理解出来ない大バカ者ですがなんとかどうしてもエンコードしたくてどうか教えてください。

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 の容量がもう限界なんです。
お願いします!!

598:名無しさん@お腹いっぱい。
20/03/11 21:38:06 G/HeB+N90.net
ググれ

599:名無しさん@お腹いっぱい。
20/03/11 21:42:42 L8dEgFxB0.net
>>578
ググっても、MP4 から MP4 へ変換する方法は載ってた(試してない)んですが、
avs → MP4 がないんです。

DTV板の Avisynthスレで質問して、こちらに誘導されてきました。
どうかお願いします。ググっても分からないんです。。バカなんです。。。。お願いします!

600:名無しさん@お腹いっぱい。
20/03/11 21:47:11 OLclUZ1g0.net
avsファイルは動画じゃないからエンコードなんて考えなくていいよ。

601:名無しさん@お腹いっぱい。
20/03/11 21:47:43 VC/Rrq6N0.net
HDDを買い足せ

602:名無しさん@お腹いっぱい。
20/03/11 21:49:54 L8dEgFxB0.net
>>580
どういうこと・・でしょうか??

前は、Windows7 で、携帯動画変換君を使って携帯用に DVD を変換してました。
それが Windows10 になって、携帯動画変換君が使えないらしいことが分かって、変換君の中身が
ffmpeg なのでコマンドラインで出来たらその方が楽かなと考えて、さらに iPhone でも見れる、H265 なる
H264 の後継のコーデックがあることを知り、ファイルサイズが半分になることも知り、今までは H264 で M4V
を作って iPhone で見てたので、H265 でファイルサイズ半分に出来たら最高だな、と考えて現在に至ります。

603:名無しさん@お腹いっぱい。
20/03/11 22:18:21.21 G/HeB+N90.net
>>582
テンプレにも色々情報が載ってるし、ググれば色々な情報が出てくる。
お前がやるべきなのはffmpegを基礎から学ぶこと。
それをすっとばして何も理解しないまま回答だけクレクレする奴はどこに行っても相手にされんよ。
初心者スレに行ってもテンプレにあるように「お前は初心者ですらないから質問する資格なし」で終わる。

604:名無しさん@お腹いっぱい。
20/03/11 22:22:53 LwDcwXa80.net
.avsファイルって事でしょ
aviSynthってソフト独自の拡張子で、しかもScriptファイルらしいじゃん

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

aviSynthで開くとそのファイルの情報見れるんじゃないのか?そして普通ならそこにコーデックも表示されるはず
ますはコーデックを知らない事には何もできないよ

605:名無しさん@お腹いっぱい。
20/03/11 23:36:57 L8dEgFxB0.net
>>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 のコマンドを知りたかっただけなのですが。。
どう質問すればいいかも混乱中で…

606:名無しさん@お腹いっぱい。
20/03/11 23:46:55.14 L8dEgFxB0.net
>>584
元データが DVD で、英語と日本語の字幕を両方同時に載せたいが為に Avisynth を使っています。
両方同時に埋め込めるソフトがあるならそのソフトで M4V を作っても構わないんですが、その為だけなんです。

607:名無しさん@お腹いっぱい。
20/03/12 00:00:08 A3Njl5W20.net
出力ファイルの拡張子はmp4かmkvじゃ駄目なの?

608:名無しさん@お腹いっぱい。
20/03/12 00:14:07 MeM3XQB80.net
ffmpeg -y -i "元ファイル.avs"

とだけ打って出力を貼り付けてください。
入力ストリームの情報をみないと、出力にどうマッピングすればいいのかわからないので・・

609:名無しさん@お腹いっぱい。
20/03/12 00:19:33 A3Njl5W20.net
書き忘れたけど出力拡張子がm4vだと>>585と同じエラー出た

610:名無しさん@お腹いっぱい。
20/03/12 01:08:22 CtjKPPcM0.net
>>585,586
だから.avsはただのファイルの拡張子であって、それはつまり「.avsの動画ファイル」という情報だけでは「.avsを拡張子とするコンテナに映像streamや音声streamが入ったファイル」としか言えない事を意味する

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

あなたはずっと.avs形式のファイルとしか見えてないから、aviSynthで開くかどうかしてそのファイルのcodecを調べなさい
そう言ってるの

611:名無しさん@お腹いっぱい。
20/03/12 08:45:07 0sdkk3dM0.net
質問者はavsファイルをメモ帳なりテキストエディタで開いてみりゃいい
「どのソースにどういうフィルタを掛ける」等が書いてあるスクリプトファイルとして開けるだろうから

「avsファイルが動画プレイヤーで再生出来るからこれは動画ファイルだ」とか流石に無知にも程がある

612:名無しさん@お腹いっぱい。
20/03/12 09:38:48 qr4ljfdK0.net
つーかffmpegって*.avsファイルを扱えるの?

613:名無しさん@お腹いっぱい。
20/03/12 10:43:51 tZv+LQ/r0.net
>>592
--enable-avisynthでビルドしてあれば使えるよ。別途Avisynthをインストールしたりしておく必要もあるけど。

あとavsのコーデックを調べろと言ってる人はAvisynthのことを良く知らないようだ


614:から一応説明しておくと、 avsは確かにスクリプトファイルなんだけど、Avisynthを経由してffmpegや再生ソフト等で扱う場合は yuv420pとかpcmのRAWストリームが入ってると思えばいい。



615:名無しさん@お腹いっぱい。
20/03/12 10:48:09.49 0FuRsOt20.net
-c:v libx265
ちゃうんけhevcじゃなくて

616:名無しさん@お腹いっぱい。
20/03/12 10:59:49 tZv+LQ/r0.net
そのへんもググればあっさり出てくるのに、それができてないからなあ・・・

617:名無しさん@お腹いっぱい。
20/03/12 11:14:48 ei2YXckM0.net
>>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 経由で追加を試みましたがダウンロードできない等言われ、断念しました。

618:名無しさん@お腹いっぱい。
20/03/12 13:56:03 6WEeoOwT0.net
馬鹿には無理

619:名無しさん@お腹いっぱい。
20/03/12 14:09:54 elQdk1QU0.net
YoutubeにうpしてiPhoneで見る

620:名無しさん@お腹いっぱい。
20/03/12 16:40:58.32 iWfdJHKM0.net
avsは無知で自分で調べることもできない馬鹿だけどコンピュータ使い始めなんてこんなもんだろう。
>596
iTunesはmkvコンテナは追加できないからffmpegかHandBrakeで対応コンテナに変換したらいいよ。

621:名無しさん@お腹いっぱい。
20/03/12 16:53:06 tZv+LQ/r0.net
> かれこれ10年は動画変換をやってますが、携帯動画変換君頼りで理解しないままでしたし…。

622:名無しさん@お腹いっぱい。
20/03/12 17:10:05.72 zMfu1JZE0.net
>>593,591
って事は.avsはcodec無し(って表現が良いのか知らんけど)の無圧縮データと適用する効果の情報が入った形式なのか
他の再生ソフトは無圧縮の映像・音声の再生に対応してたら再生できるって訳かな
拡張子の時点で弾くソフトも多いだろうし扱いにくいなぁ

623:名無しさん@お腹いっぱい。
20/03/12 17:53:33 xFYGxzUK0.net
avsって聞きなれないコンテナだなって思って調べたら、なんか中国で作った独自コンテナ
形式でAudio Video StandardっていうののWikiとHP見つけたけどこれのことかな

URLリンク(en.wikipedia.org)
URLリンク(www.avs.org.cn)

ffmpeg -codecsで見ると「avs」はデコーダあるけど「avs2」はVideoCodecのみって実装みたい
なのでffmpegだと変換微妙なのかな

624:名無しさん@お腹いっぱい。
20/03/12 18:06:42.27 zMfu1JZE0.net
>>602
質問者がAviSynthって言ってるからそれ関係なくこっちだと思うけど
URLリンク(i.imgur.com)

625:名無しさん@お腹いっぱい。
20/03/12 18:07:03.13 r5kfBV+R0.net
普通拡張子が.avsのファイルはAviSynthのスクリプトファイルじゃないのか?
スクリプトファイル(ただのテキストデータ)なのでテキストファイルで開くことができる
URLリンク(ja.wikipedia.org)

626:名無しさん@お腹いっぱい。
20/03/12 18:22:56.85 8yT3EHmk0.net
DVDって書いてるから映像vob+音声AC3とかをAviSynth経由で読み込んでffmpegにって事でしょ?

627:名無しさん@お腹いっぱい。
20/03/12 19:03:10.90 0sdkk3dM0.net
AviSynthがどういったモノか気になっている人もいるようなので一応書くと、
.avsはエフェクトの付加やクロップ等の簡単な編集をスクリプトファイル上で記述できる
例えば
AVISource("PATH.avi") #AVIソースとしてPATHで指定された動画ファイルを読み込み
Crop(0, 0, 416, 256) #x:0, y:0の座標から480*360pxの領域を�


628:Nリップ Histogram("Luma") #輝度の変化をヒストグラムで表示 などと.avsを書いて動画編集ソフトやメディアプレイヤーで読み込むと https://www.avisynth.info/?plugin=attach&refer=Histogram&openfile=histogram_modeluma.jpg の様な映像として出力される 中国のavsコンテナ形式云々については知らないが、 AviSynthの.avs自体は既に書かれている通りコンテナやコーデックや動画ファイル等ではなくスクリプトが書かれたただのテキストファイル 乱暴に言ってしまえばffmpegのコマンドを書き込んだバッチファイルやシェルスクリプト等とあまり変わらない



629:名無しさん@お腹いっぱい。
20/03/12 20:11:51 zMfu1JZE0.net
>>606
ffmpegに入力しても、適用する効果よしなに扱ってくれるもの?
でなければ参照先の動画ファイル直接叩いた方が良さそうだし

630:名無しさん@お腹いっぱい。
20/03/12 20:19:05 mR2WjpZh0.net
結局スクリプトファイルはコンテナを兼ねててトラックを内蔵してるの?

631:名無しさん@お腹いっぱい。
20/03/12 20:28:40.96 zMfu1JZE0.net
質問者って多分.avsは自作じゃないだろうけど
そもそも.avsで配布してる動画なんて有るんだな……ネット海は広い

632:名無しさん@お腹いっぱい。
20/03/12 20:58:23 hq1Ew8A80.net
ひょっとして最初の質問者がそもそも
中華フォーマットのavsと
編集フォーマットのavsと
判別手段すら理解できないとか混同したまま説明しているとか、そういうわけじゃないよね・・・?

ファイルの容量とか、Mediainfoとか、AviSynthとか、あるし・・・

633:名無しさん@お腹いっぱい。
20/03/12 22:03:27.33 qr4ljfdK0.net
>>593
ということ一般に公開されてるバイナリじゃ非対応の可能性があるのね
ついでに公開元みたら有効になってたからavs読み込ませたら動いたわけか
avspipemod使うより簡単・シンプルだったかもしれない

634:名無しさん@お腹いっぱい。
20/03/17 13:17:34.01 wmy15hy70.net
レス遅れてすみません。連投したせいか、書き込めなくなって代行依頼したのですが、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 ファイル削除したいと思います。
質問の仕


635:方がおかしくて申し訳なかったですが、ここで聞いたおかげで無事解決したので、レスくださった方々、ありがとうございました。



636:名無しさん@お腹いっぱい。
20/03/17 13:26:29 Vu+noQXf0.net
>>612
> ffmpeg -y -i 元ファイル.avs -vcodec hevc -preset placebo 完成ファイル.mp4"

-preset placebo は無駄に重いだけのプリセットだから、veryslowかslowerでいいんじゃないかな。

637:名無しさん@お腹いっぱい。
20/03/17 14:19:02.50 78DzOs520.net
>>612
こんな感じに.d2v、2つの.vob、WAVEをffmpegで直接がっちゃんこできないのかな
その方が手っ取り早いけども
URLリンク(okamurax.com)

638:名無しさん@お腹いっぱい。
20/03/17 14:27:59.46 uA2/gOTL0.net
もちろんavsを経由する必要はまったくない
ちょっと勉強が必要だけどね

639:名無しさん@お腹いっぱい。
20/04/02 22:07:57 GKIvFbTZ0.net
3月上旬の変更で、NVDECとNVENCを使ったフルHWトランスコードのコマンドが変更されてるので注意。
一応以前の -hwaccel cuvid -c:v h264_cuvid -i ~ の指定でも動くのだけど警告が表示されるようになってる(はず)。
環境持ってないから試せてはいないし、個人的にはこれをこのまま定着させていいんだろうかという疑念もあるのだけど。

 【NVENC/VCE】ハードウェアエンコーダーを語るスレ4【QSV】
 スレリンク(avi板:482番)-497
 
 URLリンク(trac.ffmpeg.org)
 
 
ところで、ffmpeg.exe -hwaccels で qsv が2回出てくるのはなんでなんだろう?

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

Hardware acceleration methods:
cuda
dxva2
qsv
d3d11va
qsv

640:名無しさん@お腹いっぱい。
20/04/03 06:09:29.59 exz5ccR10.net
-c:v hevc_nvenc
だけで困ってないけどな
最新のだと違う?

641:名無しさん@お腹いっぱい。
20/04/03 09:58:11.95 E3s0RC0B0.net
>>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
 URLリンク(devblogs.nvidia.com)

642:名無しさん@お腹いっぱい。
20/04/03 13:14:31 MJxJVgdS0.net
デコードコマンドに-c:v XXXX_cuvid付けた方が速い気がするんだけど。俺環かな?
4月1日ビルド品。約100fps位差が出る。
ffmpeg.exe -hwaccel cuda -hwaccel_output_format cuda -c:v XXXX_cuvid

643:名無しさん@お腹いっぱい。
20/04/03 20:02:26 ou+7MR/P0.net
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

644:名無しさん@お腹いっぱい。
20/04/03 20:32:01 exz5ccR10.net
エンコードの方が遥かに重いんだから、デコードがボトルネックに�


645:ヘならんだろ



646:名無しさん@お腹いっぱい。
20/04/03 20:50:19 YWzuD0l90.net
まあ説明も書いたし参考リンクも示したし、その上で君がそう考えるんなら別にそれでいいんじゃないの。

647:名無しさん@お腹いっぱい。
20/04/03 20:55:36 MJxJVgdS0.net
Ryzen7 3800Xと1660Sの組み合わせだと、SWデコードの方が速いですよ。

648:名無しさん@お腹いっぱい。
20/04/03 21:36:24 YWzuD0l90.net
たしかに環境や条件次第というのはあるかもしれない。自分も細かく把握してるわけじゃない。

649:名無しさん@お腹いっぱい。
20/04/03 23:15:06 ieXBOV610.net
HWでリサイズなどのフィルタリングも行えば早いとかそっちでしょ
(早いというかCPUとやり取りするよりシンプルに自己完結する)

650:名無しさん@お腹いっぱい。
20/04/04 00:15:35 heofmNEz0.net
環境とか入力ファイルの解像度等の情報とか具体的なコマンドラインとかも出てる比較があるなら見たいところではある。

651:名無しさん@お腹いっぱい。
20/04/04 00:18:27 FRUSMnjN0.net
すごく初歩的な質問になるんですけど-vfでアンシャープとインターレース解除の2つの処理をする場合
1つの-vfで2つの処理をまとめることはできますか?

652:名無しさん@お腹いっぱい。
20/04/04 01:33:45 RXTyG+060.net
最初に書いてるものから適用されたような

653:名無しさん@お腹いっぱい。
20/04/11 16:51:25 nj5ljxb00.net
>>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 を消したいと思うんです。

654:名無しさん@お腹いっぱい。
20/04/11 17:12:19 1fCgMXm20.net
なにがどうなってる

655:名無しさん@お腹いっぱい。
20/04/11 18:12:24 Hnq5gygW0.net
よくわからんが、もう解決したという話なんだし放っておけばよろしい。

656:名無しさん@お腹いっぱい。
20/04/12 03:25:38.40 x/ikJ5x70.net
>>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は自分で確認すること:URLリンク(qiita.com)
参考:URLリンク(qiita.com)

657:名無しさん@お腹いっぱい。
20/04/12 11:24:42.73 FL0rVnZh0.net
>>632
>>629は1か月前の>>612とほぼ変わらん内容だし、当人は>>585にもあるように10年動画変換やって何も進歩する気のない人だから
多分そんな試してないコマンドや解説を提供しても・・・いやこれ以上は言わんけども。

658:名無しさん@お腹いっぱい。
20/04/12 11:38:54.43 9tJ3Fm530.net
色々フィルタやらなんやらでエンコ試行するならAVIベタ落とししたほうがいいんじゃねと思ってみたりするのはもう思考が古いのかなと不安になるの図

659:名無しさん@お腹いっぱい。
20/04/12 12:00:08 x/ikJ5x70.net
>>632のconcatプロトコルの2つ目のパイプ直後は'VTS_01_3.VOB'だった

>>633
確かに
まぁ後学にもなると覚え書きに思っとく

660:名無しさん@お腹いっぱい。
20/04/12 12:07:34 x/ikJ5x70.net
>>634
全然問題ないだろうし、むしろそっちが主流だと思う

ただAVIコンテナって他環境の標準規格でもないし、MP4とかMPEG-2システムに格納するのが丸い
あと字幕streamの表示機能が無い環境向けに、映像に焼き付ける需要はかなりあるね

661:名無しさん@お腹いっぱい。
20/04/12 18:12:30.14 x/ikJ5x70.net
連投ごめん、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自体はちゃんと動作してるみたい

662:名無しさん@お腹いっぱい。
20/04/12 21:34:31.28 x/ikJ5x70.net
>>637の追記
この後mode=printとfunction=exprとexpr=print(<ここ色々変える>)、で試したけど(a)metadataでの評価式自体が機能してないっぽい
オープンソースと言っても内部処理には明るくないし、どこに報告すれば良いんだろうか

663:名無しさん@お腹いっぱい。
20/04/12 22:21:47.88 qep594pP0.net
URLリンク(trac.ffmpeg.org)
チケット作って報告して

664:名無しさん@お腹いっぱい。
20/04/12 23:35:28.56 x/ikJ5x70.net
>>639
ありがとう
>>375の時の報告と修正履歴あったよなーと探してたんだけど、正しくそれと同じだった
URLリンク(trac.ffmpeg.org)
URLリンク(git.videolan.org)
今度拙い英語で頑張ってみる

665:名無しさん@お腹いっぱい。
20/04/14 20:57:47 Q6hJxpCl0.net
>616
直った
URLリンク(git.videolan.org)

666:名無しさん@お腹いっぱい。
20/04/14 22:03:23 BHzKk81k0.net
>>641
おお、ありがとう

667:名無しさん@お腹いっぱい。
20/04/15 18:45:53 Ji1CGUp20.net
覚え書き:音声の入りと結びの(完全に信号強度が0の)無音切り詰め
-af 'silenceremove=start_periods=1:start_duration=0:start_threshold=0:stop_periods=1:stop_duration=0:stop_threshold=0:detection=peak'

668:名無しさん@お腹いっぱい。
20/04/19 16:05:59 rA1+8IfI0.net
覚え書き:音声のサンプル単位で「1~48000サンプル目」+


669:「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'



670:名無しさん@お腹いっぱい。
20/04/21 02:10:50 IeUqCPV00.net
今からffmpegをビルドしようと思ってるけど、ビルド方法が多過ぎて、正解はどれなのか分からない・・・

671:名無しさん@お腹いっぱい。
20/04/21 02:20:50 IeUqCPV00.net
msys2とmingw使う方法だけでなく、最近はwsl入れてffmpeg-windows-build-helpers使ってビルドする方法もあるからややこしい

672:名無しさん@お腹いっぱい。
20/04/21 04:30:01.03 qNQ72vIS0.net
どんな用途か知らんけどffmpeg単体で使いたいだけならLinux向けにビルドしてWSLで使ったほうが楽かもね

673:名無しさん@お腹いっぱい。
20/04/21 07:58:38.44 3Q3WudrR0.net
GPLの制約でソース公開してるだけで、ビルドできるとは言ってない

674:名無しさん@お腹いっぱい。
20/04/21 10:20:50 8biuLANL0.net
>>647
fdk-aacを使ってみたいからさ

675:名無しさん@お腹いっぱい。
20/04/21 10:36:15 CdPIDvJw0.net
>>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.
 URLリンク(github.com)

いくつか質問に答えるだけで、ビルド環境も自動で構築してくれるし、関連ライブラリも自動で引っ張ってきてくれる。
必要機能のON/OFFもffmpeg_options.txtに--enable-libfdk-aacなど必要なものを指定しておけばいいだけ。
ついでに必要ならx264やx265などのバイナリもビルドできるし、ビルド環境はAviUtlのL-SMASH Worksのビルドとかにも流用できるし便利。

676:名無しさん@お腹いっぱい。
20/04/21 13:12:33 QTrNIPym0.net
バイナリ拾ったほうが楽
URLリンク(johnvansickle.com)

677:名無しさん@お腹いっぱい。
20/04/21 13:24:35 3Q3WudrR0.net
問題はaac

678:名無しさん@お腹いっぱい。
20/04/21 13:58:46 CdPIDvJw0.net
HEv2を使いたいというなら別だけど、AAC-LCでいいなら今は音に変態的なこだわりでも持たない限り
ビルトインのaacエンコーダでも十分らしいからなぁ・・・

679:名無しさん@お腹いっぱい。
20/04/21 15:27:32 MTpnp3A90.net
aacはサ行音に問題がある

680:名無しさん@お腹いっぱい。
20/04/21 18:04:27 +fACwI410.net
これからはAV1かH.265とOpusの時代だろうし早くAAC使わなくて良いようになってくれれば……

681:名無しさん@お腹いっぱい。
20/04/21 18:23:50 tIKEq/0n0.net
Opusは48kHz以外ネイティブ対応していないので、
今以上に普及するとは思えない

682:名無しさん@お腹いっぱい。
20/04/21 20:18:31 +fACwI410.net
完成品の音声ファイルの周波数に48kHz超えは不要だから、不可逆圧縮のコーデックとしては標準になると思うけどなぁ
制作過程ならより高い周波数・深度の需要あるけど、可逆圧縮/無圧縮で運用するだろうし

URLリンク(qiita.com)

683:名無しさん@お腹いっぱい。
20/04/21 20:41:38 3Q3WudrR0.net
上の話?
44.1kHzが使えなくて不便という話かと

684:名無しさん@お腹いっぱい。
20/04/21 22:22:01.10 +fACwI410.net
>>658
そう
48kHzで表現されるだけだから不便って事も無くない?
エンコーダは一定間隔で標本をだぶらせるんじゃなく、間の波形から変換して音も変わらない


685:訳だし



686:656
20/04/21 22:22:38.53 m51wyj+50.net
うん、そのつもり。
44.1kHzがネイティブで選択できないと、
音楽音源がかなりの割合でサンプリングレートコンバーターのお世話になることに。

687:名無しさん@お腹いっぱい。
20/04/21 22:24:00.57 m51wyj+50.net
一行目は無視しておくれ

688:名無しさん@お腹いっぱい。
20/04/22 01:41:55 2sLGx1xb0.net
なるほどね
でも44.1kHz縛りのないネット系だと可能性は大きそう
配信側がユーザー側のダウンロード前提の利便性を考える必要はないし

689:名無しさん@お腹いっぱい。
20/04/22 11:19:38.61 HqQDbGoZ0.net
>>654
ならディエッサーがいるな

690:名無しさん@お腹いっぱい。
20/04/22 11:30:52.09 Mj4BCT5M0.net
背景にノイズが鳴ってるようなのをAACでエンコードすると、
常にキュルキュルとアーティファクト鳴りまくりの酷いのができる
ノイズの無い理想的な音源でしか使えない

691:名無しさん@お腹いっぱい。
20/04/23 11:03:34 Wa/4MXxP0.net
アスペクト比維持のフィルタは
小数点以下切り捨てでリサイズされるんだけど
切り上げにする方法ってある?
-vf "scale=1280x720:force_original_aspect_ratio=decrease"

692:名無しさん@お腹いっぱい。
20/04/23 16:15:56 cK70omcG0.net
decrease があるなら increase があるのでは?

693:名無しさん@お腹いっぱい。
20/04/23 19:24:01.12 2VmlMtB30.net
>>666
それは内接か外接かの違いで
数値の切り捨て・切り上げとは関係ないです

694:名無しさん@お腹いっぱい。
20/04/23 20:45:31 wcMcCJ7a0.net
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))

695:名無しさん@お腹いっぱい。
20/04/23 21:56:37 GLM0bJRZ0.net
ネットラジオ録ってるけどopusは編集が難しい、ソフトがない
aacならmp3directcutで波形見ながらできるし

696:名無しさん@お腹いっぱい。
20/04/23 22:56:14 wcMcCJ7a0.net
せっかくffmpegの環境あるんなら録る時にflacかWAVみたいな可逆圧縮で保存してそれを編集すれば良いのに

わざわざ非可逆圧縮の音声を編集するのは避けたいし

697:名無しさん@お腹いっぱい。
20/04/23 23:01:04.49 HoH4sRBP0.net
ネットラジオを作ってる人ならそんな編集の仕方は論外だし、
ネットラジオを保存してるならそもそも編集不要

698:名無しさん@お腹いっぱい。
20/04/23 23:23:59 wcMcCJ7a0.net
>>671
よね
保存してる人の編集って多分切り抜きとか音量調整とか指してるのでは

699:669
20/04/24 02:22:19 jf1Rj7I/0.net
>>671
分割とかチャンク欠けとか起きる時があるんでね
マルチにストリームを無変換で録って、無変換でニコイチ修復したりするのよ
wmaもopusもその為の良いソフトがない、一番楽なのがaac,mp3
せっかく圧縮してあるのにWAVに直す意味のほうが分からないです
ちなみに、音量もhe-aacだと変えられないけど、lc(m4a)なら可逆で変えられる

700:名無しさん@お腹いっぱい。
20/04/24 02:44:12 ZRVj/Dp70.net
CM抜くためにロスレス編集というか切り取りはするな
最近は殆どffmpegだけしか使ってないけど

701:名無しさん@お腹いっぱい。
20/04/24 06:49:57 +BsRj4gC0.net
これだけHDD安いんだから、CMを抜いて浮かせたHDD代を時給換算すると悲しくなるぞ

702:名無しさん@お腹いっぱい。
20/04/24 07:02:36 kv1jBeuk0.net
>>668
ありがとう
試してみます

703:名無しさん@お腹いっぱい。
20/04/24 09:57:19.44 1UNcSHXs0.net
opusで配信してるラジオあるんだ?

704:名無しさん@お腹いっぱい。
20/04/24 10:09:14.91 a/OG7Qra0.net
>>675
CM抜くのはHDDの�


705:゚約って。。。 それ以外の理由を考えるだけの余裕はないのかい?



706:名無しさん@お腹いっぱい。
20/04/24 10:14:19.49 +BsRj4gC0.net
opusの配信なんか見たことないけど、権利的にも性能的にも向いてるとは思う

707:名無しさん@お腹いっぱい。
20/04/24 11:19:58.72 OrMpPYFI0.net
>>650
これ、全部入りにしたら時間かかり過ぎ・・・

708:名無しさん@お腹いっぱい。
20/04/24 11:48:00 lzRGYbea0.net
そりゃ全部入りにしたらそうなる
ほとんど使わないんだから取捨選択して

709:名無しさん@お腹いっぱい。
20/04/24 12:02:09.31 UmN+X/vX0.net
>>673
それは配信サービスか受信ソフト側がまずい気が
バッファ取って、一時的に通信滞っても追いかけで受信できるのが今は普通だし

710:680
20/04/24 14:51:18.50 Mhu397KQ0.net
本当は、zeranoe版にfdk-aacを加えた奴をビルドしたいんだよな
でも、build hepler系には頼りたくない・・・

711:名無しさん@お腹いっぱい。
20/04/24 20:29:45 F+lIQEBG0.net
>>683
fdk-aacだけのビルドで音声だけ、zeranoe版で映像だけエンコしたら解決。

712:名無しさん@お腹いっぱい。
20/04/25 00:01:47 QdPLqBLr0.net
ffmpegでwav出力 → qaacでエンコ
それをffmpegで出力した映像とmuxしたら最高
配信で使いたいなら自分で試行錯誤して頑張れとしか・・

713:名無しさん@お腹いっぱい。
20/04/25 00:40:42.41 E0JZMnsV0.net
>>677
FM++
>>682
鯖の問題でどうしようもないと思ってるけど、
ffmpegでhlsやicecast受信用のバッファって変更できるのかしら

714:名無しさん@お腹いっぱい。
20/04/25 16:20:27.37 UxPVGd9s0.net
asfにopus入れてkagamin2で配信する方法もある
WMPしか再生できないけど

715:名無しさん@お腹いっぱい。
20/04/30 02:05:18 wLgwFJe80.net
media-autobuild_suiteで、zeranoe版に近い設定でビルドするにはどうしたらいいの?
設定が多すぎてどうすれば良いか困ってる・・・
URLリンク(github.com)

716:名無しさん@お腹いっぱい。
20/04/30 02:06:43 wLgwFJe80.net
全部入りにすると容量バカ食いするし

717:名無しさん@お腹いっぱい。
20/04/30 05:19:01.92 0B0W4hTj0.net
使うのだけ有効化すればよくね?

718:名無しさん@お腹いっぱい。
20/04/30 09:51:40.78 NjYP8KdH0.net
>>690
zeranoe版で使っているもの+fdkaacを有効にすればいいんだけど、どれを有効にしたらいいかわからなくて・・・

719:名無しさん@お腹いっぱい。
20/04/30 10:09:09 93DNHdju0.net
Readme読んだら何のライブラリ使ってるか書いてるじゃんと思って読んでたけど今のzeranoe版ってlibvmafも有効になってるんだな

720:名無しさん@お腹いっぱい。
20/04/30 10:19:30.85 D/a/7i8l0.net
>>691
ffmpeg.exeを実行したらビルドオプションが書いてあるだろ--enableっての

721:名無しさん@お腹いっぱい。
20/04/30 11:02:16 jXBODyYU0.net
>>692
うお、マジだ。気づいてなかったんで教えてくれて助かった。ありがとう。

調べてみたら

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

 VMAF Filter - Page 2 - FFmpeg
 URLリンク(ffmpeg.zeranoe.com)

ってことで3月末から追加されてたらしい。

722:名無しさん@お腹いっぱい。
20/04/30 18:25:05.46 wLgwFJe80.net
とりあえず、必要な物だけ選んでビルドしようとしたら、vidstab云々でエラー出て終了・・・
なんてこったい
2時間が無駄になった・・・

723:名無しさん@お腹いっぱい。
20/04/30 19:23:49 Vg21wd8Z0.net
mkvに入ってる字幕を消したくて、vもaもcopyでmp4に変換すると字幕がなくなるなるので、まとめて変換しようかと思うんですが。
これって拡張子変えただけで中身は変わらないので劣化は起きてないですよね?

mkvでもいいんですが、なんでmp4にするかは、汎用性と、ビットレートが出てなかったり実際とは違う小さい値が表示されてるのが気持ち悪いというだけです。

724:名無しさん@お腹いっぱい。
20/04/30 19:32:27 5JALOfei0.net
字幕を消したいはどこに行った

725:名無しさん@お腹いっぱい。
20/04/30 19:55:03 buoK1ERT0.net
俺もそこが気になって数回読みなおしちまったw

726:名無しさん@お腹いっぱい。
20/04/30 19:58:03 Wcmw7TEl0.net
拡張子でもいじって、まぁ、がんばれ!

727:名無しさん@お腹いっぱい。
20/04/30 22:14:46 3iZ5MTR00.net
字幕無視の入力オプション-sn
真偽オプションだから引数は要らない

728:名無しさん@お腹いっぱい。
20/04/30 23:09:47 wLgwFJe80.net
ここ見て思いついたことなんだけど、fdk-aacライブラリで、aacをwavにデコードってできないの?
URLリンク(nw-electric.way-nifty.com)

729:名無しさん@お腹いっぱい。
20/04/30 23:29:47 0i84pJ4z0.net
fdkエンコーダーとaacデコードは別物

730:名無しさん@お腹いっぱい。
20/05/01 00:52:53 WmalfjuP0.net
もしかして、fdk-aacでaacをwavに変換できない?
ソース見たらデコードという言葉があったので、できると思ったんだけどなあ

731:名無しさん@お腹いっぱい。
20/05/01 05:40:01 +CuZZEYi0.net
どういうことだ?
FDK-AACはwavを出力するソフトウェアではないぞ

732:名無しさん@お腹いっぱい。
20/05/01 06:30:26 7BjXl0h20.net
コーデックなんだからできるでしょ

733:名無しさん@お腹いっぱい。
20/05/01 10:07:10.51 R0iHuhWA0.net


734:名無しさん@お腹いっぱい。
20/05/01 10:45:09 HRN4fo5Q0.net
新説:デコードに品質がある

735:名無しさん@お腹いっぱい。
20/05/01 10:47:38.52 BvtTjGxW0.net
なんか無茶苦茶だな…

736:名無しさん@お腹いっぱい。
20/05/01 10:53:10.33 7BjXl0h20.net
電源で音が変わるんだからコーデックが変われば当然変わる

737:名無しさん@お腹いっぱい。
20/05/01 11:05:40 HRN4fo5Q0.net
新語:デコーデック

738:名無しさん@お腹いっぱい。
20/05/01 12:37:41 R0iHuhWA0.net
凸凸凸凛!

739:名無しさん@お腹いっぱい。
20/05/03 23:21:13 0ns1VXJr0.net
drawtextを使って、動画の右端に動画時間を表示させたいのですが、
どのようにすれば良いですか?

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

検索して調べてみましたが、
情報は見つかりませんでしたのでどなたか教えてくださいませ

740:712
20/05/03 23:30:06.59 0ns1VXJr0.net
すいません
text_wでうまくいきました。
あと、
秒数を小数部位を表示したいのですが
text='%{{eif\:t\:d}}\.%{{eif\:mod(t*10\,10)\:d}}
のようにして、10倍してから一桁目をとるようなことをする必要がありますか?
もっと簡単にできる方法があればお教えください

741:名無しさん@お腹いっぱい。
20/05/09 18:12:07 j9KY0Gpt0.net
データ速度、総ビットレート、フレーム率、ビットレートなどはそのままで、
フレーム高とフレーム幅だけ変更する方法はありますでしょうか?

742:名無しさん@お腹いっぱい。
20/05/09 19:56:44.60 vFZgniSj0.net
あるわけねーだろ

743:名無しさん@お腹いっぱい。
20/05/09 20:16:25 AriwjvGx0.net
そもそもデータ速度、総ビットレート、ビットレートの違いって何?w
フレーム率とは?w

744:名無しさん@お腹いっぱい。
20/05/09 20:25:16 kUF02N5O0.net
一人ではしゃぐなよ
キチガイ

745:名無しさん@お腹いっぱい。
20/05/09 20:52:01 Jj+aGJiY0.net
エクスプローラーのカラムはフレームレートのことを「フレーム率」と訳してる

746:名無しさん@お腹いっぱい。
20/05/09 20:54:05 6J8tYZTG0.net
要はビットレートとfpsをそのままで
解像度を変更したいってか?
解像度の縮小なら出来なくはないが若干画質下がるよな
解像度の拡大なら内容によってはかなり画質下がるよな
一体どっちをしたいんだ?
どちらにしろ元の画質よりは下がるが気になるかどうかは個人差だけど・・・?

トランスコード後のファイル容量は内容次第なんで判らん

747:名無しさん@お腹いっぱい。
20/05/09 22:35:55 CGP


748:Dm9wo0.net



749:名無しさん@お腹いっぱい。
20/05/10 00:15:46.32 K7/9Ub/00.net
いくつかあるmp4をフレーム高や幅を1080X1920から720X1280に全部揃えたいので
元の画質のまま縮小出来ないかと思いました。

750:名無しさん@お腹いっぱい。
20/05/10 00:33:34 Z5wZ7UCa0.net
かなりのバカみたいだから画質とかわからなそう

751:名無しさん@お腹いっぱい。
20/05/10 00:40:38 8gYxD07w0.net
サイズ変えると同じ(同じってわけじゃないけども)品質の画質を維持するのに必要なビットレートは変わるよ
細かいこと抜かして感覚的な話で行けば1080pの解像度で5Mbps辺りなら720pで2.5Mbpsくらい
いくつか一部分だけ仮エンコードしてみて納得できるビットレート探ってみたら?

752:名無しさん@お腹いっぱい。
20/05/10 01:18:11 egxzFZV90.net
>>721
プレイヤー側で720X1280にするとか?

753:名無しさん@お腹いっぱい。
20/05/10 02:31:44.61 DPG+qu930.net
縮小したらディテールは失われYUV再劣化とかするけど再生環境を限定するって前提なら別にいい・・・のかな?
縮小の都合でノイズは減るかもしれないけどビットレート足りなくて余計きちゃない()になる可能性もあるし
ついでにインターレースバリバリだとオワタ/(^o^)\画質になるし

754:名無しさん@お腹いっぱい。
20/05/10 03:14:10 ZyMknyki0.net
>>721
「元の画質のまま」がいいなら変換しないほうがいいね
それだとどうやっても画質は落ちる

755:713
20/05/10 13:25:31 emY54I1E0.net
どなたか、私にもご回答いただけないでしょうか?
 
例えば、
動画時間を
4.43 sec
のようなかたちで表示したいのですが、
text='%{{eif\:t\:d}}\.%{{eif\:mod(t*10\,10)\:d}}

のようにするしかないですか?
C#みたいに、.ToString("0.00")みたいな表記はできませんか?

756:名無しさん@お腹いっぱい。
20/05/10 17:29:44 SjCQ5fqs0.net
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

にリネームしないとエラー出てビルドできなかったんだけど、回避方法ある?

757:名無しさん@お腹いっぱい。
20/05/10 18:01:13.61 Z5wZ7UCa0.net
回避してんじゃん

758:名無しさん@お腹いっぱい。
20/05/10 18:49:24 SjCQ5fqs0.net
ごめん言葉足らずだった
リネーム以外に回避方法あるのっと言いたかった

759:名無しさん@お腹いっぱい。
20/05/10 20:04:06 btwDrftv0.net
>727
単体の設定で小数点以下の桁数指定の秒指定が無いから
eif 内で演算するしか方法がないと思う

760:◆P0jSlC5fJs
20/05/11 00:49:42 CAsTzm2N0.net
>>627
複数のフィルタはカンマで分ける

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

>>721
基本的にコーデックによる
世代損失の多いコーデックほど画質は下がる

761:名無しさん@お腹いっぱい。
20/05/12 12:29:09 C+gLB/tr0.net
zeranoe.comにある最新ビルド、ffmpeg-20200510-fc99a24
HLSのキーを取得できなくなっているな。
抽出したURI文字列の頭にゴミが残って、パスが別物になるので、
キーファイルが見つからない、となる。
ffmpegを取り込んでいるMPVの最新ビルド20200510-git-4e94b21でも同じエラーが生じる。

ffmpeg、mpvともに一つ前のビルドはこの点においては問題なし。

HLSを扱う人は、アップデートは待ったほうがいいよ。

762:名無しさん@お腹いっぱい。
20/05/13 01:31:54 OxnAAaO00.net
TSをmp4(h264)にエンコードして、画質をssimで調べてるんだけどssim値が予想と違う。

以下のようにエンコード。<CRF>は0,10,20,30と変えた。
$ ffmpeg -fflags +discard


763:corrupt -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測定時のオプションなど間違っているのでしょうか?



764:734
20/05/13 01:35:46.08 OxnAAaO00.net
誤: $ ffmpeg -i input.ts -i output-<CRF> \
正: $ ffmpeg -i input.ts -i output-<CRF>.mp4 \

765:名無しさん@お腹いっぱい。
20/05/13 04:35:48.51 Z3WTVEyB0.net
SSIMは映像の品質を評価するのに向いていないのであまり信頼しないほうがいい

766:名無しさん@お腹いっぱい。
20/05/13 09:23:45.37 Z6fAK/CR0.net
最後は目視

767:名無しさん@お腹いっぱい。
20/05/13 10:32:25 Iek5ichG0.net
色々試してみてその時は気になりつつも妥協したのにそのプロファイル固定でやるようになると見る時に何も気にならない不思議

768:名無しさん@お腹いっぱい。
20/05/13 10:40:56 lrDXybw30.net
比較すれば違いがあるのは判るけど、
それが問題となるかは全然別の話

769:名無しさん@お腹いっぱい。
20/05/13 13:58:41 Yp8vBFeK0.net
skipping ** segments ahead, expired from playlists
↑これが表示されたら自動で終了させたいんですが、方法はありますか?

770:名無しさん@お腹いっぱい。
20/05/13 14:08:19 BRdMc3QQ0.net
あります

771:名無しさん@お腹いっぱい。
20/05/13 16:37:42 4v3JYXTT0.net
覚え書き:一行コマンドで複数入力・複数出力

[グローバルオプション]
[入力1オプション] -i <入力1>
[ [入力2オプション] -i <入力2> ……]
<出力1オプション> <出力1>
[ [出力2オプション] <出力2> ……]

772:名無しさん@お腹いっぱい。
20/05/13 18:31:35 gexdbhqu0.net
>>742
入力オプションは入力のあとじゃないと、
グローバルオプションとの区別がつかなくなる

773:名無しさん@お腹いっぱい。
20/05/13 19:12:30 BRdMc3QQ0.net
アホは黙ってろ

774:名無しさん@お腹いっぱい。
20/05/13 20:26:52 4v3JYXTT0.net
>>743
入力オプションと被るグローバルオプションってあったっけ
構文解析の時に自動で判別してるもんだと思ってる

775:名無しさん@お腹いっぱい。
20/05/13 21:15:52.53 Un3dDNFS0.net
テスト

776:734
20/05/13 21:16:41 Un3dDNFS0.net
>736 >737 ありがとうございます。
今はx264(ソフト)ですがそのうちNVEncも試したいので、分かりやすい比較指標が欲しいなと思いSSIMを使っています。

777:743
20/05/13 21:18:08 Un3dDNFS0.net
試しに、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)

778:名無しさん@お腹いっぱい。
20/05/13 23:01:55 Rirjujk50.net
>>748
俺も理由はよくわからないんだけど、音声なしでMP4にエンコードしてSSIMを計測するとうまくいったりしない?

779:名無しさん@お腹いっぱい。
20/05/17 15:23:58 sJVMCeq30.net
5/10以降のWindowsビルドで、
ffmpeg -safe 0 -f concat -i index.txt -c copy output.mp4
ってやるとImpossible何たらでエラー吐くんだけど
5/4以前なら問題なし

780:名無しさん@お腹いっぱい。
20/05/17 15:40:47 wyyabrLb0.net
へえ

781:名無しさん@お腹いっぱい。
20/05/17 16:14:46 6pouxY/V0.net
>>750
>>733 も同じビルドからおかしくなってる。
ファイルパス絡みのオプションのパースがおかしくなってるのかな。

782:名無しさん@お腹いっぱい。
20/05/21 11:06:59 FbBId9sI0.net
>>733
20200519-74dfc88で直ってた
やはりファイルパスの取り扱い(親ディレクトリパスの取得)がおかしくなっていた模様

URLリンク(git.videolan.org)
URLリンク(trac.ffmpeg.org)
URLリンク(trac.ffmpeg.org)

783:名無しさん@お腹いっぱい。
20/05/21 11:40:46.45 yX0Ss53O0.net
>>732
超亀レスだけどカンマで分ける件教えてくれてありがとう

784:名無しさん@お腹いっぱい。
20/05/22 23:53:26 orP4Qvwa0.net
FFmpeg 4.2.3 "Ada"
4.2.3 was released on 2020-05-21.

785:名無しさん@お腹いっぱい。
20/05/26 11:31:07 kFexKKRq0.net
「FFmpeg」に致命的な脆弱性 ~修正版の「FFmpeg 4.2.3」が公開 - 窓の杜
URLリンク(forest.watch.impress.co.jp)

786:名無しさん@お腹いっぱい。
20/06/01 02:22:43.53 LXV95fQ60.net
覚え書き:フレームレート周りの用語
fractional frame rate(分数フレームレート):30000/1001 ≒ 29.97fpsとか60000/1001 ≒ 59.96fpsとか
integer frame rate(整数フレームレート):30fpsとか60fpsとか
ドロップフレーム:(主に分数フレームレートの素材について)1/1001の割合で飛ばしてタイムコードを紐付ける方式、またそのタイムコード
 (分数フレームレートの事を指す為に使うのはいい加減な表現のはず)
ノンドロップフレーム:切れ目なくタイムコードを紐付ける方式、まやそのタイムコード
 (整数フレームレートの事w(ry)

787:名無しさん@お腹いっぱい。
20/06/01 20:17:28 LXV95fQ60.net
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

788:名無しさん@お腹いっぱい。
20/06/03 23:10:09 NMWKQnDS0.net
mp3 や m4a などからフォーマット変換なしに
アートワークを出力するオプションはありますか?

ffmpeg -i input.m4a cover.jpg
ffmpeg -i input.mp3 cover.png

などのようにやると埋め込み画像とフォーマットが異なる場合に
変換されてしまうので、これを避けたい

ちなみに出力時に拡張子は要りません
埋め込み画像データがバイナリファイルとして書き出せれば良いです

想像のコマンドオプションですが
ffmpeg -i input.mp3 -f ffimage cover.bin
みたいのをイメージしています。

789:名無しさん@お腹いっぱい。
20/06/03 23:53:31.46 s7lI5dZf0.net
mp3tagでも使えばいいのでは

790:名無しさん@お腹いっぱい。
20/06/04 00:51:45.05 WG4cHAEV0.net
シンプルだけど乱暴なやりかた
ffmpeg -i input.mp3 -c copy output.jpg

791:名無しさん@お腹いっぱい。
20/06/04 09:07:54 VbsWF3MI0.net
>>760
プログラムから制御


792:するので コマンドラインを使いたいです >>761 ありがとうございます 画像系の拡張子なら フォーマット変換なしで バイナリ取り出せますね 「乱暴な」という意味分かりましたw 拡張子はフォーマット指定ではなく 単に画像出力指定の意味なんですね



793:名無しさん@お腹いっぱい。
20/06/05 00:18:11 i9SBpUlA0.net
インターレース解除、重複フレーム削除、逆テレシネなどを調べてるけど
こだわり始めると難しいんだな。
こういうの↓とかも面白かった。
URLリンク(stackoverflow.com)

で、インターレース解除とかって容量削減が大きな理由だから
容量削減に重きを置いていない場合、やらなくていいじゃね?と思っていたら
>>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くらいならまぁいいかという感じになった。

インターレース解除、重複フレーム削除、逆テレシネしない場合
容量が大きくなる以外にデメリットってありますか?

794:名無しさん@お腹いっぱい。
20/06/05 10:03:28 XFbcJCus0.net
縦方向のリサイズができない
フィルタもインターレースに対応してないと悪影響がでることがある
ちゃんとインターレースフラグ立てないと再生時に解除されない
hevcなど、x264以外のコーデックはインターレースには対応してない

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

*x264でやるにしても、ちゃんとインターレースのフラグを立てるというのが大前提

795:名無しさん@お腹いっぱい。
20/06/05 10:54:47.32 +5TGGNS30.net
>>764
> hevcなど、x264以外のコーデックはインターレースには対応してない
ベタなツッコミだけど、x264はコーデックじゃなくエンコーダな。コーデックとして言うならH.264/AVC。
あとH.265/HEVCは仕様としては一応インターレースにも対応してるし、エンコーダのx265もインターレースに対応してるけど、
インターレースエンコードしたものをちゃんと再生できるデコーダが出回っていないというのが現状。

796:名無しさん@お腹いっぱい。
20/06/05 11:51:24 HXUWVyIW0.net
>インターレース解除、重複フレーム削除、逆テレシネなどを調べてる

テレビ録画したTSのエンコードで、こういう処理の失敗って結構あるの?
失敗を見つけるのってひたすら動画見るしか無いから、あとで気づくってのがありそう。

797:
20/06/05 13:06:33.14 u6zccjlm0.net
>>765
コーデックはエンコーダーとデコーダー
x264はエンコーダーだからコーデック
H.264は規格だからコーデックではない

798:名無しさん@お腹いっぱい。
20/06/05 13:07:49.30 XFbcJCus0.net
>>766
テレシネ解除は、海外製のプラグインや手法は字幕の存在を想定してないから失敗しやすい
自分はffmpegでそういう処理はしないからffmpegの性能は把握してないけど
ffmpegも海外発だから期待はできなさそう
インタレ解除はyadifとか古いものを使わなければ
目立った劣化なく解除できる
>>765
最初はh.264って書いてたけど、x264の仕様しか把握してないから書き換えたのだ

799:名無しさん@お腹いっぱい。
20/06/05 14:57:36.68 SLNtFjjg0.net
avisynthでやってた頃はインタレ保持とか結構簡単にできてたような気がするが、
ffmpeg使うようになってからは、めんどくさくてやらなくなっちゃった。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch