如何使用FFMPEG对要在DLink DSM-520上播放的视频进行编码?

时间:2015-10-04 04:01:43

标签: video encoding ffmpeg mencoder

我一直在搜索,测试和提出任何问题一个多星期。我想使用FFMPEG将mp4和mkv转换为将在我的DLink DSM-520上播放的AVI文件。 Mencoder会做到这一点。 FFMPEG生成的文件会导致播放器锁定不到一分钟的视频。首先,这是我使用Mencoder对文件进行编码的方法(从PocketDIVXEncoder生成的test.bat文件中删除:

mencoder.exe ftwd105.mp4 -af volnorm -srate 44100 -oac mp3lame -lameopts mode=0:cbr:br=128 -noodml -vf pp=ac,scale=720:404,crop=720:400,harddup -sws 9 -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:last_pred=2:vstrict=1:threads=2:vmax_b_frames=0:vbitrate=1200 -ffourcc XVID -o ftwd105_HDTV.avi

输出文件在DSM-520上播放完美。使用FFPROBE查看文件,我看到了:

Input #0, avi, from 'ftwd105_HDTV.avi':
  Metadata:
    encoder         : MEncoder Redxii-SVN-r37527-4.9.3 (x86_64)
  Duration: 00:44:32.96, start: 0.000000, bitrate: 1193 kb/s
    Stream #0:0: Video: mpeg4 (Simple Profile) (XVID / 0x44495658), yuv420p, 720x400 [SAR 1:1 DAR 9:5], 1053 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 24k tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16p, 128 kb/s

所以现在我尝试用FFMPEG做同样的事情。

ffmpeg -i ftwd105.mp4 -vcodec mpeg4 -vtag XVID -b:v 1200k -s 720x400 -acodec libmp3lame -ab 128k -ar 44100 -ac 2 -f avi ftwd105_ffmpeg.avi

此文件无法在媒体播放器上播放。只有点击声音约15-30秒,它会起伏不定,然后冻结。使用FFPROBE查看它,它看起来与Mencoder创建的完全相同。

Input #0, avi, from 'ftwd105_ffmpeg.avi':
  Metadata:
    encoder         : Lavf57.0.100
  Duration: 00:44:33.14, start: 0.000000, bitrate: 1305 kb/s
    Stream #0:0: Video: mpeg4 (Simple Profile) (XVID / 0x44495658), yuv420p, 720x400 [SAR 1:1 DAR 9:5], 1165 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 24k tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16p, 128 kb/s

所以现在我使用Xvid4PSP对视频进行编码。它播放完美,FFPROBE显示了这一点:

Input #0, avi, from 'ftwd105_ps2.avi':
  Metadata:
    encoder         : VirtualDubMod 1.5.10.3 | www.virtualdub-fr.org || (build 2550/release)
  Duration: 00:44:33.09, start: 0.000000, bitrate: 861 kb/s
    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x400 [SAR 1:1 DAR 9:5], 723 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 128 kb/s

它正在使用高级简单配置文件,因此我查看并更改了我的FFMPEG选项:

ffmpeg -i ftwd105.mp4 -vcodec mpeg4 -vtag XVID -b:v 1200k -s 720x400 -profile:v 15 -level 0 -acodec libmp3lame -ab 128k -ar 44100 -ac 2 -f avi ftwd105_ffmpeg.avi

但是虽然使用FFPROBE输出文件与Xvid4PSP制作的文件看起来相同,但它仍然无法在DSM-520上播放。

Input #0, avi, from 'ftwd105_ffmpeg_asp.avi':
  Metadata:
    encoder         : Lavf57.0.100
  Duration: 00:44:33.14, start: 0.000000, bitrate: 1305 kb/s
    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x400 [SAR 1:1 DAR 9:5], 1165 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 24k tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16p, 128 kb/s

所以现在我不知所措。 FFMPEG无法生成DSM-520可以播放的文件吗?我想在Mencoder上使用FFMPEG的原因是它要快得多。使用FFMPEG 15分钟需要Mencoder 40。

我应该注意,FFMPEG创建的所有文件在PC和Visio电视上播放都很好。 DSM-520连接到一台不是智能电视的卧室电视。

编辑:我也尝试使用libxvid代替mpeg4,结果相同。

0 个答案:

没有答案