小编aer*_*tal的帖子

使用mp4box直播短划线内容

我正在尝试使用媒体源扩展API将H.264内容直播到HTML5.

以下方法效果很好:

ffmpeg -i rtsp://10.50.1.29/media/video1 -vcodec copy -f mp4 -reset_timestamps 1 -movflags frag_keyframe+empty_moov -loglevel quiet out.mp4

然后: mp4box -dash 1000 -frag 1000 -frag-rap out.mp4

我可以使用MP4Box输出(out_dashinit.mp4)并通过Web Sockets(块大块)将其发送到将客户端提供给媒体源API的JavaScript客户端.

但是,这对于实时内容来说不是一个好方法.

我现在要做的是创建一个单独的管道,以便以最小的可能延迟实时完成.使用FFmpeg,可以将输出重定向到stdout而不是out.mp4抓取内容.我无法弄清楚是否可以将MP4Box组合到管道中.

  1. MP4Box可以从非文件源获取输入数据吗?
  2. MP4Box可以在实时到达时逐步(从文件或其他来源)获取这样的内容吗?即如果流停止1秒钟等待并自动恢复.
  3. 同样的问题,但输出:它可以输出到不是文件(如stdout)的东西,并可以逐步这样做,以便每当输出数据准备好,我将能够采取它并将其传输到Web客户端,基本上生成一个永无止境的虚线MP4.

ffmpeg video-streaming html5-video media-source mpeg-dash

12
推荐指数
1
解决办法
1万
查看次数

在Gstreamer上流式传输MP4视频文件

我是第一次使用gstreamer并尝试使用Gstreamer(RTP和UDP)将MP4视频文件从服务器传输到客户端.我试图使用的命令行:

在服务器端:

gst-launch-1.0 -v filesrc location = file_name.mp4 ! decodebin ! x264enc ! rtph264pay ! udpsink host=192.1XX.XX.XX port=9001
Run Code Online (Sandbox Code Playgroud)

在客户端:

gst-launch-1.0 -v udpsrc port=9001 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtpstreamdepay ! decodebin ! videoconvert ! autovideosink
Run Code Online (Sandbox Code Playgroud)

我能够成功流式传输视频.但是,我不希望 decodebinx264enc服务器端的操作.因此,我删除了这些操作并在服务器端使用了此命令行

gst-launch-1.0 -v filesrc location =file_name.MP4 !  rtpstreampay ! udpsink host=192.1XX.XX.XX port=9001
Run Code Online (Sandbox Code Playgroud)

我无法播放视频.

任何人都可以指导我,为什么我们需要在发送数据时在这种情况下进行解码和编码操作.有没有办法在不使用这些操作的情况下发送数据.

谢谢.

mp4 udp rtp video-streaming gstreamer

9
推荐指数
1
解决办法
1万
查看次数

FFMPEG加密

我正在做一个加密视频的项目,我对这个过程有一些问题.

我使用的命令转码mp4HLS具有ts的到10秒片段持续时间.

首先,我需要使用数据库中的密钥加密这些视频.但是,我不知道加密是否与ffmpeg一起使用.

其次,如果加密可以在没有ffmpeg的情况下工作,那么我该怎么办?我在google搜索过包括openssl/aes之类的内容,但我没有详细介绍,即使是ffmpeg链接:http: //www.ffmpeg.org/ffmpeg-all.html#srtp

谁能帮我一把,教我如何加密视频?谢谢你.

encryption openssl ffmpeg aes http-live-streaming

6
推荐指数
1
解决办法
1万
查看次数

FFMPEG Concat协议不合并视频文件

所以我尝试使用以下命令将2个视频文件与相同的编解码器组合在一起:

ffmpeg -i "concat:/home/mike/downloads/a1.mp4|/home/mike/downloads/a2.mp4" -c copy "/home/mike/downloads/output.mp4"
Run Code Online (Sandbox Code Playgroud)

结果:output.mp4只包含来自的视频a1.mp4.我也尝试了2个或更多文件,但结果是一样的.可能的原因是什么?请帮忙

麦克风

ffmpeg

4
推荐指数
1
解决办法
2150
查看次数