拼接文件然后推流:
先创建一个文本文件filelist.txt:
file 1.h264
file 2.h264
file 3.h264
然后
ffmpeg -f concat -safe 0 -i filelist.txt -f flv rtmp://47.92.134.214:8068/hls/stream12
-f concat 拼接模式 -safe 0 忽略安全 报unsafe file name 时需要
-f flv rtmp://47.92.134.214:8068/hls/stream12 rtmp推流
转发流:
ffmpeg -re -rtsp_transport tcp -i rtsp://192.168.18.10:554/user=admin&password=&channel=0&stream=1 -vcodec copy -f flv rtmp://47.92.134.214:8068/hls/stream12
-re 按照源帧率推流
-rtsp_transport tcp rtsp使用tcp udp老丢包
rtsp://192.168.18.10:554/user=admin&password=&channel=0&stream=1 拉流url地址
-vcodec copy 视频直接copy
-f flv rtmp://47.92.134.214:8068/hls/stream12 rtmp 推流url
ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流
ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流
.视频解复用
ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264
ffmpeg –i test.avi –vcodec copy –an –f m4v test.264
ffmpeg –i test.mp4 –vcodec h264 –s 352*278 –an –f m4v test.264 //转码为码流原始文件
ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v test.264 //转码为码流原始文件
ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi //转码为封装文件
//-bf B帧数目控制,-g 关键帧间隔控制,-s 分辨率控制
ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file .视频封装
ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg //提取图片
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi //剪切视频
//-r 提取图像的频率,-ss 开始时间,-t 持续时间
ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi 视频录制
ffmpeg -i rtsp://192.168.18.204:8554 -f segment -segment_time 60 /mnt/sdcard/av1/av1_2022_1_18__14_28_44_%05d.h264
存储流到文件
-f segment -segment_time 60 每60秒存一个文件
文件名 /mnt/sdcard/av1/av1_2022_1_18__14_28_44_%05d.h264
/mnt/sdcard/av1/av1_2022_1_18__14_28_44_00000d.h264
/mnt/sdcard/av1/av1_2022_1_18__14_28_44_00001.h264
发现没有存储ssp pps 无法解析文件
转发rtsp流:
ffmpeg -i "rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=1" -vcodec copy -acodec copy -f flv rtmp://47.92.134.214:8068/hls/stream_5688_1