한 줄 명령으로 비디오의 일부 추출


81

비디오가 일반적으로 avi이지만 어떤 것이라도 될 수 있고 동일한 형식이지만 일부만 다른 비디오를 만들고 싶을 경우 비디오에서 i 초에서 f 초 위치 , 한 줄 명령은 무엇입니까? 이?

답변:


114

이것은 사용하여 수행 할 수 있습니다 mencoderffmpeg.

멘 코더

00:00:30에서 시작하는 부분을 5 초 길이의 원본 파일로 잘라 내고 다시 인코딩해서는 안된다고 가정합니다 (다시 인코딩하려면 copy오디오 로 바꿔야 합니다) 비디오 코덱 (사용 가능한 오디오 코덱 문제 mencoder -oac help목록, 사용 가능한 비디오 코덱 문제 목록 mencoder -ovc help)은 다음과 같습니다.

mencoder -ss 00:30:00 -endpos 00:00:05 -oac copy -ovc copy originalfile -o newfile

실제 파일 이름 으로 바꿔야 orginalfile하며 newfile나중에 나올 부분을 유지하기 위해 생성 된 파일 이름입니다.

ffmpeg

00:00:30에서 시작하는 부분을 5 초 길이의 원본 파일로 잘라 내고 다시 인코딩해서는 안된다고 가정합니다 (다시 인코딩하려면 교체해야 함). copy사용 가능한 코덱 문제 목록을 보려면 오디오 및 비디오 코덱을 사용하여 ffmpeg -formats -E다음을 발행하십시오.

ffmpeg -ss 00:00:30 -i orginalfile -t 00:00:05 -vcodec copy -acodec copy newfile

실제 파일 이름 으로 바꿔야 orginalfile하며 newfile나중에 나올 부분을 유지하기 위해 생성 된 파일 이름입니다.


참고로 http://lazyxiong-tech.blogspot.com/2007/05/using-mencoder-to-cut-out-pieces-of.htmlhttp : // 7. 비디오의 일부만 복사 segfault.in/2010/10/ffmpeg-tricks-you-should-know-about/


나는 그것을 시도하고 실패했다. 일반적인 코덱으로 avi, flv 및 mpg에 사용하는 명령이 무엇인지 보여줄 수 있습니까? 코덱을 나열했지만 그다지 이해할 수 없었습니다.
Strapakowsky

@strapakowsky 입력 파일과 설치 한 코덱에 따라 다릅니다. 어쩌면 당신은 그것에 대해 새로운 질문을하고 가지고있는 파일과 시도한 명령에 대한 정보를 추가해야합니다.
NN

@strapakowsky ffmpeg와 함께 작동하도록 할 수는 없지만 ffmpeg로 부품을 절단하는 모든 가이드는 어떻게 든 작동해야하므로 내 대답에 보관해야합니다. 그러나 나는 또한 내가 일할 수있는 mencoder 라인을 추가했습니다.
NN

이 버전을 사용했습니다. 옵션 보다 우선 -ss ... -t ...해야하기 때문에 작동하지 않습니다 . 실제 원 라이너에 대해서는 이 답변 을 참조하십시오 . 당신은 주문이 아니라 거의 그것을 얻었습니다 ...-i infile
Hendy

1
@Hendy 그에 따라 편집
NN

25

재 인코딩 또는 재 인코딩 모드없이 비디오를 잘라 내야합니까? 아래 명령을 따르십시오.

개요 : ffmpeg -i [input_file] -ss [start_seconds] -t [duration_seconds] [output_file]

다시 인코딩하지 않고 FFmpeg 컷 mp4 비디오 사용

Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -c copy cut_video.mp4

다시 인코딩으로 FFmpeg cut mp4 비디오 사용

Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -async 1 -strict -2 cut_video.mp4

처음부터 섹션을 잘라내려면 -t 00:00:10명령에서 삭제 하십시오.


0

medipack 은에 대한 래퍼로서 매우 간단한 명령 줄 앱 ffmpeg입니다.

다음 명령을 사용하여 비디오를 다듬을 수 있습니다.

medipack trim input.mp4 -s 01:04 -e 14:08 -o output.mp4
medipack trim input.mp4 -s 01:04 -t 13:04 -o output.mp4

trim 부속 명령의 옵션을 다음과 같이 볼 수 있습니다.

srb@srb-pc:$ medipack trim -h
usage: medipack trim [-h] [-s START] [-e END | -t TIME] [-o OUTPUT] [inp]

positional arguments:
  inp                   input video file ex: input.mp4

optional arguments:
  -h, --help            show this help message and exit
  -s START, --start START
                        start time for cuting in format hh:mm:ss or mm:ss
  -e END, --end END     end time for cuting in format hh:mm:ss or mm:ss
  -t TIME, --time TIME  clip duration in format hh:mm:ss or mm:ss
  -o OUTPUT, --output OUTPUT

당신은 또한 사용하여 다른 옵션을 탐색 할 수 있습니다 medipack -h

srb@srb-pc:$ medipack --help
usage: medipack.py [-h] [-v] {trim,crop,resize,extract} ...

positional arguments:
  {trim,crop,resize,extract}

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         Display version number

https://github.com/srbcheema1/medipack을 방문 하여 README의 예제를 확인 하십시오 .


-1

보다 정확하게는 다음을 수행 할 수 있습니다. 수동으로 프레임 단위로 프레임을 진행할 미디어 플레이어에서 파일을 열고 (내가 가장 좋아하지만 MPC-HC가 작동 함) 다음과 같은 데이터로 AVISynth 파일을 재생합니다.

DirectShowSource(("C:\Downloads\Video\Do you want him.flv"), Pixel_Type="yuy2").Crop(0,0,-0,-0)
Subtitle("C:\Downloads\Video\Do you want him.flv", font="Arial", size=24, text_color=$ff0000, align=3)
ShowFrameNumber(scroll=true, x=336, y=27, font="Arial", size=24, text_color=$ff0000)

ShowTime(x=398, y=44, font="Arial", size=24, text_color=$ff0000)

그런 다음 정확한 시간 형식으로 잘라내십시오.

ffmpeg -i "Path\do you want him.flv" -ss 00:00:05.240 -to 00:00:08.360 -vcodec libx264 -acodec libvo_aacenc "Path\Do you want him1.flv"

ffmpeg -i "Path\do you want him.flv" -ss 00:00:10.240 -to 00:00:14.360 -vcodec libx264 -acodec libvo_aacenc "Path\Do you want him2.flv"

가입하려면 다음과 같은 내용의 비디오 파일로 txt 파일을 만드십시오.

file 'C:\Downloads\Video\Do you want him1.flv'

file 'C:\Downloads\Video\Do you want him2.flv'

실행 ffmpeg:

ffmpeg -f concat -i FileList.txt -c copy "Path\NewName_joined.flv"

프로그램 적으로 프로그램을 작성했지만 보여줄 수있는 레벨이 10입니다. 죄송합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.