1

我有一个通过 Wowza 录制实时流的系统。我从 Wowza 得到一个带有记录的 .flv 文件。问题是,5 分钟的文件接近 50mb 大。但是当我看一些可以从网上下载的电视连续剧时,它们是 20 分钟,mp4 格式,大约 150mb 大。不管...看,流输入是这样的:

Input #0, flv, from 'rtmp://127.0.0.1/stream/test.stream':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0.0: Video: h264 (Constrained Baseline), yuv420p, 720x404 [PAR 1:1 DAR 180:101], 25 tbr, 1k tbn, 50 tbc
Stream #0.1: Audio: aac, 48000 Hz, stereo, s16

FFmpeg 在“会话”中向我展示了这样的内容:

frame= 2721 fps= 27 q=-1.0 Lsize=   17188kB time=111.21 bitrate=1266.1kbits/s

您知道如何使用 FFmpeg 将 MP4 中的 .FLV 文件转换为同样接近质量但文件大小更小的文件吗?

顺便提一句。我在linux中操作^^

谢谢

4

1 回答 1

0

这是基于使用最新 ffmpeg 的 linux mashine

使用以下代码并仅更改 -crf 值,您就可以创建各种大小的视频剪辑。数字越小质量越高。

最终视频与所有现代设备/服务兼容,如原生网络播放器、ios 设备、android 设备、microsoft 设备、ps3、xbox 等。

ffmpeg
-y //overwrite the file if it exists

-i INPUTFILE // replace with the input file

-metadata title=THETITLE // set a nice title, visible on modern devices
-metadata date=THEDATE // set a nice title, visible on modern devices

-c:v libx264 // use the h264 codec
 -crf 21 // try different numbers between 18-26
 -preset veryslow // placebo,slow,fast,ultrafast==big file 
 -tune film // tune it a little
 -pix_fmt yuv420p // preferred on most modern devices
 -profile:v main // preferred on most modern devices
 -level 3.1 // preferred on most modern devices 
 -refs 4 // preferred on most modern devices

-c:a libfdk_aac // use aac
 -metadata:s:a language=eng // set a language, visible on modern devices 
 -b:a 128k // audio bitrate 128k is like mp3 192k
 -ar 48000 // 44100 ... whatever
 -ac 2 // audiochannels
 -movflags +faststart //move the metadata in the front of the video so it loads faster

OUTPUTFILE
于 2014-09-18T17:44:02.147 回答