mp4转ros bag包

2023-05-16

操作方法:
python2 mp4_to_bag.py lane_video.mp4 lane_camera.bag # 执行转化命令
rosbag play -l TLout.bag camera/image_raw:=image_raw0 # 循环播放图片,并重命名成自己需要的话题名

import time, sys, os
from ros import rosbag
import roslib, rospy
roslib.load_manifest('sensor_msgs')
from sensor_msgs.msg import Image

from cv_bridge import CvBridge
import cv2

TOPIC = '/wstek/camera0'

def CreateVideoBag(videopath, bagname):
    '''Creates a bag file with a video file'''
    print videopath
    print bagname
    bag = rosbag.Bag(bagname, 'w')
    cap = cv2.VideoCapture(videopath)
    cb = CvBridge()
    # prop_fps = cap.get(cv2.cv.CV_CAP_PROP_FPS)  
    prop_fps = cap.get(cv2.CAP_PROP_FPS)  
    if prop_fps != prop_fps or prop_fps <= 1e-2:
        print "Warning: can't get FPS. Assuming 24."
        prop_fps = 24
    prop_fps = 24 # 
    print prop_fps
    ret = True
    frame_id = 0
    while(ret):
        ret, frame = cap.read()
        if not ret:
            break
        stamp = rospy.rostime.Time.from_sec(float(frame_id) / prop_fps)
        frame_id += 1
        image = cb.cv2_to_imgmsg(frame, encoding='bgr8')
        image.header.stamp = stamp
        image.header.frame_id = "camera"
        bag.write(TOPIC, image, stamp)
    cap.release()
    bag.close()

