Ffmpeg 如何从源视频的中间生成TS流?

Ffmpeg 如何从源视频的中间生成TS流?,ffmpeg,live-streaming,Ffmpeg,Live Streaming,我正在使用ffmpeg为视频(实际上是一个实时视频流)创建m3u8播放列表。我正在使用以下命令: ffmpeg -i /home/ubuntu/Download/1459530099245.mkv -c:a aac -strict experimental -ac 2 -ar 48k -ab 64k -c:v libx264 -s 480x270 -aspect 16:9 -b:v 400k -r 15 -g 45 -profile:v baseline -level 3.0 -f hls -h

我正在使用ffmpeg为视频(实际上是一个实时视频流)创建m3u8播放列表。我正在使用以下命令:

ffmpeg -i /home/ubuntu/Download/1459530099245.mkv -c:a aac -strict experimental -ac 2 -ar 48k -ab 64k -c:v libx264 -s 480x270 -aspect 16:9 -b:v 400k -r 15 -g 45 -profile:v baseline -level 3.0 -f hls -hls_time 9 -hls_list_size 0  /home/ubuntu/Download/New Playlist.m3u8
它生成m3u8文件以及ts文件


问题:简单地说,我们如何为源视频的特定持续时间生成m3u8播放列表和TS文件?例如,我只想获取播放列表的前20秒左右?

您可以使用命令
-to
。只需将
-添加到输入路径后的00:00:20
在您的变体中:

ffmpeg -i /home/ubuntu/Download/1459530099245.mkv -to 00:00:20 -c:a aac -strict experimental -ac 2 -ar 48k -ab 64k -c:v libx264 -s 480x270 -aspect 16:9 -b:v 400k -r 15 -g 45 -profile:v baseline -level 3.0 -f hls -hls_time 9 -hls_list_size 0 /home/ubuntu/Download/New Playlist.m3u8

此处的更多信息:

当我运行此命令时,它会给出“Bitrate:N/A”您知道如何在该命令中给出Bitrate选项吗?奇怪的是,我尝试了我建议您使用的命令(但使用了mp4文件),该命令可以正常工作。实际上,这部分命令
-b:v 400k
设置输出文件的比特率。输入文件的大小是多少?