探検


ffmpegならこちらへ 7

■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
垢版 |
2022/08/05(金) 21:05:41.29ID:EVyx8BnW0
公式サイト
http://ffmpeg.org/

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

前スレ
ffmpegならこちらへ 6
https://egg.5ch.net/test/read.cgi/software/1629006665/
2023/01/31(火) 16:13:56.99ID:CxIQq1JO0
ffprobeなどで調べたらいいんじゃね。チャプター
2023/01/31(火) 19:53:18.75ID:5YX2LrDQ0
先頭にチャプターひとつって、なんかメリットあるの?
プレーヤーの動作も変わらないような
2023/01/31(火) 21:20:50.86ID:/iJY7FYD0
mkvmergeで各ファイルの先頭にチャプターを付けることもできるけど、
既に付いてるところにさらに付けると壊れるんだよな
だから、動画には全部チャプターが付いているものとして、mkvmergeでは何もしないのが安全
2023/01/31(火) 21:52:24.47ID:5YX2LrDQ0
>>114
壊れるんじゃなくて、別のチャプターセットが作られて、そちらが優先されるんじゃなかったっけ?
2023/01/31(火) 22:15:06.93ID:/iJY7FYD0
チャプター4つとチャプター2つの動画をチャプター生成付きでマージすると、
チャプター8つの動画になって、チャプター6に飛ぼうとすると次のファイルとかになる
2023/02/04(土) 00:48:05.77ID:frWElaDR0
ffmpeg -i input.ts -c copy -movflags faststart output.mp4
これだけを実行する小さなサイズのものをビルドしたいのですがこの場合
どんな構成オプションを設定すればよいでしょうか?
2023/02/04(土) 09:23:27.84ID:MS/k36cL0
どこまでdisableすればいいのかな
https://github.com/FFmpeg/FFmpeg/blob/master/configure
2023/02/04(土) 13:52:00.64ID:CkN0COGi0
ffmpeg-minimal-build-for-rtmp-streaming.md · GitHub
https://gist.github.com/gyk/49dc80c58691a21a1c5f5e16926beaa6

[FFmpeg-user] Minimal ffmpeg build
https://ffmpeg-user.ffmpeg.narkive.com/SaTIORmI/minimal-ffmpeg-build
2023/02/10(金) 23:25:20.17ID:u9iN2NxJ0
回答ありがとうございました
ちょうどこのページが役立ちました
https://stackoverflow.com/questions/69842795/ffmpeg-custom-build-support-for-converting-ts-to-mp4-files
2023/02/11(土) 07:27:58.24ID:LpXi8wul0
どのくらい小さくなるの?
2023/02/11(土) 19:32:34.21ID:4lwriVd10
102MB -> 3MB くらい
2023/02/11(土) 19:57:33.46ID:LpXi8wul0
贅肉だらけやな
2023/02/14(火) 17:53:47.05ID:dcMiAHGq0
ffmpegのフレーム補完について質問です

20fpsと24fpsとの混合フレームで120fpsの動画をフレーム補完する場合は
そのまま240fpsで補完した方がいいのでしょうか?
それとも一度20or24fpsまで落としてから改めて60fpsにすべきでしょうか?
2023/02/21(火) 03:31:01.03ID:oBtwc/Px0
重複フレームがフレーム補完に悪さをするから20or24fpsまで落とそう
20fpsと24fpsとの混合フレームにするときVFRにして、それをフレーム補間の入力にしても解決になる
要は補完元のタイムスタンプが正しければいい
2023/02/21(火) 16:58:34.30ID:5JxyFhFU0
質問です。
動画のフレーム内の明暗の差を調べたいのですが、どのフィルタを使えばよいのかわかりません。

