Video-js를 통해 iPhone/iPad에서 재생할 FLV를 MP4로 변환하는 데 문제가 있습니다.
ffmpeg 명령이 제대로 변환되지 않는 것 같습니다.
다음은 cumulusclips 소프트웨어가 변환 시 실행하는 원래 명령 중 하나입니다.
/usr/bin/ffmpeg -i /var/www/html/cumulus/cc-content/uploads/temp/M2q9rmYjSkElrCJA34Cr.avi -s 640x480 -vb 800k -ac 2 -ab 96k -ar 44100 -f flv /var/www/html/cumulus/cc-content/uploads/flv/M2q9rmYjSkElrCJA34Cr.flv
다음과 유사한 출력:
Input #0, avi, from '/var/www/html/cumulus/cc-content/uploads/temp/M2q9rmYjSkElrCJA34Cr.avi':
Metadata:
ISFT : MEncoder 2:1.0~rc2-0ubuntu13
Duration: 00:09:56.45, start: 0.000000, bitrate: 9586 kb/s
Stream #0.0: Video: msmpeg4v2, yuv420p, 1920x1080, 24 tbr, 24 tbn, 24 tbc
Stream #0.1: Audio: mp3, 48000 Hz, 2 channels, s16, 160 kb/s
Output #0, flv, to '/var/www/html/cumulus/cc-content/uploads/flv/M2q9rmYjSkElrCJA34Cr.flv':
Metadata:
encoder : Lavf52.64.2
Stream #0.0: Video: flv, yuv420p, 640x480, q=2-31, 800 kb/s, 1k tbn, 24 tbc
Stream #0.1: Audio: libmp3lame, 44100 Hz, 2 channels, s16, 96 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
그 후 모바일에서는 다음을 실행합니다.
/usr/bin/ffmpeg -i /var/www/html/cumulus/cc-content/uploads/temp/M2q9rmYjSkElrCJA34Cr.avi -s 480x360 -vb 600k -ac 2 -ab 96k -ar 44 100 -f mp4 /var/www/html/cumulus/cc-content/uploads/mobile/M2q9rmYjSkElrCJA34Cr_temp.mp4
산출:
Input #0, avi, from '/var/www/html/cumulus/cc-content/uploads/temp/M2q9rmYjSkElrCJA34Cr.avi':
Metadata:
ISFT : MEncoder 2:1.0~rc2-0ubuntu13
Duration: 00:09:56.45, start: 0.000000, bitrate: 9586 kb/s
Stream #0.0: Video: msmpeg4v2, yuv420p, 1920x1080, 24 tbr, 24 tbn, 24 tbc
Stream #0.1: Audio: mp3, 48000 Hz, 2 channels, s16, 160 kb/s
Output #0, mp4, to '/var/www/html/cumulus/cc-content/uploads/mobile/M2q9rmYjSkElrCJA34Cr_temp.mp4':
Metadata:
encoder : Lavf52.64.2
Stream #0.0: Video: mpeg4, yuv420p, 480x360, q=2-31, 600 kb/s, 24 tbn, 24 tbc
Stream #0.1: Audio: libfaac, 44100 Hz, 2 channels, s16, 96 kb/s
답변1
나는 당신이 사용하고 있는 ffmpeg 버전이 꽤 오래된 것이라고 확신합니다. 다음에서 시스템에 대한 정적 빌드를 다운로드하십시오.공식 홈페이지ffmpeg
이전 대신 새 경로를 사용하십시오 /usr/bin/ffmpeg
.
예를 들어 정적 빌드를 다운로드한 경우 이를 에 넣고 /usr/local/bin/ffmpeg
실행 가능( chmod ugo+x /usr/local/bin/ffmpeg
)으로 만든 다음 사용할 수 있습니다.
그런 다음 비디오를 HTML5를 지원하고 모든 종류의 모바일 장치에서 재생할 수 있는 MP4로 변환하려면 다음과 같은 명령이 필요합니다.
ffmpeg -i input.avi -c:v libx264 -c:a aac -strict experimental -b:a 128k \
-crf 23 -profile:v baseline -movflags faststart output.mp4
원하는 품질에 따라 CRF를 변경하거나(18~28이 좋은 범위, 낮을수록 좋음), -b:v 2M
예를 들어 2MBit/s의 고정 비트 전송률 인코딩을 선택합니다.
원래 변환에서는 모바일 장치에서 지원해야 하지만 반드시 그럴 필요는 없는 MPEG-4 Part 10 대신 MPEG-4 Part 2 비디오를 사용했습니다. 그게 더 안전해요.
또한 요즘에는 FLV 비디오를 만들 필요가 없습니다. 나는 이 (약간 구식) 형식을 필요로 하는 장치나 재생 기술을 알지 못합니다.
당신도 이것에 관심이 있을 수 있습니다:HTML5 호환 "모두를 위한 비디오"를 얻으려면 어떤 ffmpeg 스크립트가 필요합니까?