우분투를 사용하여 비디오 파일을 90도 회전 방향으로 90도 회전시키고 싶습니다. 명령 행

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

어떻게해야합니까?



답변

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

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

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

대체 텍스트

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


답변

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 인코딩 안내서를 참조하십시오 .


답변

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

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


답변

비슷한 문제를 해결했습니다. .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. 결과 파일에는 썸네일이 표시되고 원본 및 중간에는 일반 아이콘 만 표시됩니다.

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


답변

이 질문에 원래 답변 한 이후로 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에서 테스트


답변