2017-09-04 10 views
0

안드로이드에서 Ffmpeg를 사용하여 오디오 파일과 병합 된 단일 이미지에서 비디오 만들기, 작동하지만 출력 비디오는 시간 스탬프를 찾지 않습니다. ex - 항상 0:00부터 시작합니다. 비디오를 찾으면 시작부터 전체 비디오가 다시 시작됩니다.ffmpeg 단일 이미지와 오디오 파일을 사용하고 있지만 출력 비디오를 검색 할 수 없습니다 (앞으로 검색해도 0:00부터 다시 시작합니다)

내가 사용하는 명령입니다 -

-y -framerate 30 -i "+ImagePath+" -i "+AudioPath+" -vsync vfr -c:v libx264 -codec:a copy -pix_fmt yuv420p -crf 23 "+OutputVideoPath 

이 때문에 단일 프레임에만있을 수 있습니까? (비디오 한 이미지) 단일 이미지를 검색 가능한 비디오로 변환하는 데 사용할 수있는 경우.

+0

인가? 그렇지 않다면'-codec : a copy '없이 시도하십시오. '-y -framerate 30 -i "+ ImagePath +"-i "+ AudioPath +"-c : v libx264 -pix_fmt yuv420p -crf 18 "+ OutputVideoPath' 또한 끝내기를 검사합니다."+ OutputVideoPath'는 다음과 같이 가정합니다 : 그렇게 되니? –

+0

@ VC.One'-codec : copy'없이 쿼리를 사용했지만 여전히 원하는 결과를 얻을 수 없었습니다. 게다가 프로세스가 정말 느려졌습니다. 제발 도와주세요. –

+0

MP4에는 AAC 오디오 코덱이 있어야합니다. 입력 내용이 AAC 형식인지 확인한 다음 (단지 c : 복사 만 가능) 그렇지 않으면 MP3에서 AAC로 변환합니다 (시간이 걸립니다). 혼합 된 A + V 데이터에서 언제든지 고정 된 비디오와 같은 문제가 있거나 소리가 나지 않는 것이 문제의 원인입니다. MP3를 선택해도 ** 스테레오 **, ** 16 비트 ** 및 ** 44 **. 1khz 또는 ** 48 ** khz의 샘플 속도인지 확인하십시오. 나중에 FFmpeg에있을 때 명령을 테스트 할 것입니다. –

답변

0

이 명령은 검색 가능한 MP4 (이미지 파일 및 MP3 오디오의 입력을 사용)를 만들기 위해 작동합니다.

ffmpeg -y -i AUDIO.file -f image2 -loop 1 -r 2 -i IMAGE.file -shortest -c:a copy -c:v libx264 -crf 18 -framerate 30 -preset veryfast -movflags +faststart OUTPUT.mp4 

그냥 사용자 정의 파일 이름 AUDIO.fileIMAGE.fileOUTPUT.mp4를 교체하십시오.

안드로이드 코드에서이 시도 :

-y -i "+AudioPath+" -f image2 -loop 1 -r 2 -i "+ImagePath+" -shortest -c:a copy -c:v libx264 -crf 18 -framerate 30 -preset veryfast -movflags +faststart "+OutputVideoPath+" 

과 같은 코드를 설정하십시오 :

오디오 파일 AAC 형식
"-y -i "+AudioPath+" -f image2 -loop 1 -r 2 -i "+ImagePath+" -shortest -c:a copy -c:v libx264 -crf 18 -framerate 30 -preset veryfast -movflags +faststart "+OutputVideoPath 
+1

'-r'을'-framerate '로,'-framerate'를'-r'으로 변경하십시오. – LordNeckbeard

+0

@ VC.One 옵션 값 "0x0"을 이미지 크기로 구문 분석 할 수 없음 픽셀 값으로 "-1"옵션 값을 구문 분석 할 수 없음 이미지 크기로 옵션 값 "0x0"을 구문 분석 할 수 없음 video_size 옵션을 0x0 값으로 설정하는 중 오류가 발생했습니다. 필터에 옵션을 적용하는 중에 오류가 발생했습니다. 필터를 여는 중 오류가 발생했습니다. –

+0

FFmpeg를 데스크탑 명령 줄에 사용했는데 ** 오류가 없었습니다 **. 가능한 코드 예제가''-y -i "+ AudioPath' 등으로 시작 했어야합니까? ** 업데이트 **를 참조하십시오. 그래도 오류가 발생하면이 새로운 명령의 전체 로그를 표시하십시오. –