どんなフィルタを使えばよいかアドバイスいただけませんでしょうか。
2023/02/21(火) 20:36:02.55ID:IS7nhkfT0
フレーム内の輝度の10パーセンタイルと90パーセンタイルを調べる方法
ffmpeg -i input -vf signalstats,metadata=mode=print:key=lavfi.signalstats.YLOW:file=YLOW.txt,metadata=mode=print:key=lavfi.signalstats.YHIGH:file=YHIGH.txt -an -f null -
ffprobe -v error -f lavfi -i movie=input,signalstats -select_streams v:0 -show_entries packet=pts_time -show_entries packet_tags=lavfi.signalstats.YLOW,lavfi.signalstats.YHIGH -of csv=p=0 > YLOWYHIGH.csv
2023/02/22(水) 03:06:14.54ID:rCEnvhou0
>>24
いいやFFmpegでも補正できるぞ
1DLUTを使ってBT.709 OOTFの伝達特性を与えればいい
ffmpeg -i src.jpg -vf lut1d=Rec._ITU-R_BT.709-6_OOTF.cube dst.jpg
.CUBEファイルhttps://pastebin.com/vDwU7u48
式はLUTのコメントに書いといた
2023/02/22(水) 17:05:00.58ID:BntjpjgC0
>>125
お答え頂きありがとうございます
2023/02/28(火) 21:52:39.24ID:ckhz4uUZ0
6.0出たの?
2023/03/01(水) 23:44:50.34ID:j99YvlUD0
出た
2023/03/02(木) 00:25:55.91ID:wXhRC9mg0
複数tsファイルの結合がどうしてもできません

ffmpeg -f concat -safe 0 -i input.txt -c copy output.mp4

で実行

 [concat @ 000001cf078faf00] Line 1: unknown keyword '"C:\bin\0001.ts"'
input.txt: Invalid data found when processing input

エラーになります

テキストファイルはUTF-8で保存
tsファイルもffmpegと同じフォルダ内に保存しています

input.txt内です
"C:\bin\0001.ts"
"C:\bin\0000.ts"
2023/03/02(木) 07:32:09.56ID:gcz4yp440
単純にinput fileの書式違ってるだけでは?

file 'path/to/file1.ts'
file 'path/to/file2.ts'
134名無しさん@お腹いっぱい。
垢版 |
2023/03/04(土) 20:52:35.68ID:Pq6Hhyu60
webaファイルを変換しようとすると下記のようにエラーが出て途中で止まるのですが、何が原因なんでしょうか...?
ffmpegのバージョンは5.1.2です。

ffmpeg -i test.webm convert.mp3

Input #0, matroska,webm, from 'test.webm':
Metadata:
encoder : google/video-file
Duration: 02:02:46.46, start: -0.007000, bitrate: 1 kb/s
Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
Stream mapping:
Stream #0:0 -> #0:0 (opus (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, mp3, to 'convertdata.mp3':
Metadata:
TSSE : Lavf59.27.100
Stream #0:0(eng): Audio: mp3, 48000 Hz, stereo, fltp (default)
Metadata:
encoder : Lavc59.37.100 libmp3lame
[matroska,webm @ 0x7f9342705a40] File ended prematurelyspeed=45.1x
size= 944kB time=00:01:00.41 bitrate= 128.1kbits/s speed=45.5x
video:0kB audio:944kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.024511%
2023/03/04(土) 21:49:30.88ID:dBBqKSJv0
壊れてるのでは
2023/04/14(金) 21:07:01.83ID:UKZjsPgc0
誘導されてきました

ストリーミングを保存する時にファイル名に日付を入れたいんですが
チャットGPTが教えてくれた
ffmpeg -i <ストリームのURL> -c copy "output_$(date +'%Y-%m-%d').mp4"
にしてもエラーが出てしまいます
単なる「output.mp4」ならできるんですが・・・

