ffmpeg编码播放速度非常快。 Audio.mp4和Video.mp4工作,但两者都没有

时间:2012-05-12 13:41:36

标签: linux ffmpeg

在下面的步骤3和4中,.mp4正常播放。但是,虽然我在最后一步(音频+视频)中使用了似乎相同的设置,但该步骤不起作用。视频播放速度超过10倍......音频也无法播放。

步骤5的ffmpeg消息显示它已包含音频。

Output #0, mp3, to '/tmp/test.mp4':
    Stream #0.0: Video: libx264, yuv420p, 720x480, q=2-31, 90k tbn, 23.98 tbc
    Stream #0.1: Audio: libmp3lame, 48000 Hz, stereo, s16, 128 kb/s

随后正在运行的ffmpeg -i没有显示音频的痕迹,但它确实报告了视频...我错过了什么,让它正确复制?...

#!/bin/bash

# 1. create Audio 
wine avs2pipe.exe audio "$src_avs" >"$temp_pcm"

# 2. create Video 
wine avs2yuv.exe "$src_avs" - |
  x264 --stdin y4m --output "$temp_h264" - 2>/dev/null

# 3. This works.  (audio only)
# encode `audio.mp4 
ffmpeg -acodec pcm_s16le -f u16le -ac 2 -ar 48000 -i "$temp_pcm" \
       -acodec libmp3lame -f mp3 -ar 48000 -ab 128k  -y "$audio_mp4"

# 4. This works.  (video only)
# encode `video.mp4 
ffmpeg -i "$temp_h264" \
       -vcodec copy -y "$video_mp4"

# 5. This DOES NOT work!  It plays very fast.
# encode `final.mp4' 
ffmpeg -acodec pcm_s16le  -f u16le  -ac 2 -ar 48000  -i "$temp_pcm" \
       -i "$temp_h264" \
       -acodec libmp3lame -f mp3 -ar 48000 -ab 128k \
       -vcodec copy \
       -y "$final_mp4"

2 个答案:

答案 0 :(得分:1)

当我从第5步中删除-f mp3时,它会起作用 我不明白为什么,但它没有其他变化。

答案 1 :(得分:0)

' - f fmt(输入/输出)'

强制输入或输出文件格式。通常会自动检测输入文件的格式,并从输出文件的文件扩展名中猜出格式,因此在大多数情况下不需要此选项。