2016-08-31 7 views
0

Я пытаюсь кодировать видеофайлы webm специально в VP8, но ffmpeg заставляет VP9. Я использую -c:v libvpx, который, насколько мне известно, как предполагается, VP8, но когда он кодирует я вижу это кодирование в VP9 вместо:ffmpeg предпочитает кодировать в VP9, ​​но я пытаюсь кодировать в VP8

ffmpeg -framerate 7 -loop 1 -i "C:\converted\cover.jpg" -c:v libvpx 
-i "C:\converted\Image.wav" -b:v 50k -c:a libvorbis -b:a 96k 
-vf scale=-1:300 -shortest -metadata title="%artist% - %album%" 
-metadata author="%artist%" -threads 8 -y "C:\converted\%artist% - %album%.webm" 

ffmpeg version N-81489-ga37e6dd Copyright (c) 2000-2016 the FFmpeg developers 
    built with gcc 5.4.0 (GCC) 
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dx 
va2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-lib 
ebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --ena 
ble-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfree 
type --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enab 
le-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-lib 
openh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschr 
oedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheor 
a --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvo 
rbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --ena 
ble-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --e 
nable-decklink --enable-zlib 
    libavutil  55. 29.100/55. 29.100 
    libavcodec  57. 54.101/57. 54.101 
    libavformat 57. 48.101/57. 48.101 
    libavdevice 57. 0.102/57. 0.102 
    libavfilter  6. 57.100/6. 57.100 
    libswscale  4. 1.100/4. 1.100 
    libswresample 2. 1.100/2. 1.100 
    libpostproc 54. 0.100/54. 0.100 
Input #0, image2, from 'C:\converted\cover.jpg': 
    Duration: 00:00:00.14, start: 0.000000, bitrate: 3159 kb/s 
    Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 500x495 [S 
AR 1:1 DAR 100:99], 7 fps, 7 tbr, 7 tbn, 7 tbc 
Guessed Channel Layout for Input Stream #1.0 : stereo 
Input #1, wav, from 'C:\converted\Image.wav': 
    Metadata: 
    artist   : ??????? 
    genre   : Alternative Rock 
    title   : goodnight, wonderend 
    date   : 2014 
    Duration: 00:04:48.00, bitrate: 1421 kb/s 
    Stream #1:0: Audio: pcm_s16le ([1][0][0][0]/0x0001), 44100 Hz, 2 channels, 
s16, 1411 kb/s 
[swscaler @ 055f7d60] deprecated pixel format used, make sure you did set range 
correctly 
[libvpx-vp9 @ 0312d8e0] v1.6.0 
[webm @ 0316e380] Using AVStream.codec to pass codec parameters to muxers is dep 
recated, use AVStream.codecpar instead. 
    Last message repeated 1 times 
Output #0, webm, to 'C:\converted\カラスヤサボウ - goodnight, wonderend.w 
ebm': 
    Metadata: 
    title   : カラスヤサボウ - goodnight, wonderend 
    author   : カラスヤサボウ 
    encoder   : Lavf57.48.101 
    Stream #0:0: Video: vp9 (libvpx-vp9), yuv420p, 303x300 [SAR 10000:9999 DAR 1 
00:99], q=-1--1, 50 kb/s, 7 fps, 1k tbn, 7 tbc 
    Metadata: 
     encoder   : Lavc57.54.101 libvpx-vp9 
    Side data: 
     cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 
    Stream #0:1: Audio: vorbis (libvorbis), 44100 Hz, stereo, fltp, 96 kb/s 
    Metadata: 
     encoder   : Lavc57.54.101 libvorbis 
Stream mapping: 
    Stream #0:0 -> #0:0 (mjpeg (native) -> vp9 (libvpx-vp9)) 
    Stream #1:0 -> #0:1 (pcm_s16le (native) -> vorbis (libvorbis)) 
Press [q] to stop, [?] for help 
frame= 30 fps=0.0 q=0.0 size=  29kB time=00:00:00.71 bitrate= 333.4kbits/s 
frame= 37 fps= 36 q=0.0 size=  49kB time=00:00:01.71 bitrate= 233.6kbits/s 
frame= 45 fps= 27 q=0.0 size=  60kB time=00:00:02.85 bitrate= 170.6kbits/s 
frame= 53 fps= 23 q=0.0 size=  84kB time=00:00:04.00 bitrate= 172.7kbits/s 
frame= 57 fps= 21 q=0.0 size=  102kB time=00:00:04.57 bitrate= 183.5kbits/s 
frame= 62 fps= 19 q=0.0 size=  112kB time=00:00:05.28 bitrate= 173.4kbits/s 
frame= 64 fps= 12 q=0.0 Lsize=  141kB time=00:00:09.00 bitrate= 128.1kbits/ 
s speed=1.69x 
video:87kB audio:47kB subtitle:0kB other streams:0kB global headers:4kB muxing o 
verhead: 4.908199% 
Exiting normally, received signal 2. 

Билд У меня действительно есть --enable-libvpx и --enable-libvpx-vp9 флаги. Это также последняя статическая сборка по умолчанию, я не внес изменений, просто извлек ее: ffmpeg-20160828-a37e6dd-win32-static.zip

Я долгое время устарел и обновлялся. Я не могу найти документацию в Интернете, чтобы помочь мне с этой проблемой.

+0

Пожалуйста, покажите вашу фактическую команду и полный вывод консоли. Использование '-c: v libvpx' использует VP8 для меня. '--enable-libvpx-vp9' - неизвестный вариант. – LordNeckbeard

+0

'ffmpeg -framerate 7 -loop 1 -i" C: \ convert \ cover.jpg "-c: v libvpx -i" C: \ convert \ Image.wav "-b: v 50k -c: libvorbis -b : 96k -vf scale = -1: 300 -shortest -metadata title = "% artist% -% album%" -metadata author = "% artist%" -threads 8 -y "C: \ convert \% artist% - % album% .webm "' – user1689634

+0

http://pastebin.com/uyyfZJNb – user1689634

ответ

1

Возможность размещения вариантов. Вы пытаетесь применить -c:v libvpx к Image.wav. Переместите эту опцию так, чтобы она была перед именем вывода.

0

Вы должны поместить параметр кодека прямо перед выходом.

Ниже приведен простой пример

$ ffmpeg -f lavfi -i testsrc2=d=5 -vcodec libvpx -f lavfi -i sine=d=5 -acodec libvorbis o.webm 

Команда выше только выбрать -acodec в libvorbis и использовать видео по умолчанию Кодек.

Команда ниже будет выбрать видео кодека, как libvpx и аудио кодек, как libvorbis

$ ffmpeg -f lavfi -i testsrc2=d=5 -f lavfi -i sine=d=5 -vcodec libvpx -acodec libvorbis o.webm 
+0

Хорошо, я должен был знать, что ffmpeg немного строг о порядке переключателей. Спасибо за помощь. – user1689634