【发布时间】:2019-09-05 23:46:11
【问题描述】:
我有一个原始 h264 文件,可以在 mac 上使用 VLC 显示:
打开 -a VLC 文件.h264
我可以用命令行把它转成mp4
ffmpeg -f h264 -i file.h264 -c:v copy file.mp4
但我真正想做的是:
猫文件.h264 | ffmpeg > 文件.mp4
原因是输入来自套接字,我想将其转换并即时发送到 html 文件中的视频标签。
另一种解决方案是在网页中显示原始 h264 而无需先将其转换为 mp4。
输入是逐帧传入的,前四个字节是 0,0,0,1。我的理解是这个h264附件B格式。
我对视频格式一无所知,如果有人指出我的观看方向,我将不胜感激。
我应该考虑像这样使用 libavcodec 编写代码还是有现成的解决方案?
H.264 muxed to MP4 using libavformat not playing back
谢谢!
【问题讨论】:
-
只需使用“-i -”
-
这适用于输入,对于输出,ffmpeg 似乎无法写入管道,因为它需要寻找输出。 '复用器不支持不可搜索的输出'。
-
正确,mp4 不能通过管道写入。使用 flv 或 mkv 之类的格式即可。
-
使用其他格式的好主意。该命令行似乎用作过滤器。 '猫 A4DA2229AEBD.h264 | ffmpeg -i - -f h264 -vcodec libtheora -f ogv -> x.ogv'
标签: ffmpeg mp4 h.264 libavcodec