2014-10-11 7 views
4

저는 가져온 비디오의 저속 버전을 인코딩하기 위해 파이썬에서 FFMPEG를 사용하고 있습니다. Roku와 iOS를 포함한 여러 기기에서 출력물을 재생하고 싶습니다. 이 link은 Apple이 H264 High Profile, 레벨 4.1 및 MP3 오디오를 지원한다고 명시합니다.FFMPEG로 iOS 호환 h264 오디오 스트림을 인코딩하십시오.

ffmpeg -preset veryslow -y -profile:v high -level 4.0 -movflags +faststart -codec:a libmp3lame -qscale:a 2 -s 1280x720 out.mp4 

결과 비디오는 컴퓨터의 HTML5 브라우저에서 정상적으로 작동합니다. 그러나 iPhone에서는 비디오가 나타나지만 오디오 스트림은 재생되지 않습니다. mp3 설정에 문제가 있습니까? ffprobe에서

:

[STREAM] 
index=1 
codec_name=mp3 
codec_long_name=MP3 (MPEG audio layer 3) 
profile=unknown 
codec_type=audio 
codec_time_base=1/44100 
codec_tag_string=mp4a 
codec_tag=0x6134706d 
sample_fmt=s16p 
sample_rate=44100 
channels=1 
channel_layout=mono 
bits_per_sample=0 
id=N/A 
r_frame_rate=0/0 
avg_frame_rate=0/0 
time_base=1/44100 
start_pts=-1105 
start_time=-0.025057 
duration_ts=2321489 
duration=52.641474 
bit_rate=94949 
max_bit_rate=N/A 
bits_per_raw_sample=N/A 
nb_frames=2016 
nb_read_frames=N/A 
nb_read_packets=N/A 
DISPOSITION:default=1 
DISPOSITION:dub=0 
DISPOSITION:original=0 
DISPOSITION:comment=0 
DISPOSITION:lyrics=0 
DISPOSITION:karaoke=0 
DISPOSITION:forced=0 
DISPOSITION:hearing_impaired=0 
DISPOSITION:visual_impaired=0 
DISPOSITION:clean_effects=0 
DISPOSITION:attached_pic=0 
TAG:language=und 
TAG:handler_name=SoundHandler 
[/STREAM] 

내가 AAC를 사용하려고했으나 기본 FFMPEG 인코더 좋은 결과를 얻을하지 않았다 당신이 참조 문서는 전송 스트림 형식을 사용하여 HTTP 라이브 스트리밍위한 것입니다

답변

0

ISO mp4 형식이 아닙니다. 어쨌든 나는 mp3 + 비디오에서 많은 문제를 발견했습니다. 나의 추천은 mp3 대신에 AAC (-acodec fdk-aac)를 사용하는 것이다. 그것은 보편적으로 지원되며 더 낮은 비트 전송률로 더 나은 오디오를 제공합니다. 그 옵션이 아닌 경우 명령 줄에서 모든 오디오 설정을 지정하십시오 (-channles -samplerate 등)

관련 문제