우분투를 사용하여 비디오 파일을 90도 회전


19

우분투와 ffmpeg와 같은 표준 패키지를 사용하여 .3gp 비디오 파일을 모든 방향으로 90도 회전시키고 싶습니다. 명령 행 또는 Python 스크립트가 바람직합니다.

어떻게해야합니까?


나는 ffmpeg가 이것을 할 수 있음을 발견했습니다. 예를 들어 Ubuntu 포럼 : 비디오를 90도 회전
— Simon

답변:


9

VLC 를 사용 하면 도구 >> 환경 설정 ...으로 이동하여 비디오를 회전시킬 수 있습니다.

그리고 쇼 설정을 위해 "모두"를 선택하십시오. 그런 다음 비디오 >> 필터 >> 회전으로 이동하십시오.

원하는 정도를 설정 한 후 도구> 효과 및 필터> 비디오 효과> 형상으로 이동하여 회전 할 수 있습니다.

대체 텍스트

내가 테스트 한 것은 mp4이지만 VLC 도 3gp를 지원할 수 있다고 생각합니다 . 도움이 되었기를 바랍니다. :)


13
회전 된 비디오를 볼 수 있지만 변경 내용을 어떻게 유지
— 합니까


17

ffmpeg를 사용하여 명령 행에서 :

ffmpeg -i input.3gp -filter:v transpose=1 \
-c:v libx264 -preset veryfast -crf 22 \
-c:a copy \
-metadata:s:v rotate="" \
output.3gp
  • transpose=1비디오를 시계 방향으로 90도 회전합니다. 시계 반대 방향으로 회전하려면을 사용하십시오 transpose=2. 더 자세한 정보 는 전치 문서 를 참조하십시오.

  • -metadata:s:v rotate=""기존 비디오 스트림 회전 메타 데이터를 제거합니다. 그렇지 않으면 ffmpeg복사하여 플레이어가 원치 않는 회전을 추가로 적용 할 수 있습니다.

  • 여기에서 비디오 인코딩 설정에 대한 자세한 내용 은 스트림 복사 대신 오디오를 다시 인코딩하려면 이 H.264 인코딩 안내서 및 AAC 인코딩 안내서를 참조하십시오 .


이것은 원래 질문에 지정된 것처럼 ffmpeg를 사용하여 명령 행에서 수행하는 방법을 설명하므로 질문에 더 잘 응답합니다. 이 답변이 올바른 것으로 표시되어야한다고 생각합니다. Fedora 25에서 2017 년 5 월 현재 MP4 코덱에 대한 지원 중단 메시지가 표시되지만 여전히 작동합니다.
— 저스틴 W. 플로리

4

Avidemux 가이를 수행 할 수 있어야합니다.

수행 Video->Filters->Rotate(x degrees)->Close한 후File->Save->Save Video


2

비슷한 문제를 해결했습니다. .MOV를 거꾸로 가져 와서 (180도 회전) 올바르게 설정하려고했습니다.

내 우분투 14.04 시스템 에서 evilsoup의 답변 에 avconv주어진 것과 동일한 명령 행 옵션을 사용했습니다 . 분명히, 그것은 180도 회전 옵션을 지원하지 않으므로 시계 방향으로 90도 (즉, )를 두 번 수행했습니다.ffmpegtransposetranspose=1

최소한의 옵션을 시도했을 때 다음과 같은 효과가 있다는 메시지가 나타납니다.

encoder 'aac' is experimental and might produce bad results.

Add '-strict experimental' if you want to use it.

출력 파일의 길이는 0이므로을 추가했습니다 -strict experimental.

작동 한 명령 줄은 다음과 같습니다.

avconv -i IMG_orignl.MOV -filter:v 'transpose=1' -strict experimental IMG_interm.MOV
avconv -i IMG_interm.MOV -filter:v 'transpose=1' -strict experimental IMG_result.MOV

