Я использую jwplayer, ffmpeg и crtmpserver для трансляции в реальном времени. Мне было интересно, можно ли динамически изменять размер jwplayer в соответствии с видео, передаваемым ffmpeg. Например, скажем следующее FFmpeg команды используется для потоковой передачи видео:Изменение размера jwplayer в соответствии с ffmpeg видео динамически
ffmpeg -re -i 'myVideo.mp4' -vf scale=30:30 -vcodec flv -acodec copy -s 30x30 -f flv rtmp://localhost/flvplayback/livestream
Jwplayer сторона код:
<script type="text/javascript">
jwplayer("myElement").setup({
playlist: [{
image: "/uploads/myPoster.jpg",
sources: [{
file: "/uploads/myManifest.smil",
type: "rtmp"
},{
file: "/uploads/myVideo.mp4"
}]
}],
primary: "flash",
listbar: {
position: 'right',
size: 100
},
stretching: "exactfit"
});
Теперь, так как FFmpeg потоковое видео с -s как 30х30, видео слишком размытый , Таким образом, можно изменить размер jwplayer, чтобы он соответствовал видео; В этом случае размер jwplayer должен быть уменьшен. Я пробовал использовать jwplayer.resize()
на основе jwplayer().getCurrentQuality()
, но не уверен, как его использовать в этом случае.
Несвязанные: почему 'flv' вместо' libx264'? Кроме того, вам не нужно использовать фильтр «scale» и «-s». – LordNeckbeard