if __name__ == "__main__":
    if len( sys.argv ) == 3:
        CreateVideoBag(*sys.argv[1:])
    else:
        print( "Usage: video2bag videofilename bagfilename")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mp4转ros bag包 的相关文章

  • 无法在 ROS 中使用本地安装的 Protocol Buffer

    我已经安装了协议缓冲区 https developers google com protocol buffers 本地 ROS包的目录结构如下 CMakeLists txt package xml include addressbook p
  • 如何访问 Heroku 中的 docker 容器?

    我已按照此处构建图像的说明进行操作 https devcenter heroku com articles container registry and runtime getting started https devcenter her
  • 在设备上将 GIF 转换为 MP4

    是否可以获取远程 但如果需要的话我可以先下载 GIF 序列并在设备上制作 MPMovies PlayerViewController 可播放的 mp4 我尝试过使用http api online convert com http api o
  • ROS安装错误(Ubuntu 16.04中的ROS Kinetic)

    中列出的步骤顺序http wiki ros org kinetic Installat 已被关注 尝试在Ubuntu 16 04中安装ROSkinetic 输入以下命令时出错 sudo apt get install ros kinetic
  • ffserver 可以播放 mp4 流吗?

    我尝试使用 ffserver 流式传输 mp4 文件的日子 我读过很多这样的问题 https superuser com questions 563591 streaming mp4 with ffmpeg https superuser
  • 将 AVPackets 复用到 mp4 文件中

    我正在开发一个工具 它从网络接收 h 264 实时流 发送者是硬件编码器 缓冲最后 x 分钟 并在触发时创建最后 x 分钟的视频文件 我的工具能够接收实时流并使用 boost serialization 缓冲 AVPackets 此外 我可
  • 在 Gstreamer 上流式传输 MP4 视频文件

    我第一次使用 gstreamer 并尝试使用 Gstreamer RTP 和 UDP 将 MP4 视频文件从服务器流式传输到客户端 我尝试使用的命令行 在服务器端 gst launch 1 0 v filesrc location file
  • Safari html5 视频 mp4 无法在 htaccess 文件夹中播放,[重复]

    这个问题在这里已经有答案了 我只是在一个包含一些视频的私人页面上工作 这些视频只能通过 htaccess 访问 所有视频均采用 html5 编码 并且该网站在没有 htaccess 文件的情况下适用于每个浏览器 将 htaccess 文件放
  • 让 Safari 在 HTML 5 视频标签中首选 HEVC

    我目前正在研究向视频添加 HEVC 支持的可行性 但在使用 Safari 时遇到了问题 这是示例来源
  • VLC 流至 MP4 WEBM 和 Flash

    我正在尝试将视频从 IP 摄像机流式传输到我的 WordPress 网站 我希望我的流可以通过常见设备 Windows Mac Android 和 IOS 访问 目前我正在使用 VLC 进行流式传输 但我只能使用 flash 流 但我想做
  • Javasound 不通过 JAAD(SPI)播放 .m4a 文件

    我正在尝试播放一些 m4a 文件 我明白JAAD http jaadec sourceforge net index php仅支持解码 AAC 但有些歌曲我可以从中获取 sourceDataLine 然后当我尝试播放它们时 我会得到如下行为
  • 在 Java 中使用 Bag 的原因

    我目前正在学习算法和数据结构 当我阅读 算法之书 第四版时 我发现了Bag数据结构与Stack and Queue 阅读了它的解释后 我仍然不清楚为什么我更喜欢使用Bag 其中没有remove 方法 优于其他数据结构 例如Stack Que
  • 如何订阅“/scan”主题、修改消息并发布到新主题?

    我想通过订阅message ranges来改进turtlebot3的LDS 01传感器 通过应用一些算法修改messange ranges并将其发布到新主题 如下所示 但是当我运行编码时出现错误 错误是 遇到溢出的情况 错误是 运行时警告
  • 是否有用于 mp4 文件的 Java API?

    可以使用此处理 M3 文件mp3 SPI 支持 http www javazoom net mp3spi sources html 但我没有找到类似于 mp4 文件的内容 任何帮助 将不胜感激 UPDATE 我想要做的是获取文件的大小 就像
  • ROS中spin和rate.sleep的区别

    我是 ROS 新手 正在尝试了解这个强大的工具 我很困惑spin and rate sleep功能 谁能帮助我了解这两个功能之间的区别以及何时使用每个功能 ros spin and ros spinOnce 负责处理通信事件 例如到达的消息
  • 仅使用视频标签实时流式传输到 HTML5(不带 webrtc)

    我想将实时编码数据包装到 webm 或 ogv 并将其发送到 html5 浏览器 webm 或 ogv 可以做到这一点吗 Mp4 由于其 MDAT 原子而无法做到这一点 无法实时将h264和mp3打包并发送给客户端 假设我正在从网络摄像头输
  • 有没有办法在 .ogg 视频完全加载之前知道其文件大小?

    我知道 ogg 视频和 mp4 视频之间的一个区别是 ogg 视频没有描述文件大小的元数据 因此当加载 ogg 视频时 控件无法显示文件完全加载之前的剩余时间 如果 ogg 视频长度超过几分钟 这可能会成为问题 有没有办法在请求页面时获取此
  • 安装 ROS 时 Cmake 未检测到 boost-python

    我一直在尝试在我的 Mac 上安装 ROS 并根据不同版本的 boost 使用不同的库解决了错误 然而 似乎有一个库甚至没有检测到 boost python 这是我得到的错误 CMake Error at usr local share c
  • Android,如何将元数据设置为MP4文件?

    我想将元数据设置为 MP4 文件 我通过以下方式创建 MP4 文件 new MediaMuxer mPath MediaMuxer OutputFormat MUXER OUTPUT MPEG 4 并且文件有元 Title unknown
  • iOS-如何使用 AVAsset 或 AVURLAsset 获取 .mp4 文件的持续时间

    我知道视频类型问题的持续时间之前已得到解答 但我在获取视频持续时间方面遇到了真正的麻烦 mp4文件通过使用AVAsset and by AVURLAsset 我正在使用以下代码 NSString itemPathString NSSearc

