우분투를 사용하여 비디오 파일을 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가 약간 변경되었습니다. 이 최신 정보를 유용하게 유지하기 위해 다음과 같은 정보를 제공합니다.

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

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.