vlc命令行使用

vlc命令行参数

standard 标准输出模块

--access : 设定传输媒介

  • file
  • udp
  • http
  • https
  • mmsh
  • rtp

--mux : 封装方式

  • ts
  • ps
  • mpegl
  • ogg
  • asf
  • asfh
  • avi
  • mpjpeg
  • raw

--dst : 地址

  • file:存储路径

transcode 转换模块

--vcodec : 转换成的编码
--vb : 视频码率
--venc : 选择编码器
--fps : 帧数
--deinterlace :交错
--croptop,cropbottom,cropleft,cropright :裁剪
--scale : 比例
--width/height : 宽/高
--acodec : 音频编码
--ab : 音频码率
--aenc : 音频编码器选择
--samplerate: 采样率
--channels: 声道
--scodec :字幕
--senc : 字幕转换器选择
--soverlay:字幕直接显示在视频上
--sfilter : 视频上加logo
--threads : 多线程转换
--audio-sync :video/audio同步

实例

功能:将输入的mp4文件转换成h264

def vlc_mp4_to_264(input_file, output_file, delete_input=True):
    vlc_instance = vlc.Instance()
    player = vlc_instance.media_player_new()
    libvlc_media = vlc_instance.media_new(input_file)
    options = "sout=#transcode{vcodec=h264,vb=4000,scale=auto,scodec=none}:std{access=file{no-overwrite},mux=raw,dst='%s'}" % output_file
    logger.debug('VLC options: {}'.format(options))
    libvlc_media.add_option(options)
    libvlc_media.get_mrl()
    player.set_media(libvlc_media)
    player.play()

    if delete_input:
        time.sleep(0.2)  # 等待player启动

        while player.is_playing() == 1: # 等待player执行完成
            time.sleep(0.1)
        
        os.remove(input_file)
    
    os.system("chmod 777 %s" % output_file)
    del vlc_instance

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×