すみませんがお助けくださいませ
2023/04/14(金) 21:08:19.71ID:/o3PsJPn0
試してないけど%を%%に置き換えるとか
2023/04/14(金) 21:47:39.04ID:s6sWAvD00
%Y-%m-%dの前後に「'」要らないとか
エラー出力に何か書いてあるのでは?
2023/04/14(金) 21:57:34.79ID:UyiHI4YS0
>>136
その内容をチャットGPTとやらに質問すればいいやん?
そういうオプションはOS(Windows/Mac/Linux etc)によって微妙に違うからちゃんと「〇〇のOS」を付け加えないとだめだぞ
それと具体的なエラーの内容も付け加えないとチャットGPTからダメ出しされるぞ
2023/04/14(金) 23:29:53.67ID:D1tYyTmm0
-strftime が要るのでは
141136
垢版 |
2023/04/16(日) 12:07:44.52ID:aNYLWdyh0
結局よくわからなかった

チャットGPTは当てにならないので
ストリーミングを日付込みで保存するやりかた教えてください
142136
垢版 |
2023/04/16(日) 12:22:33.65ID:aNYLWdyh0
ごめん整理します
最初から付き合って

ffmpeg -i <ストリームのURL> -c copy <出力ディレクトリ>output.mp3
これで「output.mp3」はうまく保存できるのだけど
このファイル名に日付を加えたいのだけどどうしてもできない

そういうことです
よろしくお願いします
2023/04/16(日) 12:28:27.26ID:d8YVornD0
そのコマンドはどこから実行してるの?
2023/04/16(日) 12:39:56.65ID:dsHNvnjy0
本当に%Yという名前のファイル名にしたいのか日付で置き換えて欲しいのか判らないので、
置き換える時は -strftime オプションを付けることになっている
145136
垢版 |
2023/04/16(日) 12:46:20.74ID:aNYLWdyh0
>>144
ありがとう
ちょっと調べてみます
わからなかったらまた質問します
2023/04/16(日) 12:49:49.47ID:d8YVornD0
環境は絶対に教えないタイプ
2023/04/16(日) 12:58:46.48ID:aNYLWdyh0
>>146
Windows10って書けばいい?

そもそもの知識がないので
わからない事がどうわからないのかがわからないし
自分が知りたい事のために他人の必要な物がよくわからないので
不備あるならご勘弁
2023/04/16(日) 12:59:37.49ID:DhfAyrEB0
ffmpegの機能じゃなくてコマンドプロンプト(cmd.exe)やpowershellなどのコンソール側の機能で日付を付ければいいんじゃね
cmdは知らんけどpowershellなら
([datetime]::now.tostring() + "outputname")
でいけると思う(適当w)
2023/04/16(日) 13:38:01.78ID:MN6JaOmR0
pythonなら

import datetime
import sys
import subprocess
filename = rf'{sys.argv[2]}\{datetime.datetime.now().strftime("%Y%m%d")}.mp3'
subprocess.run(["ffmpeg.exe", "-i", sys.argv[1], "-c", "copy", filename])

UTF-8でffm.pyで保存して
python ffm.py <ストリームのURL> "<出力ディレクトリ>"
2023/04/16(日) 13:53:51.81ID:rOf8z/QI0
そのコマンドwin環境だとまともに動かない気もするし、そもそもffmpeg関係ない気もする
もしwin環境のコマンドプロンプトで実行するなら取得した日付の「/(スラッシュ)」を置き換える方法で簡単にできるよ(確かめた)
2023/04/16(日) 13:59:53.56ID:8FmzgOTk0
こんにちは、こちらはBingです。😊
ストリーミングを保存する時にファイル名に日付を入れたいということですね。
コマンドプロンプトから以下のように入力すると、ストリーミングのURLから動画をダウンロードして、ファイル名に日付を付けることができます。

ffmpeg -i "URL" -c copy output%date:~0,4%%date:~5,2%%date:~8,2%.ts

「%date:~0,4%%date:~5,2%%date:~8,2%」は現在の日付を表します。例えば、2023年4月16日なら「20230416」となります。 「ts」は出力した動画ファイルの拡張子です。mp4やmovなどお好みで変更できます。
2023/04/16(日) 14:14:13.98ID:8FmzgOTk0
了解です。時間も加える場合は、以下のように入力してください。

ffmpeg -i "URL" -c copy output%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.ts

