2008-09-18 5 views
11

작업 할 작업에 할당 된 새 제품의 일부는 '일반적인'비디오 형식을 Flash에서 재생할 수있는 서버 측 변환과 관련이 있습니다.Linux CLI에서 일반적인 비디오 형식을 FLV로 변환하는 가장 좋은 도구는 무엇입니까

내가 아는 한, 유일한 방법은 FLV로 변환하는 것입니다. 나는 ffmpeg에 주위를 돌아 다녔지 만 왜곡 된 사운드로 나왔던 몇 가지 WMV 파일을 찾고 있습니다 (오디오 속도로 연주 해 보았습니다).

Linux 용 '양호한'CLI 변환기가 있습니까? 또는 Flash에서 재생할 수있는 다른 비디오 형식이 있습니까?

답변

15

플래시는 다음과 같은 형식을 재생할 수 있습니다 :

FLV with AAC or MP3 audio, and FLV1 (Sorenson Spark H.263), VP6, or H.264 video. 
MP4 with AAC or MP3 audio, and H.264 video (mp4s must be hinted with qt-faststart or mp4box). 

는 FFmpeg은 전반적으로 좋은 변환 유틸리티입니다; mencoder는 (w32codecs 바이너리 디코더 패키지로 인해) 모호하고 독점적 인 형식으로 더 잘 작동하지만, 그 멀티플렉싱은 차선책입니다 (읽기 : 흔히 완전히 손상됨). 한 가지 해결책은 mencoder를 통해 H.264를 x264로 인코딩 한 다음 mp4box와 별도로 mux하는 것입니다.

x264의 개발자로서 (온라인 비디오 재생을위한 열렬한 플래시 사용자), 필자는 이런 종류의 경험이 많았으므로 더 많은 도움이 필요하면 Freenode IRC# x264, #ffmpeg 및 #mplayer에 있습니다.

2

대부분의 인코더는 인코딩이 끝날 때까지 헤더를 배치 할 수 없으므로 기본적으로 (ffmpeg 포함) mp4의 헤더 아톰 ("moov atom")을 비디오 끝에 배치합니다. 그러나 파일을 다운로드하기 전에 재생을 시작하려면 moov 원자를 맨 앞으로 이동해야합니다.

이렇게하려면 기본적으로 mp4box를 사용하여 (다시) mux를하거나 단순히 원자를 앞쪽으로 이동시키는 ffmpeg 용 스크립트 인 qt-faststart를 사용해야합니다. 그 아주 간단합니다.

기본적으로 FLV의 경우 ffmpeg가 FLV1 비디오 형식을 사용한다는 점에 유의하십시오. 이 시점까지는 10 년이 넘었고 그 효율성은 현대 표준을 감안할 때 오히려 끔찍합니다. H.264와 같은보다 현대적인 형식을 사용하는 것이 훨씬 낫습니다.

+0

마지막으로 원자를 넣을 때의 이점은 무엇입니까? –

관련 문제