Ffmpeg 在没有seekbar的情况下将动态转码视频推送到嵌入的http结果
我正在尝试实现一个简单的基于家庭的解决方案,用于将视频流/转码到无法正常播放文件的低端机器 我正在尝试使用Ffmpeg 在没有seekbar的情况下将动态转码视频推送到嵌入的http结果,ffmpeg,streaming,vlc,video-processing,transcoding,Ffmpeg,Streaming,Vlc,Video Processing,Transcoding,我正在尝试实现一个简单的基于家庭的解决方案,用于将视频流/转码到无法正常播放文件的低端机器 我正在尝试使用ffmpeg(因为ffserver将被中断) 我发现ffmpeg有内置的http服务器可用于此目的 使用(对于seekbar)进行的应用程序Im测试是vlc 我可能在这里做了一些错误的事情(或者试图做一些其他人在其他应用程序中做的事情) 我使用的ffmpeg代码是: d:\ffmpeg\bin\ffmpeg.exe-r24-i“d:\test.mkv”-线程2-vf 刻度=1280:720-
ffmpeg
(因为ffserver
将被中断)
我发现ffmpeg有内置的http服务器可用于此目的
使用(对于seekbar
)进行的应用程序Im测试是vlc
我可能在这里做了一些错误的事情(或者试图做一些其他人在其他应用程序中做的事情)
我使用的ffmpeg代码是:
d:\ffmpeg\bin\ffmpeg.exe-r24-i“d:\test.mkv”-线程2-vf
刻度=1280:720-c:v libx264-预设中等-crf 20-最大速率1000k
-bufsize 2000k-c:ac3可查找1-movflags快速启动-可侦听1-f mpegts
这段代码还使我能够在需要的时候开始观看视频(与通过udp使用rtmp相反,rtmp会在视频转码后立即启动视频)
我在文件乞讨中读到了关于移动atoom
的内容,应该由movflags faststart
我也在没有任何运气的情况下检查了-re
选项,-r25
只是为了抑制过去持续时间过大的0.xx
警告,我读到这是正常的事情。
测试文件是具有不同编码器设置等的多个文件中的一个
上面的设置给了我一个seekbar
,但它不工作,也没有总的持续时间(也没有进度条),当我从mpegts切换到matroska/mkv时,我看到了视频的持续时间(和进度),但没有seekbar
如果可能的话,只使用ffmpeg,我更愿意将其作为独立的解决方案,而不使用额外的rtmp/其他服务器。一段时间后,我达到了以下程度: 搜索栏是玩家端的一个东西,版本6支持中的hls将起始项作为v3起始项指向它所需要的位置(列表末尾不超过3项) 播放和搜索基于播放器(ios上的safari支持其他版本),也不需要ffserver来推送内容
最后,它在没有seek的情况下运行良好,如果需要seek,请使用player/js.player或通过代理视频服务器等中间件支持它。在调查问题的同时,我发现在使用内置http服务器时,转码可能会卡住(几乎就像http无法清除数据一样,请快速下载)