ffmpeg, libav 및 avconv의 차이점과 유사점은 무엇입니까?


246

ffmpeg우분투에서 실행하면 다음 과 같이 표시됩니다.

$ ffmpeg 
ffmpeg version v0.8, Copyright (c) 2000-2011 the Libav developers
  built on Feb 28 2012 13:27:36 with gcc 4.6.1
This program is not developed anymore and is only provided for compatibility. Use avconv instead (see Changelog for the list of incompatible changes).

또는 우분투 버전에 따라 다음과 같이 표시됩니다.

$ ffmpeg
ffmpeg version 0.8.5-6:0.8.5-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
  built on Jan 24 2013 14:49:20 with gcc 4.7.2
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.

http://libav.org 에서 avconv를 찾았습니다 . 나는 단지 그들에 의해 당황했다.


1
이는 잘못된 명령 행 인수를 제공함을 의미합니다.
Dipan Mehta

18
This program is not developed anymore and is only provided for compatibility. Use avconv instead

1
무엇을하려고합니까? ffmpeg은 주로 라이브러리이며 주요 ffmpeg명령 줄은 기능을 시연하기에 더 좋습니다 (도움이된다면 사용하는 것은 중요하지 않습니다). 명령으로 만 사용하려면 ffmpeg를 사용하여 원하는 작업을 수행하는 많은 응용 프로그램이 있습니다.
Dipan Mehta


4
모든 차이점을 말할 수는 없지만 avconv -ss 00:01:42 -t 00:00:32 -i sourcefilename -acodec copy targetfilename이 작동하지 않으며 ffmpeg -ss 00:01:42 -t 00:00 : 32 -i sourcefilename -acodec copy targetfilename은 문서가 일치하더라도 예상대로 작동합니다.

답변:


473

혼란스러운 메시지

이러한 메시지는 다소 오해의 소지가 있으며 당연히 혼란의 원인이됩니다. 이전 우분투 버전에서는 FFmpeg 프로젝트의 포크 인 Libav를 사용했습니다. FFmpeg가 Ubuntu 15.04 "Vivid Vervet"에서 반환되었습니다.

포크는 기본적으로 FFmpeg 커뮤니티 내에서 성격과 개발 스타일이 충돌하여 원만한 결과가 아닙니다. 데비안 / 우분투의 관리자는 Libav 포크와 관련되어 FFmpeg에서 Libav로 전환했습니다.

진짜 ffmpeg대 가짜

잠시 동안 Libav와 FFmpeg는 모두 자체 버전의을 별도로 개발했습니다 ffmpeg.

Libav 그들의 기괴한 이름을 변경 ffmpeg하는 avconvffmpeg라는 프로젝트에서 자신을 거리를 할 수 있습니다. 전환 기간 동안 "더 이상 개발되지 않음"메시지가 표시되어 사용자에게 avconv위조 버전 대신에 사용을 시작하도록 지시 했습니다 ffmpeg. 이로 인해 사용자는 FFmpeg (프로젝트)가 죽었다고 생각했습니다. 좋지 않은 단어 선택이지만 Libav가 일반 사용자의 응답을 기대하지 않는다고 상상할 수 없습니다.

이 메시지는 가짜 " ffmpeg"가 Libav 소스에서 마침내 제거 될 때 업스트림에서 제거 되었지만, 버전에 따라 Ubuntu가 사용하는 Libav 소스가 ffmpeg-to-avconv 전환 기간에 있기 때문에 여전히 Ubuntu에 표시 될 수 있습니다.

2012 년 6 월 에 패키지에 대한 메시지가 다시 쓰여졌 습니다 libav - 4:0.8.3-0ubuntu0.12.04.1. 불행히도 새로운 "더 이상 사용되지 않는"메시지는 추가적인 사용자 혼란을 야기했습니다.

Ubuntu 15.04 "Vivid Vervet"부터 FFmpeg ffmpeg다시 저장소로 돌아 왔습니다.

libav 및 Libav

문제를 더 복잡하게하기 위해, Libav는 FFmpeg에서 그 라이브러리 (libavcodec, libavformat 등)를 참조하기 위해 역사적으로 사용 된 이름을 선택했습니다. 예를 들어 FFmpeg 라이브러리 사용에 대한 질문 및 토론을위한 libav-user 메일 링리스트 는 Libav 프로젝트와 관련이 없습니다.

차이를 말하는 방법

사용하는 경우 avconvLibav를 사용하고 있습니다. 사용하는 경우 ffmpegFFmpeg 또는 Libav를 사용할 수 있습니다. 차이점을 알려면 콘솔 출력의 첫 번째 줄을 참조하십시오. 저작권 표시는 FFmpeg 또는 Libav를 언급합니다.

둘째, 버전 번호 체계가 다릅니다. 각 FFmpeg 또는 Libav 라이브러리에는 version.h버전 번호를 표시하는 헤더가 있습니다. FFmpeg는 57.67과 같은 3 자리 숫자로 끝납니다. 100 이고 Libav는 57.67과 같은 한 자리로 끝납니다. 0 . 콘솔 출력 을 실행 ffmpeg하거나 avconv보고 라이브러리 버전 번호를 볼 수도 있습니다 .

당신이 진짜를 사용하려는 경우 ffmpeg

우분투 15.04 "생생한 Vervet"이상

실제 ffmpeg는 저장소에 있으므로 다음을 사용하여 설치할 수 있습니다.

apt-get install ffmpeg

이전 우분투 버전

옵션은 다음과 같습니다.

이러한 방법은 방해가되지 않으며 가역적이며 시스템이나 저장소 패키지를 방해하지 않습니다.

또 다른 가능한 옵션은 Ubuntu 15.04 "Vivid Vervet"이상으로 업그레이드 ffmpeg하고 리포지토리에서 사용 하는 것입니다.

참조

상황에 대한 흥미로운 블로그 기사와 프로젝트 간의 주요 기술적 차이점에 대한 토론은 FFmpeg / Libav 상황을 참조하십시오 .


89
개인적인 문제인 것 같습니다
mirza

1
실제 ffmpeg를 설치 한 후에도 작동하지 않을 수 있습니다. 우분투와 함께 제공되는 기본 ffmpeg를 libav-tools로 제거해야합니다. askubuntu.com/questions/162740/how-do-i-uninstall-ffmpeg를 참조하십시오 .
user568109

@ user568109 ffmpeg 설치 방법에 따라 다릅니다. Ubuntu, Debian 또는 Mint에서 FFmpeg를 컴파일하는 방법을 참조 하거나 Linux 빌드를 사용하십시오ffmpeg . 리포지토리 패키지도 설치되어 있으면 이러한 방법 중 하나가 작동해야합니다.
llogan

1
나는 ffmpeg를 빌드했지만 터미널에서 ffmpeg를 실행할 때 출하 된 기본값이 실행 중이고 apt-get remove를 수행하면 ffmpeg가 제거하지 않았습니다. 그래서 나는 혼란을 없애기 위해이 문제에 걸린 사람들에게 메시지를 남겼습니다. libav-tools로 제공됩니다.
user568109

이런 상황을 피하기 위해 오픈 소스 커뮤니티에 "상표"시스템이 필요한 것 같습니다!
rkachach
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.