35.将多实体文件保存成单个零件

Posted kangkang5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了35.将多实体文件保存成单个零件相关的知识,希望对你有一定的参考价值。

一、基本参数

1.定义:通过插入新零件的方式可将多实体零件的部分实体单独保存成零件

 

二、基本操作及内容

1.点击命令

 

2.参数信息

 

3.原部件与导出实体的关系

4.单位是否沿用原部件的

 

 

gstreamer 将多通道 wav 文件拆分为单独的通道并将每个通道编码为 mp3、alac 等并保存到文件

【中文标题】gstreamer 将多通道 wav 文件拆分为单独的通道并将每个通道编码为 mp3、alac 等并保存到文件【英文标题】:gstreamer split multi-channel wav file into separate channels and encode each channel as mp3, alac etc and save to file 【发布时间】:2014-02-07 05:02:13 【问题描述】:

我需要拆分一个多声道的wav文件,并将每个声道编码成mp3文件。

我知道 gtresamer 的 deinterleave 插件,但我不确定如何将它用于 wav 文件以及如何对频道流进行编码。

我更喜欢基于 gtreamer(或 ffmpeg)的解决方案,因为我需要限制 I/O。即,我不希望将中间单通道 wav 文件写入存储。

ffmpeg 可用于this way。但是,ubuntu ffmpeg 中没有这两个开关。

snsonic 的解决方案抛出以下错误:

(gst-launch-0.10:2218): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstpng.so': libpng12.so.0: cannot open shared object file: No such file or directory

Setting pipeline to PAUSED ...

Pipeline is PREROLLING ...

ERROR: from element /GstPipeline:pipeline0/GstWavParse:wavparse0: Internal data flow error.

Additional debug info:

gstwavparse.c(1982): gst_wavparse_loop (): /GstPipeline:pipeline0/GstWavParse:wavparse0:

streaming task paused, reason not-linked (-1)

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

Freeing pipeline ...



    (gst-launch-0.10:2218): GStreamer-CRITICAL **: gst_caps_unref: assertion `GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed    

当我使用没有去交错的单通道 wav 文件进行测试时,创建了 mp3 文件但它只有噪音。

【问题讨论】:

【参考方案1】:

你提前知道频道的数量吗? 如果你使用 gst-launch,你可以做类似的事情:

gst-launch-1.0 filesrc location="xx.wav" ! wavparse ! deinterleave name=d \
  d.src_01 ! <encoder> ! filesink location="out1.mp3" \
  d.src_02 ! <encoder> ! filesink location="out2.mp3"

等等。如果事先不知道通道数,则需要编写一些代码。

【讨论】:

【参考方案2】:

FFmpeg 可能会满足您的要求。

【讨论】:

【参考方案3】:

您不必事先知道 wav 文件有多少个频道。 您需要安装 sox

#!/bin/bash
INPUT=$1

fbname=$(basename "$INPUT" .wav)

N=`soxi -c $INPUT`

for i in $(seq 1 $N)
do
    sox $INPUT "$fbname-$i.wav" remix $i
    avconv -i "$fbname-$i.wav" -f mp2 "$fbname-$i.mp3"
    rm $fbname-$i.wav

done

您可能希望将 avconv 替换为 ffmpeg,具体取决于您正在处理的发行版。

【讨论】:

以上是关于35.将多实体文件保存成单个零件的主要内容,如果未能解决你的问题,请参考以下文章

请问“solidworks 如何将装配体变成单个零件”

solidworks的文件可以转化成proe的么

gstreamer 将多通道 wav 文件拆分为单独的通道并将每个通道编码为 mp3、alac 等并保存到文件

SolidWorks装配体中怎样将某一部分单独保存为一个整体或独立的文件?

solidworks如何在装配图里面调单个零件出来?

将多线程输出保存到txt文件