결과는 설명 할 수없는 부작용으로 만족 스럽습니다.

  1. 중간 파일이 원본보다 ~ 14 % 작았습니다.
  2. 결과 파일은 중간보다 ~ 18 % 작고 원본보다 거의 30 % 작았습니다.
  3. 결과 파일에는 썸네일이 표시되고 원본 및 중간에는 일반 아이콘 만 표시됩니다.

내가 불평하고있는 것은 아니다 : 이것들은 바람직하다. 나는 그들이 왜 왔는지 이해하지 못합니다 ...


슈퍼 유저에 오신 것을 환영합니다. (1) 답변의 일부 배경 정보가 도움이 될 수 있지만 문제에 대한 해결책에 초점을 두는 것이 가장 좋습니다. 설명하기 위해 귀하의 답변을 편집했습니다. 내가 너무 많이 바뀌 었다고 생각되면 자유롭게 편집 하십시오. (2) 답변의 표시 순서는 다를 수 있습니다. "위"라고 말하지 않고 다른 답변을 명시 적으로 식별하는 것이 좋습니다. (2½) 나는 당신이 avconv명령과의 차이점뿐만 아니라 명령 행을 모두 제시했으면 좋겠다 ffmpeg. 당신의 대답은 자급 자족해야합니다. 다른 대답은 사라질 수 있습니다. (3) 행운을 빈다!
— G-Man, 'Reinstate

또한 "결과가 만족 스럽다"고 말하면 "결과"파일 이 원본 파일처럼보기 좋았다 는 것을 의미 합니다. 당신은 (로 할 수 있습니다 편집 때문에 명시 적으로 말할 메시지를). (눈에 보이는 비디오 품질을 잃어 버렸는지 여부와 같은 이러한 정보는 답변에 중요하며 의견에 숨겨져서는 안됩니다.) 또한 인용문을 생략하고 그냥 말할 수 있습니다 -filter:v transpose=1 ….
— G-Man, 'Reinstate

2

이 질문에 원래 답변 한 이후로 libav가 약간 변경되었습니다. 이 최신 정보를 유용하게 유지하기 위해 다음과 같은 정보를 제공합니다.

당신은 최신 버전으로이 작업을 수행 할 수 ffmpeg및 avconv전치 비디오 필터를 사용하여.

avconv -i inputfile -vf transpose=clock outputfile

시계 방향으로 회전합니다.

ffmpeg에서 구문은 동일합니다.

ffmpeg -i inputfile -vf transpose=clock outputfile

여기서 inputfile 은 지원되는 입력 비디오 파일이고 outputfile 은 원하는 출력 파일입니다.

반 시계 방향으로 회전을 위해 대체 시계 와 cclock을

다음은 설명서에서 발췌 한 내용입니다.

‘cclock_flip’

    Rotate by 90 degrees counterclockwise and vertically flip. (default)
‘clock’

    Rotate by 90 degrees clockwise.
‘cclock’

    Rotate by 90 degrees counterclockwise.
‘clock_flip’

    Rotate by 90 degrees clockwise and vertically flip. 

출처 :

https://libav.org/avconv.html#transpose

https://ffmpeg.org/ffmpeg-filters.html#transpose-1

Ubuntu 14.04.5 LTS, Ubuntu 16.04, Ubuntu 18.04에서 테스트


1
최소 매개 변수에 감사드립니다. ffmpeg(시도하지 않았다 나를 위해 일한 avconv)
— Amil Waduwawara

우수한! 예, 많은 게시물에 ffmpef불필요한 주장이 많이 포함되어 있습니다. 감사합니다!
— Mariano Ruiz

@MarianoRuiz 도와 주셔서 감사합니다. ffmpeg는 항상 개발 중이므로 시간이 지남에 따라 상황이 변경됩니다. 이전의 일부 답변보다 쉬운 방법이 존재한다는 것은 놀라운 일이 아닙니다. 건배!
— Geek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.