ffmpeg stdout缺少字节

时间:2015-07-22 07:56:10

标签: ffmpeg stdout

初始数据:

  • ffmpeg版本2.7.2-static

    使用gcc 4.9.3(Debian 4.9.3-1)构建

    配置: - enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable -libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable- libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-grey --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --CC = GCC-4.9

  • video.mp4 该文件 31000079 bytes

问题是:

  • cat video.mp4 | ffmpeg -i pipe: -v warning -vf scale=100:100 scaled_video.mp4生成 755052 字节
  • 的文件
  • cat video.mp4 | ffmpeg -i pipe: -v warning -vf scale=100:100 -f h264 - > scaled_video.mp4生成 252804 字节
  • 的文件

ffprobe 显示初始文件视频流 h264

我能看到什么?:D

1 个答案:

答案 0 :(得分:1)

首先,为什么要输入输入而不是ffmpeg -i video.mp4

无论如何,它不是你能看到的东西,而是你能听到的东西。

第一个命令使用默认的ffmpeg参数缩放视频并重新编码整个MP4文件,包括它可能具有的所有音轨。它会压缩你的文件。

您指定-f h264的第二个命令执行相同但仅输出原始H.264 视频流且没有音频。生成的文件不是有效的MP4,其扩展名应为.h264

-f h264用于获取原始H.264流。如果要指定编解码器,请改用-c:v libx264