[解決済み] FFmpegを使って2つのMP4ファイルを連結する方法は?
2022-03-14 23:18:02
質問
ffmpegを使って、2つのmp4ファイルを連結しようとしています。 私はこれを自動処理にする必要があり、それがffmpegを選択した理由です。 私は2つのファイルを次のように変換しています。
.ts
ファイルを連結し、その連結されたファイルをエンコードしようとしています。
.ts
ファイルを作成します。 ファイルは
h264
と
aac
をエンコードして、できるだけオリジナルと同じかそれに近いクオリティを保ちたいと思っています。
ffmpeg -i part1.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part1.ts
ffmpeg -i part2.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part2.ts
cat part1.ts part2.ts > parts.ts
ffmpeg -y -i parts.ts -acodec copy -ar 44100 -ab 96k -coder ac -vbsf h264_mp4toannexb parts.mp4
残念ながら、エンコード中にffmpegから以下のエラーメッセージが返ってきました。
[h264 @ 0x1012600]sps_id out of range
[h264 @ 0x1012600]non-existing SPS 0 referenced in buffering period
[h264 @ 0x1012600]sps_id out of range
[h264 @ 0x1012600]non-existing SPS 0 referenced in buffering period
[NULL @ 0x101d600]error, non monotone timestamps 13779431 >= 13779431kbits/s
av_interleaved_write_frame(): Error while opening file
この現象は、エンコードの約半分の段階で発生するため、2つの .ts ファイルを連結して動作させることはできないと思われます。
解決方法は?
結局、中間フォーマットにmpgを使ってうまくいきました(注:これは危険な例で、-qscale 0でビデオを再エンコードしてしまいます......)。
ffmpeg -i 1.mp4 -qscale 0 1.mpg
ffmpeg -i 2.mp4 -qscale 0 2.mpg
cat 1.mpg 2.mpg | ffmpeg -f mpeg -i - -qscale 0 -vcodec mpeg4 output.mp4
関連
-
[解決済み] ffmpegが、画像からスライドショーを作ろうとすると、「Output file #0 does not contain any stream」と投げる。
-
[解決済み] FFmpegです。RMTP ストリームで NetStream.Play.StreamNotFound が発生しました。
-
[解決済み] FFmpeg を libfdk_aac と共にコンパイルする。
-
[解決済み] FFMPEG (libx264) "height not divisible by 2".
-
[解決済み] ffmpegの "setpts "フィルタは、具体的に何をするのですか?[クローズド]
-
[解決済み] H264コーデックで動画をエンコードするffmpegの使い方
-
[解決済み] httpライブストリーミングのm3u8ファイルからFFMPEG mp4?[クローズド]
-
[解決済み] ffmpegを使って開始時刻と終了時刻を基準に動画をカットする
-
[解決済み] FFmpegで動画を回転させる
-
[解決済み] ffmpegで.flacを.mp3に変換し、すべてのメタデータを保持する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ffmpegが存在する場合、出力ファイルを上書きする
-
[解決済み] ffmpegが、画像からスライドショーを作ろうとすると、「Output file #0 does not contain any stream」と投げる。
-
[解決済み] ffmpeg が MJPEG エンコード用に高画質な画像を生成する。
-
[解決済み] ffmpeg concat: "安全でないファイル名"
-
暗号化されたHLS(m3u8)ビデオ変換の問題を解決します。
-
[解決済み] ffmpeg concat: "安全でないファイル名"
-
[解決済み] FFmpegからRTSPをストリーミングするには、どのような手順が必要ですか?
-
[解決済み] H264コーデックで動画をエンコードするffmpegの使い方
-
[解決済み] Past duration X.XXX too large』とはどういう意味ですか?
-
[解決済み] ffmpegで.flacを.mp3に変換し、すべてのメタデータを保持する。