gpt4 book ai didi

ffmpeg:使用带有分段器的 tee

转载 作者:行者123 更新时间:2023-12-04 23:31:41 25 4
gpt4 key购买 nike

我正在尝试使用 tee 将我的流输出为 1 分钟的片段并同时输出到一个文件中。这是我的命令:

ffmpeg -i "rtsp://${cameraIp}:554/axis-media/media.amp?videocodec=h264&resolution=1280x720&fps=15" -c copy -map 0 \
-f tee "[f=ssegment:segment_time=60:segment_format=mp4:reset_timestamps=1:r=15] ${rootPath}/${storeId}-${location}-%03d.mp4 \
| /tmp/${cameraIp}.mkv"

单独(没有三通)两个输出都可以正常工作。所以我可以输出到分段文件或非分段文件中。但是使用 tee 我得到了这个错误:

[stream_segment,ssegment @ 0x217ece0] Failed to open segment ' /etc/cida/diagnostics/vid/780801-99-000.mp4' [tee @ 0x217d820] Slave '[f=ssegment:segment_time=60:segment_format=mp4:reset_timestamps=1:r=15] /etc/cida/diagnostics/vid/780801-99-%03d.mp4': error writing header: No such file or directory



请参阅下面的完整命令输出。有什么建议么?

ffmpeg version 3.3 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3) configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libwavpack --enable-nvenc libavutil 55. 58.100 / 55. 58.100 libavcodec 57. 89.100 / 57. 89.100 libavformat 57. 71.100 / 57. 71.100 libavdevice 57. 6.100 / 57. 6.100 libavfilter 6. 82.100 / 6. 82.100 libavresample 3. 5. 0 / 3. 5. 0 libswscale 4. 6.100 / 4. 6.100 libswresample 2. 7.100 / 2. 7.100 libpostproc 54. 5.100 / 54. 5.100 Input #0, rtsp, from 'rtsp://10.83.245.7:554/axis-media/media.amp?videocodec=h264&resolution=1280x720&fps=15': Metadata: title : Session streamed with GStreamer comment : rtsp-server Duration: N/A, start: 0.080011, bitrate: N/A Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 90k tbn, 180k tbc [stream_segment,ssegment @ 0x217ece0] Failed to open segment ' /etc/cida/diagnostics/vid/780801-99-000.mp4' [tee @ 0x217d820] Slave '[f=ssegment:segment_time=60:segment_format=mp4:reset_timestamps=1:r=15] /etc/cida/diagnostics/vid/780801-99-%03d.mp4': error writing header: No such file or directory [tee @ 0x217d820] Slave muxer #0 failed, aborting. Could not write header for output file #0 (incorrect codec parameters ?): No such file or directory Stream mapping: Stream #0:0 -> #0:0 (copy) Last message repeated 1 times

最佳答案

这是一个可以帮助您或其他人的示例。

我在 1 小时内将视频从 vga 录制到 usb 捕获设备,并流式传输到 UDP,然后使用 VLC (cvlc) 作为 rtp 流将其流式传输到多播地址。这样,如果需要,多人可以观看实时视频(约 5 秒延迟)。

这是命令行:

ffmpeg -rtbufsize 500M -f v4l2 -video_size 1152x900 -i /dev/video0 \
-vf "drawtext='fontfile=/usr/share/fonts/truetype/freefont/FreeSans.ttf:text=%{localtime}: x=10: y=10: fontcolor=white: box=1: boxcolor=black@1: fontsize=24'" \
-c:v libx264 -preset veryslow -crf 28 \
-pix_fmt yuv420p -an -r 15 -y \
-f tee -map 0:v "[f=segment:segment_atclocktime=1:segment_time=3600:strftime=1]/videos/raw_video/video_%Y%m%d-%H%M%S.mp4|[f=mpegts]udp://127.0.0.1:1234/"

操作系统是 Ubuntu 16.04 MATE。

关于ffmpeg:使用带有分段器的 tee,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43706409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com