「%time:~0,2%%time:~3,2%%time:~6,2%」は現在の時刻を表します。例えば、13時57分20秒なら「135720」となります。
2023/04/16(日) 14:24:55.76ID:8FmzgOTk0
はい、できます。短く表記するには、以下のように入力してください。

ffmpeg -i "URL" -c copy output%date:/=%_%time::=%.ts

「%date:/=%」は日付を「/」で区切らずに連結します。例えば、2023年4月16日なら「20230416」となります。 「%time::=%」は時刻を「:」で区切らずに連結します。例えば、13時57分20秒なら「135720」となります。
2023/04/16(日) 14:53:45.72ID:83FROnyP0
このスレの住人は優しいなぁ!
2023/04/16(日) 17:34:53.78ID:aNYLWdyh0
>>153 できたよ
ありがとうございました!
またわからない事あったら訊きにきます
2023/04/16(日) 18:24:20.27ID:8FmzgOTk0
AIに聞けよw

Windows10のffmpegでストリーミングを保存する時にファイル名に日付を入れたい

「output%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.ts」を短く表記できますか?
2023/04/17(月) 18:55:58.26ID:bD+3w7wa0
mkv←→mp4とコンテナだけ変えたいんですが
ファイルのタイムスタンプ(作成日時、更新日時)を維持するコマンドってありますか?
2023/04/17(月) 19:13:32.90ID:Vot0u2U40
コンテナだけ変えるほうはcopyでいいとして
タイムスタンプはOS側の機能だからffmpeg関係ないのでは
2023/04/17(月) 19:20:23.36ID:eG0MhyYT0
そんな機能があっても不思議は無いけど、現状無い

なんでもbatでやらずに、簡単なスクリプトから呼ぶようにすれば、
ファイル名もタイムスタンプも自由自在なのに
2023/04/17(月) 20:31:08.62ID:bD+3w7wa0
>>158-159
そうですか、ありがとうございます
コンテナ変換コマンドはこんな感じでしょうか
ffmpeg -i input.mkv -vcodec copy -acodec copy output.mp4

ffmpegすら触り始めたばかりなので、スクリプトは追々勉強していきたいと思います
2023/04/17(月) 20:36:56.38ID:xOaTAEsz0
>>160
動画音声どちらもコピーなら両方書かず-c copyだけでいいよ
2023/04/17(月) 20:46:42.65ID:bD+3w7wa0
>>161
ありがとうございます!
2023/04/17(月) 20:50:18.13ID:eG0MhyYT0
いやいやいや
なるべく省略しない方がいい

直にタイプしてて少しでも早くやりたいなら省略もいいけど、
何度も使うbatやスクリプトを書くなら省略は罠になる
2023/04/17(月) 20:54:18.94ID:bD+3w7wa0
なるほど、勉強になります
165名無しさん@お腹いっぱい。
垢版 |
2023/04/19(水) 20:54:58.19ID:DtPsgSYv0
6.0でAV1のHWエンコ対応になったのに、あんまり話題になってないな…



最新の「git master builds」から入れたら、一見ちゃんと出力できてる様に見せかけて、
途中10秒ぐらいだけ音声が無音になってるっていう、鬼畜の様なバグがあったから、みんな気をつけろ!

それも数十ファイルに1個ぐらいで発生してたからわかりずらい。(特定の動きの速いシーンだけで発生(?))
GPUのマルチスレッド対応になったのが悪さしてたんかな…

