2014-10-11 133 views
4

我正在使用FFMPEG和Python編碼我導入的低比特率版本的視頻。我希望輸出可以在幾個設備上播放,包括Roku和iOS。這link指出,蘋果支持H264高配置,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編碼器很好的效果

回答

0

您引用該文件是爲HTTP實時流,它採用了傳輸流格式,而不是ISO mp4格式。無論哪種方式,我發現在iOS中的MP3 +視頻很多問題。我的建議是使用AAC(-acodec fdk-aac)而不是mp3。它受到普遍支持,並會以較低的比特率爲您提供更好的音頻。如果這不是一個選項,請嘗試在命令行中指定所有音頻設置(-channles -samplerate等)