大学の申し込みを保存してください。私はビデオを学校の入学ウェブサイトにアップロードしていますが、それは低品質のファイルに変換しています。何らかの理由でこれらの変換されたファイルにはオーディオスキューがあります(オーディオが100ミリ秒前になりすぎてビデオが台無しになります)。
アップロード時にオーディオのスキューが発生しないように、ビデオを前処理する方法はありますか?ここでの助けは大歓迎です。基本をグーグルすることを別にして、オーディオ/ビデオについてはあまり知りません。
残念ながら、ウェブサイトが実行している正確なコマンドはわかりません(私の推測ではffmpegです)がffprobe
、元のファイルと変換されたファイルで使用しました。これが結果です:
ORIGINAL
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 320 kb/s (default)
Stream #0:1(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 17982 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 119.88 tbc (default)
CONVERTED
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 160 kb/s (default)
Stream #0:1(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x404 [SAR 404:405 DAR 16:9], 1002 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
オーディオは48khzから44.1khzに変わり、低いkb / sになります。
ビデオが59.94fpsから29.97fpsに変更され、解像度が低下します。
の出力ffprobe -show_streams
をこれらの要点に貼り付けました:originalとConverted。
おかげで、私の大学のアプリケーションを保存してください!
@Mulvyaありがとう、編集にそれらを追加しました。以下のように見える
—
ハインリッヒシュメッターリング
start_pts
、start_time
、duration_ts
、duration
、およびnb_frames
すべて異なっています。
スキューは最初から発生しますか?オーディオ開始時間の差は23ミリ秒であり、AACプライミングサンプルはカウントされません。
—
ギャン
@Mulvyaええ、最初からスキューがあります。23msをどのように計算しましたか?
—
ハインリッヒシュメッターリング
変換されたファイルの開始時間はVとAの間で46ミリ秒の差があります。これは2つのオーディオフレームで、そのうちの1つはプライミングフレームであり、オーディオデータを表しません。
—
ギャン
ffprobe file -show_streams
両方のファイルの結果を追加します。