(途中エラー終了したファイルがあったので、一個一個確認したらたまたま気づいた)
「release builds」の方の6.0に変えたら直ったっぽい。( ´o`)
2023/04/23(日) 15:57:50.40ID:ftTgy/cA0
右の音が大きくなったり左の音が大きくなったりするステレオ音源(いわゆる立体音響)を良い感じにモノラル音源に変換する方法を教えてください
2023/04/23(日) 17:21:06.61ID:GpimmP6/0
単にモノラルにするなら -ac 1
2023/04/27(木) 22:29:15.44ID:ObpWozPp0
2パスエンコ~ドしてると思ってい~た~ら~
2回エンコ~ドしてるだけで~し~た~
チクショー!!!!!
2023/04/27(木) 23:45:24.44ID:N3IdiAxX0
その素晴らしいエンコに祝福を
2023/04/28(金) 00:31:16.15ID:AeSLN7Wb0
エンコの神様
2023/05/01(月) 00:02:27.79ID:xRx4Z4k40
>>168
誰もが通る道だ。どんんまいwww
2023/05/01(月) 00:19:31.01ID:Z6tEn1Zp0
いい加減、binにパス通した
2023/05/03(水) 06:29:19.91ID:GqzAL4j+0
AV1のエンコは洒落にならないくらい時間がかかる。
0.1倍速とかそんなもん。使いもんにならん。
2023/05/03(水) 07:02:52.07ID:elGn55I40
libaom-av1の話ならav1anやそのGUIフロントエンド使え
分割エンコードしてCPUちゃんと使ってくれるようになるから
2023/05/03(水) 07:16:18.02ID:elGn55I40
ffmpegだけでav1エンコしたいならlibsvtav1のほうがいい
preset 8ぐらいならx265のmediumとそんなにエンコ速度変わらないだろ
2023/05/03(水) 07:26:12.59ID:Pq/Ut1kA0
svtは最適化が続けられていてプリセットの内容がちょいちょい変わるので、アプデ時は注意だ
2023/05/27(土) 18:25:36.28ID:vSdpHpKo0
スマホで見る用にDVDの画像ベース字幕焼きエンコしてるんだけど
人名とか日付だったり縦横とか2つ以上混在する場面で一瞬表示されて消えてしまう
プレイヤー側で表示するのは問題なくて焼いた動画にするとおかしくなるからoverlayの仕様なのかな
2023/05/27(土) 20:15:23.58ID:CA2gRduz0
スマホのプレーヤーもソフトサブに対応してると思うけど、それじゃだめなん?
2023/05/27(土) 20:17:42.15ID:CA2gRduz0
字幕の位置をキチンと指定しないと上書きされちゃう仕様だったような
assだと問題なく焼けるんだけどね
2023/05/27(土) 21:27:27.58ID:vSdpHpKo0
えぇ位置指定とか初耳
あとプレーヤー側でのも最終的にはそれしかないかなと考えてるけど
文字デカくしてそのぶんの位置調整とかググったら出来るのかどうかがよくわからんかったもんで
ちなみに拡大とちょっと上下位置調整するぐらいはscaleとoverlay=で問題なく出来てる
2023/06/07(水) 10:53:22.83ID:StYBuiL80
教えて頂きたいのですが、ffmpegでmkvにass字幕を焼き付けると
縦字幕の(―)や(・・・)が横字幕として焼き付いてしまいます。
縦字幕で正常に焼き付けることは可能でしょうか?
2023/06/07(水) 11:11:42.31ID:h248HFpJ0
説明下手だろ
2023/06/07(水) 15:50:39.95ID:Qr2WfplD0
フォント名の前に@つけてもダメ?
184名無しさん@お腹いっぱい。
垢版 |
2023/07/15(土) 18:05:08.96ID:4OQzm0U+0
このスレ動てるか?
2023/07/19(水) 01:54:26.45ID:/95Q402x0
スレ動いてると信じて誰か教えて

フィルタで指定するファイルPathの記述がどーしてもうまくいかないです
コロンや\のエスケープは、\\や/\、\\\\など複数種類試したんだけど、どれもFailed to openでして
エラーメッセージ的には「removelogo=C\\:\\\\logo.lgd」←この指定が一番イケそうなんですけど、ダメでした

Error loading image file 'C:\logo.lgd'

OSはWindows11、実行バイナリは自動ビルドの最新を使ってます
2023/07/19(水) 02:22:21.67ID:c/rcUHkO0
フォルダ区切り \ じゃなくて / 使うとどうかな
2023/07/19(水) 02:46:43.35ID:/95Q402x0
バックスラッシュは単体だけでなく、複数ミックスしてうまくいった事例が昔はあったらしく
いろいろ試しましたがダメでした
2023/07/19(水) 03:30:08.89ID:ise1Epoh0
それは実行環境によるんじゃないですかねぇ
バッチファイルとかコマンドプロンプトならコロンも\もエスケープは要らないと思うんだけど
2023/07/19(水) 04:14:29.06ID:/95Q402x0
https://ffmpeg.org/ffmpeg-filters.html#Notes-on-filtergraph-escaping
少なくともエスケープ無しだと全然ダメで、ドキュメントによると要るのが正解っぽい
どなたか実際に使えてるPATH入りのフィルタの記述、教えてくれんだろか…
190名無しさん@お腹いっぱい。
垢版 |
2023/07/19(水) 07:15:08.21ID:+Q3T7XJL0
>>185
C\\:/file.txt
2023/07/19(水) 12:18:33.51ID:30l5ZOEV0
オレも以前困ったときがあってその時は解決できた
記憶も定かではないけどちょっと思い出してみるとこんな感じ

フィルターの記述で:(コロン)はフィルターのオプションの区切り文字として使われている
 scale=w=100:h=200
みたいな感じに
なので
 C:/xxx.txt
こういうパスの記述だと:(コロン)をフィルターのオプション区切りと誤認する
そのため
 C\:/xxx.txt
という感じでエスケープする
これでダメならエスケープをエスケープしてw
 C\\:/xxx.txt

また
パス区切りは\(バックスラッシュまたは円記号)ではなく/(スラッシュ)を使うんじゃなかったかな・・・

あと
プラットフォームがwindowsだと:(コロン)を使わないドライブレター(デバイス)指定があったはず
powershellでGet-Partitionあたりで調べられたような・・・
2023/07/19(水) 14:19:31.05ID:kPInWsuE0
FFREPORT出力先の指定(環境変数に代入)も同じ問題を抱えていたな
その時は、バッチファイルだったんだけど、
: → \\:
\ → \\\\ でよかったような
オプションはまた違うのかもね
2023/07/19(水) 14:31:17.54ID:Ii+p4eLA0
自分はカレントディレクトリを操作してファイル名だけを指定してるわ
2023/07/19(水) 14:53:11.25ID:/95Q402x0
なんかoverlay fontとか他の要素だと通る記述が、logo消しだと通らないんですよね
pathのparserが違うとは思いたくないけど、実行時の出力を見るとありえそう
一旦あきらめますわ
ありがとう
2023/07/19(水) 15:51:14.89ID:vcnIrXPi0
Error loading image file 'C:\logo.lgd'

ffmpeg できれいにロゴを消す方法
https://nico-lab.net/removelogo_for_high_quality_with_ffmpeg/

ここだと画像を指定しているな
removelogo=logo.bmp
2023/07/20(木) 08:39:57.62ID:PENUdqnp0
m3u8ファイルをURLから読ませて.tsファイルを落として結合してくれる機能は便利なんだけど一時的にアクセスできないエラーがあると飛ばして結合しちゃうのが困る。
ログファイルでエラーチェックしてそこだけリトライできたら良いのに全部DLし直しになるしwebサーバが過負荷だったりすると今度は他のファイルでエラー出たりと。
irvineで手作業でやってるけどm3u8のパス記述は相対が多いので一手間かかる。
Irvineみたいなツールでm3u8を読ませると一覧でステータス表示しながらファイル落としてくれるツールないですか?
2023/08/12(土) 13:36:04.64ID:nmj8+2WF0
再生するには困らないmkvファイルがあって、
ffmpegに読ませようとすると
EBML header parsing failed
になってしまう

なんとか無理やり読ませられないかな
2023/08/12(土) 16:14:57.46ID:vJasxnmJ0
>>197
mkvmerge(mkvtoolnix)でリコンテナしてみたらどうかな?
2023/08/12(土) 16:34:41.51ID:nmj8+2WF0
mkvmerge v73.0.0 ('25 or 6 to 4') 64-bit
エラー: The type of file 'xxx.mkv' could not be recognized.

mkvmergeでも駄目だった
2023/08/12(土) 16:37:35.39ID:nmj8+2WF0
v78でも同様
2023/08/12(土) 16:39:48.03ID:cnkD+scW0
>>199
本当にMKVなのか? MediaInfo Liteで情報見てみてよ
2023/08/12(土) 16:42:09.55ID:nmj8+2WF0
多分違う
ヘッダが
49 44 33 04(ID3 )
こんなんなってる
よく再生できたな
2023/08/12(土) 19:07:14.39ID:nmj8+2WF0
結局、aacファイルだったみたいで、拡張子を.aacに変えたら全てが正常になった
2023/08/12(土) 19:23:49.80ID:1hiMtR7h0
極窓が必要だな
古すぎて対応してないだろうけどw
205test
垢版 |
2023/08/21(月) 21:41:48.79ID:xVaREiry0
test
206名無しさん@お腹いっぱい。
垢版 |
2023/08/21(月) 21:46:28.78ID:xVaREiry0
いつもFFmpegでH.264形式でエンコードする時に
GOPを設定せずに行うのですが、
MPC BEで再生した時、
なぜか動画によって、フレーム毎にシークバーが動かせるものと
8秒おきにしか動かせないものがあることに気が付きました。

エンコードの設定は全く同じで、元ファイルが異なるだけで
なぜかシークの挙動が異なります。

MediaInfoで調べるといずれも
keyint=250 / keyint_min=25
という同じGOPの設定になっています。

試して、フレーム毎にシークバーが動かせるファイルに関して、
keyint=30 / keyint_min=3

の設定でエンコードしてみたところ、
やはりファイルサイズは大きくなることが分かりました。

つまり、
keyint=250 / keyint_min=25
という設定にも拘わらず、フレーム毎にシークバーを動かせるファイルが存在することになります。

どのようにすれば、毎回このように、ファイルサイズを小さくしたままで
フレーム毎にシークバーを動かせるファイルをエンコードすることができますか?

もしかして、シークバーを微調整できるかどうかって、
keyint以外にも設定があったりしますでしょうか?
207206
垢版 |
2023/08/21(月) 21:51:00.98ID:xVaREiry0
すいません、どうも動画時間が関係していることが分かりました。

動画時間が8秒以下の場合には、
keyint=250 / keyint_min=25
の設定であってもフレーム毎にシークできるようです。

それなら、8秒以上でも設定によっては
同じ設定でフレーム毎にシークできるようにすることは可能でしょうか?
2023/08/22(火) 11:34:09.48ID:MopIHYVE0
なんとなくだけど
mp4やmkvといったコンテナの違いじゃね
2023/08/25(金) 00:12:32.60ID:ResDke840
MPC BEがどうシークしてるかわからないからな
シークできるフレームといえばキーフーレームだし
そのキーフーレーム間隔をいじるのがkeyintだから

キーフーレーム間隔を設定する方法には-force_key_framesとかkeyint以外にもあるけど、そういう話じゃなさそうだね
keyint=250で8秒おきにしーくできるってことは、その動画は30fps?
2023/08/25(金) 01:42:26.54ID:ResDke840
https://mega.nz/file/oUMXhLjB#nO_J99RB0ZSoHYX_qGSaFFbWNFHaOUEqEcB2yNTAtQY
GOPのサイズを調べるために作ったバッチファイルだけど、これでキーフレームの位置もわかるから
MPC BEのシークバーを動かせる位置とキーフレームの位置を比べてほしい
2023/08/25(金) 01:45:30.10ID:ResDke840
キーはnO_J99RB0ZSoHYX_qGSaFFbWNFHaOUEqEcB2yNTAtQY
■ このスレッドは過去ログ倉庫に格納されています

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