初始数据:
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
问题是:
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
答案 0 :(得分:1)
首先,为什么要输入输入而不是ffmpeg -i video.mp4
?
无论如何,它不是你能看到的东西,而是你能听到的东西。
第一个命令使用默认的ffmpeg参数缩放视频并重新编码整个MP4文件,包括它可能具有的所有音轨。它会压缩你的文件。
您指定-f h264
的第二个命令执行相同但仅输出原始H.264 视频流且没有音频。生成的文件不是有效的MP4,其扩展名应为.h264
-f h264
用于获取原始H.264流。如果要指定编解码器,请改用-c:v libx264
。