随机推荐

  • 计算机网络实验

    Ipconfig命令 1 实作一 Ipconfig命令通常被用户用来查看计算机中的ip地址 xff0c 子网掩码以及默认网关 与之类似的ipconfig all命令则是显示ipconfig中所有的详细信息 其中 xff0c ipconfig
  • 在linux系统下搭建鸿蒙bearPi的编译环境

    前言 xff1a 我是Linux使用的是Ubuntu18 04 进行环境配置的 xff0c 如果环境不同导致报错请自行网上搜索答案 1 首先先下载必要的插件 链接 xff1a https pan baidu com s 15E3SBXj g
  • keil玩儿51单片机时遇见的错误与警告

    一 错误1 错误展示 错误说明 xff1a 自己写的代码太大 xff0c 超过了keil5能够编辑的最大范围2048 xff1b 解决方法 xff1a 1 xff09 使用注册机 xff0c 破解keil5 xff1b 2 xff09 调整
  • Linux从入门到精通(Ubuntu 16.04)第一节实验

    第一节实验 命令操作 sudo su root 管理员身份 exit 退出管理员身份 xff0c 进入普通用户身份 shutdown 关机 reboot 重启 cd 进入根目录 cd 从当前目录后退一级 ls 查看当前目录文件及文件夹 cd
  • 计算机网络 第一节 基于 Windows 的 TCP/IP 实用程序:Ipconfig、Ping、Tracert、 Netstat、arp。

    了解基本的基于 Windows 的 TCP IP 实用程序 xff1a Ipconfig Ping Tracert Netstat arp 1 使用 ping 命令测试本地主机 TCP IP 的安装以及两台主机的连通情况 2 使用 ipco
  • IP地址,子网掩码,默认网关理解

    IP地址 xff0c 子网掩码 xff0c 默认网关 通俗来讲 xff1a IP 地址 xff0c 是标注一台电脑的身份 xff0c 如同每个人都有的身份证 xff1b 子网掩码表示所使用的网络属于哪种网络段 xff0c 两个IP地址同属于
  • Linux从入门到精通(Ubuntu 16.04)第二节实验

    1 重定向 cd home 在home文件夹 ls l gt test2 在home文件夹下新建了test2文件夹 xff0c 里面写入了home文件夹下的内容 2交换分区 注意 xff1a 要在cd root下进行 xff0c 当时在这里
  • Linux 从入门到精通(Ubuntu 16.04)第三节实验

    1 User 用户管理命令 xff08 1 xff09 adduser 添加用户 adduser a1 添加普通用户a1 adduser system home home a2 shell bin bash a2 添加系统用 xff0c 户
  • Labelme标签转COCO2017数据集格式

    以下代码是将Labelme标注软件标注的目标检测矩形框标签转换成COCO2017数据集格式进行训练 一 Labelme标注软件的安装 在Annaconda创建虚拟环境及安装Labelme conda create n labelme pyt
  • 深度剖析问题:Could not run ‘torchvision::nms‘ with arguments from the ‘CUDA‘ backend.

    问题 xff1a 使用YOLOv5进行测试的时候 xff0c 报错 xff1a Could not run 39 torchvision nms 39 with arguments from the 39 CUDA 39 backend x
  • 算法学习模板——素数问题、费马小定理、LCM/GCD和欧拉降幂

    万里之行 xff0c 始于足下 本博客总结近期学习到的部分数论模板 xff0c 以便于日后查询使用 作者水平有限 xff0c 难免存在疏漏不足 xff0c 恳请诸位看官斧正 倘若我的文章可以帮到你 xff0c 十分荣幸 当然 xff0c 以
  • NVIDIA显卡BUG解决 Unable to determine the device handle for GPU 0000:02:00.0: Unknown Error

    报错 实验室去年到今年断了几次电 xff0c 然后服务器上的2080Ti一直就感觉有点小毛病 属于是被折磨了几个月了 然后前两周断电后 xff0c 显卡就基本上完全用不了了 xff0c 经常服务器开机都会失败 并且就算服务器开机成功过后 x
  • 数据库E-R图基础概念

    E R图也称实体 联系图 Entity Relationship Diagram xff0c 提供了表示实体类型 属性和联系的方法 xff0c 用来描述现实世界的概念模型 ER模型的基本元素 实体 xff1a 用方框表示 xff0c 实体名
  • 51单片机蜂鸣器

    蜂鸣器分为两类 1 有源蜂鸣器 2 无源蜂鸣器 有源蜂鸣器比较简单 xff0c 只要有电流通过 xff0c 蜂鸣器就会发声 一般改变不了音调和音量 无源蜂鸣器要给一定频率的脉冲信号 xff0c 蜂鸣器才会发出声音 对于无源蜂鸣器只要改变频率
  • 数据分析----数据清洗

    文章目录 前言一 数据清洗是什么 xff1f 二 步骤1 选择列2 缺失值处理1 找到缺失值2 处理缺失值的方法 3 数据类型转化4 重复值处理 总结 前言 随着科技的不断发展 xff0c 数据在我们生活中越来越多 xff0c 面对繁杂的数
  • python装饰器

    装饰器 一 概念 1 装饰器 xff08 Decoration xff09 装饰器是一种设计模式 xff0c 经常用来实现 34 面向切面的编程 34 AOP 实现在不修改源代码的情况下 xff0c 给程序动态添加功能的一种技术 2 装饰器
  • 拒绝拖延!

  • 使用qemu-img转换镜像格式

    qemu功能强大 xff0c 详细了解其功能请到官网查看 https www qemu org docs master system images html qemu img能将RAW qcow2 VMDK VDI VHD xff08 vp
  • KEIL5MDK最新版(3.37)安装以及旧编译器(V5)安装

    最近KEIl5最新版本出来了 xff0c 但官方不在默认安装V5编译器 xff0c 导致某些代码无法兼容 xff0c 为了防止搞忘 xff0c 便把方法上传网上 旧编译器的安装思路是 在以前有V5编译器的KEILMDK安装包中复制粘贴到新的
  • mp4转ros bag包

    操作方法 python2 mp4 to bag py lane video mp4 lane camera bag 执行转化命令 rosbag play l TLout bag camera image raw 61 image raw0