연결에 가장 적합한 비디오 형식은 무엇입니까

연결에 가장 적합한 비디오 형식은 무엇입니까

나는 약 20개의 일련의 파일을 하나의 단일 파일로 연결하려고 노력하면서 약 2일 동안 .mp4 파일로 어려움을 겪고 있습니다. 파일 간의 차이점은 악몽입니다. 일부 파일은 fps가 다르고 다른 파일은 비율이 다릅니다.

mp4가 내가 사용해야 하는 형식인지, 아니면 더 좋고 사용하기 쉬운 연결 형식이 있는지 알고 싶었습니다. 시간은 문제가 되지 않습니다. 대부분의 상황에서 연결되는 상대적으로 고품질 형식이 필요합니다.

이것이 존재하지 않는 경우 mp4 파일의 엄청나게 다양한 속성을 처리하는 방법에 대한 제안(문제를 일으킬 수 있는 비디오 간의 fps 및 비율을 제외하고 무엇이 다를 수 있는지 완전히 확신하지 못합니다)이 좋을 것입니다.

ffmpeg를 사용하여 파일을 연결하려고 합니다. 처음에는 디먹싱기를 사용한 다음 연결 필터를 사용해 보았지만 연결 필터가 매우 어렵다는 것을 알았고 어떻게 사용하는지 완전히 이해하지 못했습니다.

각 비디오에는 오디오가 있고, 일부는 정지 이미지로, 일부는 움직이는 이미지로 구성되어 있습니다.

답변1

멀티미디어 파일은 복잡하므로 연결에는 몇 가지 요구 사항이 있습니다.

  • 연결될 모든 세그먼트에는 동일한 수와 스트림 유형이 있어야 합니다.
  • 모든 스트림에는 동일한 매개변수가 있어야 합니다.

각 입력은 임의의 매개변수에 따라 달라질 수 있으므로 concat 필터를 사용하는 것이 좋습니다. 필터를 사용하여 각 입력을 공통 매개변수 세트에 맞춰야 합니다. 어쨌든 모든 것을 다시 인코딩할 것이기 때문에 입력 형식은 그다지 중요하지 않습니다.

main.mp4비디오와 오디오가 있고 end.mp4비디오는 있고 오디오는 없는 기본적이고 일반적인 예입니다 . 다른 모든 매개변수는 다른 것으로 간주됩니다. 여기에 사용된 필터는 anullsrc, scale, pad, setsar, fps, format, aformat 및 concat입니다.

ffmpeg -i main.mp4 -i end.mp4 -f lavfi -t 0.1 -i anullsrc=channel_layout=stereo:sample_rate=44100 -filter_complex "[0:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fps=25,format=yuv420p[v0];[1:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fps=25,format=yuv420p[v1];[0:a]aformat=channel_layouts=stereo:sample_rates=44100[a0];[v0][a0][v1][2:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" -c:v libx264 -c:a aac -movflags +faststart output.mp4

이를 수행하는 방법에는 여러 가지가 있으며 입력 내용을 기반으로 하거나 요구 사항에 맞게 조정해야 할 수도 있습니다.

관련 정보