Eu tenho este arquivo de vídeo mhr longo 3hrs que tem um tamanho ridículo mesmo para resolução de 1080p (mais de 30gigs), então eu quero encolher um pouco. Olhando para as informações de vídeo no smplayer, ele diz que seu formato é MPG2 e o codec é FFmpeg. Bitrate é enorme: mais de 20k. Isso explica o tamanho do arquivo, eu acho. Codec de áudio é PCM.
Então, tentei reduzir o tamanho o máximo possível para convertê-lo em H264 MP4, enquanto reduzi a taxa de bits e a resolução, além da qualidade de áudio, usando o seguinte comando:
ffmpeg -i inputfile.mkv -vcodec h264 -vf scale=1600:900 -b:v 6000k -acodec aac -b:a 128k -ar 44100 outputfile.mp4
A versão do FFmpeg que estou usando é a 3.3.6. Não tive nenhum problema em reencodificar outros formatos para o h264 antes e o arquivo de saída resultante foi reproduzido de forma agradável ... no início, a alteração na qualidade do vídeo é quase imperceptível, o mesmo para a qualidade de áudio mais o tamanho do arquivo parece razoável. imagem e áudio são sincronizados. Bom.
Agora, a questão é que o movimento é um pouco mais lento que o arquivo de origem. Mais lento o suficiente para ser perceptível e para me irritar. Não sei explicar porque o vídeo tem o mesmo tamanho. Não é que o arquivo de saída tenha menos FPS ou qualquer coisa.
Então, espero que você possa me dar um conselho sobre como converter corretamente esse formato de entrada específico? Também tentei diminuir a taxa de bits do arquivo de origem sem alterar seu formato, mas o vídeo resultante parecia terrível e o tamanho dele ainda era enorme.
edit: adicionou as leituras do ffprobe para ambos, inputfile e outfile. O que está em itálico é azul, o que está em negrito é vermelho no meu console.
$ ffprobe inputfile.mkv
ffprobe version 3.3.6 Copyright (c) 2007-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-mips32r2 --disable-mips32r6 --disable-mips64r6 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-msa --disable-libopencv --disable-podpages --disable-stripping --enable-avfilter --enable-avresample --enable-gcrypt --enable-gnutls --enable-gpl --enable-libass --enable- libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable- libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable- libopus --enable-libpulse --enable-librubberband --enable-libshine --enable- libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable- libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libzvbi --enable- nonfree --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --disable-opencl --enable-libmfx --disable- altivec --shlibdir=/usr/lib/x86_64-linux-gnu
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
[mpeg2video @ 0x78df96dec0] ignoring pic cod ext after 0
Input #0, matroska,webm, from 'inputfile.mkv': Metadata: encoder : libebml v1.3.0 + libmatroska v1.4.1 creation_time : 2014-05-22T01:36:37.000000Z Duration: 03:10:45.71, start: 0.000000, bitrate: 22858 kb/s Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 22200 kb/s, 59.94 fps, 59.94 tbr, 1k tbn, 59.94 tbc (default) Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s (default)$ ffprobe outputfile.mp4
ffprobe version 3.3.6 Copyright (c) 2007-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-mips32r2 --disable-mips32r6 --disable-mips64r6 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-msa --disable-libopencv --disable-podpages --disable-stripping --enable-avfilter --enable-avresample --enable-gcrypt --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --disable-opencl --enable-libmfx --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'outputfile.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.71.100
Duration: 03:10:45.73, start: 0.000000, bitrate: 6146 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1600x900 [SAR 1:1 DAR 16:9], 6004 kb/s, 59.94 fps, 59.94 tbr, 19001 tbn, 119.88 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 126 kb/s (default)
Metadata:
handler_name : SoundHandler
Tags ffmpeg