当我将文件从 mp4 转换为其他格式,如 flv 或 mp4(用于移动设备)时,对于某些文件,我的输出文件损坏,包含损坏的帧(像素化或完全灰色)。有些框架没问题,但大部分都坏了。
以下是使用的命令和一些日志错误:
Command:
=========================================================
/usr/local/bin/mencoder /home/msdemo/public_html/media/files_video/user9/11611ef5b5.mp4 -o /home/msdemo/public_html/media/files_flv/user9/11611ef5b5_ipod.mp4 -ovc x264 -x264encopts bitrate=1500:nocabac:vbv_maxrate=1500:vbv_bufsize=2000:level_idc=30:global_header:frameref=2:mixed_refs:me=umh:subq=6:partitions=all:threads=auto -af resample=44100:0:0,volnorm=1:0.25 -oac faac -faacopts mpeg=4:object=2:raw:br=128 -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -ofps 25.000 -vf scale=640:368,harddup -demuxer lavf 2>&1
Output:
MEncoder 1.0rc1-4.1.2 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Xeon(R) CPU X3460 @ 2.80GHz (Family: 6, Model: 30, Stepping: 5)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
get_path("config") problem
success: format: 0 data: 0x0 - 0x2c0b52d
libavformat file format detected.
VIDEO: [avc1] 1016x572 24bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:35 fourcc:0x31637661 size:1016x572 fps:25.00 ftime:=0.0400
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
** MUXER_LAVF *****************************************************************
You have certified that your video stream does not contain B frames.
REMEMBER: MEncoder's libavformat muxing is presently broken and will generate
INCORRECT files in the presence of B frames. Moreover, due to bugs MPlayer
will play these INCORRECT files as if nothing were wrong!
*******************************************************************************
OK, exit
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
Opening video filter: [harddup]
Opening video filter: [scale w=640 h=368]
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
VDec: vo config request - 1016 x 572 (preferred colorspace: Planar YV12)
VDec: using Planar I420 as output csp (no 1)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
SwScaler: reducing / aligning filtersize 8 -> 8
SwScaler: reducing / aligning filtersize 8 -> 8
SwScaler: reducing / aligning filtersize 8 -> 7
SwScaler: reducing / aligning filtersize 8 -> 7
SwScaler: BICUBIC scaler, from yuv420p to yuv420p using MMX2
SwScaler: using 8-tap MMX scaler for horizontal luminance scaling
SwScaler: using 8-tap MMX scaler for horizontal chrominance scaling
SwScaler: using n-tap MMX scaler for vertical scaling (YV12 like)
SwScaler: 1016x572 -> 640x368
x264 [info]: using SAR=653/640
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 PHADD SSE4 Cache64
New_Face failed. Maybe the font path is wrong.
Please supply the text font file (~/.mplayer/subfont.ttf).
subtitle font: load_sub_face failed.
Pos: 0.0s 1f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
Pos: 0.0s 2f ( 0%) 0.00fps Trem: 0min 0mb A-V:-0.003 [0:0]
Pos: 0.0s 3f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.001 [0:0]
1 duplicate frame(s)!
Pos: 0.0s 4f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.005 [0:0]
[h264 @ 0x87cf698]abs_diff_pic_num overflow
[h264 @ 0x87cf698]decode_slice_header error
[h264 @ 0x87cf698]concealing 2304 DC, 2304 AC, 2304 MV errors
Pos: 0.0s 5f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.001 [0:0]
Pos: 0.0s 6f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.005 [0:0]
Pos: 0.0s 7f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.009 [0:0]
Pos: 0.0s 8f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.013 [0:0]
[h264 @ 0x87cf698]abs_diff_pic_num overflow
[h264 @ 0x87cf698]decode_slice_header error
[h264 @ 0x87cf698]concealing 2304 DC, 2304 AC, 2304 MV errors
Pos: 0.0s 9f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.009 [0:0]
Pos: 0.0s 10f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.013 [0:0]
Pos: 0.0s 11f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.017 [0:0]
Pos: 0.0s 12f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.021 [0:0]
[h264 @ 0x87cf698]abs_diff_pic_num overflow
[h264 @ 0x87cf698]decode_slice_header error
[h264 @ 0x87cf698]concealing 2304 DC, 2304 AC, 2304 MV errors
VIDEO CODEC ID: 28
AUDIO CODEC ID: 15002, TAG: 0
Writing header...
Pos: 0.0s 13f ( 0%) 0.00fps Trem: 0min 2mb A-V:0.017 [0:0]
Pos: 0.1s 14f ( 0%) 0.00fps Trem: 0min 2mb A-V:0.021 [0:0]
Pos: 0.1s 15f ( 0%) 0.00fps Trem: 0min 2mb A-V:0.025 [0:0]
Pos: 0.2s 16f ( 0%) 0.00fps Trem: 0min 3mb A-V:0.029 [0:0]
[h264 @ 0x87cf698]abs_diff_pic_num overflow
[h264 @ 0x87cf698]decode_slice_header error
[h264 @ 0x87cf698]concealing 2304 DC, 2304 AC, 2304 MV errors
Pos: 0.2s 17f ( 0%) 0.00fps Trem: 0min 3mb A-V:0.025 [0:0]
Pos: 0.2s 18f ( 0%) 0.00fps Trem: 0min 5mb A-V:0.027 [0:0]
Pos: 0.3s 19f ( 0%) 0.00fps Trem: 0min 7mb A-V:0.031 [0:0]
Pos: 0.3s 20f ( 0%) 0.00fps Trem: 0min 9mb A-V:0.035 [0:0]
[h264 @ 0x87cf698]abs_diff_pic_num overflow
[h264 @ 0x87cf698]decode_slice_header error
[h264 @ 0x87cf698]concealing 2304 DC, 2304 AC, 2304 MV errors
Pos: 0.4s 21f ( 0%) 0.00fps Trem: 0min 9mb A-V:0.031 [0:0]
Pos: 0.4s 22f ( 0%) 0.00fps Trem: 0min 9mb A-V:0.034 [0:0]
Pos: 0.4s 23f ( 0%) 0.00fps Trem: 0min 9mb A-V:0.038 [0:0]
Pos: 0.5s 24f ( 0%) 0.00fps Trem: 0min 9mb A-V:0.042 [0:0]
感谢您的任何建议。
您使用的 mencoder 版本 (1.0rc1) 是令人难以置信旧的 — 它是 2006 年左右的早期开发版本。开发团队从那时起修复了很多错误,其中最可能包括对您所看到的问题负责的问题,以及可能危及系统安全的问题。立即更新到更新的版本。
我是一名优秀的程序员,十分优秀!