我刚刚开始使用FFmpeg编码器。我有一个命令可以将视频文件编码到mp4容器中:
ffmpeg -i input.mp4 \
-vcodec libx264 -s 426x240 -pix_fmt yuv420p \
-crf 22 -minrate 200k -bufsize 400k -maxrate 400k -preset medium \
-b:v 500000 -profile:v baseline -level 3.1 \
-c:a aac -strict -2 -b:a 64k -ac 2 \
output_240.mp4我需要对应的mpeg-ts编码命令。我在网上搜索了这个,但是由于我是新手,所以找不到我想要的东西。
发布于 2018-01-24 11:44:16
和FFmpeg一样,也有很多选择要做,为了给出一个清晰的答案,我缩小了一些范围:
使用FFmpeg检查您的输入文件如下:
ffmpeg -i input.mp4如果该文件包含在TS容器中很好地支持编解码器(例如H.264视频和AAC声音),则只需将流复制到:
ffmpeg -i input.mp4 -c copy output.ts这将带来很好的效果,尽管您可能需要根据实际使用的输出文件(流、某个回放设备等)更改此命令行。
如果输入文件包含在TS容器中不受良好支持的编解码器,则需要重新编码视频或音频流或两者。FFmpeg和TS容器的默认编解码器是mpeg2video和mp2声音。如果您乐意使用这些默认的编解码器,那么以下内容将产生很好的效果:
ffmpeg -i input.mp4 \
-c:v mpeg2video -qscale:v 2 \
-c:a mp2 -b:a 192k \
output.ts这确实给我的系统带来了相当合理的结果,也应该对你的.
最后,您可能希望生成一个带有播放列表的分段TS文件,用于(HLS)。与往常一样,有几种方法可以实现这一点,但是下面的示例命令行可以很好地工作在TS容器中支持其编解码器的输入文件:
ffmpeg -re -i input.mp4 \
-codec copy -map 0 \
-f segment -segment_list playlist.m3u8 \
-segment_list_flags +live -segment_time 10 \
out%03d.ts如果您希望更改输入文件的编解码器,只需添加所需的设置来代替-codec copy,我相信H.264和AAC是这种流的流行编解码器。有很大的空间来试验分段选项,即在这里描述...。
https://askubuntu.com/questions/999271
复制相似问题