|
本帖最后由 小小白w 于 2021-9-7 18:20 编辑
最近入坑的iptv,按照论坛各位大神的帖子,成功实现iptv单线融合,利用udpxy实现了局域网内WiFi下任意设备观看iptv了,所以就想着能不能录制下iptv的节目,虽说现在网络发达,观看电视节目的人数也越来越少,这个需求估计很少有人有了。但本人有个小爱好,喜欢收集有台标和报时器的电视剧,所以就有了这个想法。
要说录制视频,首先想到的就是视频处理界强大的ffmpeg了,去翻了下文档,ffmpeg就正好支持录制udp的直播流,也是很简单的一些命令就可以实现。以下就贴出相关代码
1.用ffmpeg -i 命令查看udp流的信息
- ffmpeg -i http://192.168.0.10:12345/udp/233.50.201.220:5140
复制代码 2.输出信息
- Input #0, mpegts, from 'http://192.168.0.10:12345/udp/233.50.201.220:5140':
- Duration: N/A, start: 88584.380978, bitrate: N/A
- Program 270
- Metadata:
- service_name : CCTV-5+
- service_provider: ZJIPTV-JG
- Stream #0:0[0x121]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn
- Stream #0:1[0x122]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 128 kb/s
复制代码 输出信息里,我们只需要两个参数,一个video,也就是视频。还有一个就是audio,也就是音频。
3.录制命令
- ffmpeg -f mpegts -i http://192.168.0.10:12345/udp/233.50.201.220:5140 -map 0:0 -map 0:1 -c copy -t 600 test-recording.mkv
复制代码
命令详解- -f mpegts:告诉ffmpeg输入的工作流是mpegts
复制代码 4.录制过程- Input #0, mpegts, from 'http://192.168.0.10:12345/udp/233.50.201.220:5140':
- Duration: N/A, start: 89926.700978, bitrate: N/A
- Program 270
- Metadata:
- service_name : CCTV-5+
- service_provider: ZJIPTV-JG
- Stream #0:0[0x121]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn
- Stream #0:1[0x122]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 128 kb/s
- Output #0, matroska, to 'test-recording.mkv':
- Metadata:
- encoder : Lavf59.4.101
- Stream #0:0: Video: h264 (Main) (H264 / 0x34363248), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 1k tbn
- Stream #0:1: Audio: mp2 (P[0][0][0] / 0x0050), 48000 Hz, stereo, fltp, 128 kb/s
- Stream mapping:
- Stream #0:0 -> #0:0 (copy)
- Stream #0:1 -> #0:1 (copy)
- Press [q] to stop, [?] for help
- frame= 318 fps= 41 q=-1.0 size= 10240kB time=00:00:13.00 bitrate=6448.8kbits/s speed=1.66xxeizai
复制代码 写在最后
要实现定时录制也简单,op系统有集成ffmpeg,可以外接存储设备,保存录制文件,配合epg,可以写个定时任务啥的,大致录制时间写下,也就差不多了。
|
|