我有很多想要转换为mp4的视频文件。 所以我在使用共享库的win7 PC(64位)上安装了ffmpeg。 我试图将MTS文件转换为MP4,我收到此错误。 有什么问题?
$ ffmpeg -i 20140806114251.MTS 20140806114251.mp4
ffmpeg version N-68788-g37b35fe Copyright (c) 2000-2014 the FFmpeg developers
built on Dec 30 2014 22:18:55 with gcc 4.9.2 (GCC)
configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 19.100 / 56. 19.100
libavformat 56. 16.102 / 56. 16.102
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 6.100 / 5. 6.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, mpegts, from '20140806114251.MTS':
Duration: 00:00:19.04, start: 1.033367, bitrate: 16273 kb/s
Program 1
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080
[libx264 @ 0000000002b60a20] using SAR=1/1
[libx264 @ 0000000002b60a20] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0000000002b60a20] profile High, level 4.0
[libx264 @ 0000000002b60a20] 264 - core 144 r2525 40bb568 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[libvo_aacenc @ 00000000028a4020] Unable to set encoding parameters
Output #0, mp4, to '20140806114251.mp4':
Stream #0:0: Video: h264 (libx264), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 29.97 tbn, 29.97 tbc
Metadata:
encoder : Lavc56.19.100 libx264
Stream #0:1: Audio: aac, 0 channels, 128 kb/s
Metadata:
encoder : Lavc56.19.100 libvo_aacenc
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (ac3 (native) -> aac (libvo_aacenc))
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
编辑:我以为我使用解决了这个问题
ffmpeg -i filename1.mts filename1.mkv
我的三星LED电视支持mkv文件,在转换过程中显示
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (ac3 (native) -> vorbis (libvorbis))
但是唉!我的电视不支持vorbis编解码器。使用mkv容器时,它只支持mp3,ac3,lpcm和ADPCM。所以问题是:人们如何选择输出音频编解码器?
答案 0 :(得分:1)
我使用
解决了这个问题ffmpeg -i file1.mts -y -acodec ac3_fixed file1.mkv
请参阅上面的编辑。
如果你想改变文件格式(保持编解码器类型),
ffmpeg -i file1.MTS -c copy file1.avi
这不需要任何时间并立即完成。
编辑:使用-c copy生成的文件无法在我的三星LED电视上播放。第一种方法虽然转换速度慢但仍有效。
答案 1 :(得分:0)
所以问题是:人们如何选择输出音频编解码器?
选择-c:a
的音频编码器,例如-c:a libmp3lame
用于MP3音频。
请参阅ffmpeg -encoders
以获取ffmpeg
版本支持的编码器列表。
您可以简单地将(stream copy)重新复用到新的容器格式,并避免重新编码,并且您的电视可能会播放它:
ffmpeg -i input.mts -c copy output.mkv