Giter Site home page Giter Site logo

quickcut's Issues

-qscale-qscale

发现一个问题(mb指MB)
原视频h264,710mb,标准4k,96fps
运行-c:v hevc_nvenc -qscale 1 -b:a 256k
变成9mb
运行-c:v hevc_nvenc -qscale 225 -b:a 256k
变成1.51GB............
在使用硬件加速编码器的时候,控制输出视频的质量是使用 qscale 参数,他的数值可以从 0.1 - 255 不等,数值越小,画质越高,码率越大,输出文件体积越大

是我理解有问题么?我语文确实不行......

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:/春日野穹.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf58.61.100
Duration: 00:02:01.00, start: 0.000000, bitrate: 49290 kb/s
Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], 49287 kb/s, 96 fps, 96 tbr, 12288 tbn, 96 tbc (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Please use -q:a or -q:v, -qscale is ambiguous
Codec AVOption b (set bitrate (in bits/s)) specified for output file #0 (D:/春日野穹_out.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 (native) -> hevc (hevc_nvenc))
Press [q] to stop, [?] for help
[hevc_nvenc @ 0000013b37cc0540] Using global_quality with nvenc is deprecated. Use qp instead.
Output #0, mp4, to 'D:/春日野穹_out.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf58.76.100
Stream #0:0(und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(progressive), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 2000 kb/s, 96 fps, 12288 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc58.134.100 hevc_nvenc
Side data:
cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 4000000 vbv_delay: N/A
frame= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
...................................................
frame=11589 fps=109 q=50.0 size= 1580032kB time=00:02:00.53 bitrate=107388.0kbits/s speed=1.13x
frame=11616 fps=108 q=50.0 Lsize= 1585869kB time=00:02:00.95 bitrate=107404.2kbits/s speed=1.13x
video:1585753kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.007309%

you-get和you-dl下载视频

默认的保存路径、Cookie、代理等设置无法保存,每次打开都得改一遍,很蛋疼啊,能弄个ini文件自动保存吗?

Linux 中关闭弹出的窗口,导致程序甚至系统崩溃

如何复现

启动程序,随意输入一些指令,点击运行。点击“命令运行输出窗口”右上角的❌。

应该发生什么

只有“命令运行输出窗口”关闭。

实际发生了什么

程序终止:
图片
如果运行编译好的文件,重复上述步骤甚至会导致系统崩溃并重启。

其他信息

  • 没有产生日志文件
  • 系统:Ubuntu 18.04
  • QuickCut 版本: 4fbfb56
  • Python 版本:3.8.5

一些具体的代码重构建议

首先感谢一下作者写的程序。以前有时候想要剪一小个片段或者扒一段音频,开pr感觉是杀鸡用牛刀,用FFmpeg又经常忘记具体选项还得查文档,这个程序可以说是十分实用了。

但我在读代码的时候觉得读起来有些困难,有些人可能想要贡献代码但一看代码这么多就望而却步了,我想了一些可以改进代码的建议,如果作者愿意采纳,对于每一条建议我都愿意提供帮助:

  • 把代码按功能分到多个模块中(现在的将近七千行代码读起来实在太费劲啦🤣),这样可以:
    • 使代码更易读
    • 方便维护
    • 促使解耦各个部分的代码
  • 使用Qt Designer绘制UI并保存为.ui文件,运行时使用PyQt5.uic.loadUi导入(详见这里)而不是提前用pyuic5转换,这样可以:
    • 写代码时使用Qt Designer更直观地展现UI
    • 便于修改UI
    • 将UI的绘制与其他功能代码解耦
  • 改写代码中的注释以及变量名为英文,这样可以:
    • 方便不会中文的人阅读代码
    • 使更多人(也就是不会中文的人)能够贡献代码
  • 尽量使代码符合PEP8中文译文)规范,这样可以:
    • 使代码更易读
    • 便于其他人贡献代码,毕竟大多人都是习惯根据PEP8写代码的

当然,现在的代码即使不重构也可以完美运行,而且要做完上面的每一条工作量巨大,代码改动太大可能主版本号都能加一两个数字了。但是如果不重构,随着将来代码量的增加维护会变得越来越困难,趁早进行重构可以防止将来想要重构而愈发无从下手;同时重构虽累,但如上文所说,这会带来很多的好处。

最后,是否愿意采纳这些建议当然还要看作者你的意思,但只要采纳,对于其中的每一条我都愿意提供帮助。

「建议」开机自启动&启动最小化

阿里云的语音识别真的功能太棒了,主要用的是语音输入功能,希望开机后台常驻。

希望增加两个功能:

  1. 开机自启动;
  2. 启动自最小化。

建议增加计划功能

比如我分段合并(剪切)设置好之后,选择计划运行,就将命令行储存起来,然后有100个计划,我可以一起运行,这样子不知可否做到。

建议增加批量处理选项

首先感谢这么牛逼简单快速的软件。之前截取视频要几分钟,现在只要1秒,真的是1秒。
我经常会下载动画片然后去掉片头片尾的广告给我儿子看,能否给出个批量截取片段的功能。

软件协议

这是一个很好的软件,也看得出来你花了很多心血。我非常希望20年后这个软件依旧有最基本的库/接口更新的维护。

没搞错的话你还是个学生,等你毕业可能会忙于生计。如果不冲突的话,建议把协议改成MPL之类的协议。虽然这在国内更像是君子协定,但是起码你也是对自己的努力作了一定保护,避免被无良公司或者公司的无良员工复制黏贴。说不定以后还能为你创造一笔收入(笑)。

加油喔~

Windows路径问题

del命令的路径分隔符是 '/' 会出现错误,Windows路径是 '\'

功能建议

建议增加删除指定长度/帧数的片头/片尾的功能

README.md中几处(或许)需要修改的地方

  1. 新加的languages文件夹没有包括在“编译后打包后要做的事”里,不加这个文件夹会出错:

    FileNotFoundError: [WinError 3] 系统找不到指定的路径。: './languages'
    
  2. 现在运行pyinstaller已经不需要--hidden-import pkg_resources.py2_warn这个选项了,这个问题已经在新版本的setuptools中修复了(见 pypa/setuptools#1963 (comment) ),会出这个问题的版本是setuptools>=45.0.0,<49.1.1。

    保留README.md里的原文当然没有问题,但也可以选择改为这样:

    先安装上pyinstaller并确保setuptools为最新版本

    pip install pyinstaller
    pip install setuptools --upgrade
    

    直接使用这个命令进行编译:

    pyinstaller -wy -i icon.ico QuickCut.py
    

    如果你是 Mac 编译,为了图标格式兼容,要使用:

    pyinstaller -wy -i icon.icns QuickCut.py
    

    经测试,在 Windows 10 中,Python=3.8.3, pyinstaller=3.6, setuptools=49.2.0的情况下,以及在 Ubuntu 18.04 中,Python=3.8.5, pyinstaller=3.6, setuptools=49.2.0的情况下,编译出的文件可以正常执行。

  3. README.md中的pyaudio下载地址只提供了Windows的.whl文件,Linux和Mac OS应该没法用。

    我测试用的是Ubuntu 18.04,pyaudio的依赖只有一个包,装pyaudio前运行这个即可:

    sudo apt install portaudio19-dev
    

    不过没法确定其他发行版以及Mac OS是否也是如此。

mac上pip安装了跑不起来

mkvirtualenv --python=python3 quickcut
pip install Quick-Cut

安装完之后执行Quick-Cut会提示如下

(quickcut) /usr/local ./bin/Quick-Cut
Traceback (most recent call last):
  File "./bin/Quick-Cut", line 5, in <module>
    from QuickCut.QuickCut import main
  File "/usr/local/lib/python3.8/site-packages/QuickCut/QuickCut.py", line 23, in <module>
    import pymediainfo
ModuleNotFoundError: No module named 'pymediainfo'

但是pymediainfo这个是已经安装了的,奇怪

佩服大佬,用Python写GUI,我是尝试了几次都放弃了,用Python写GUI实在太痛苦。

如题,本人学财务的,业余爱好学了python,又去瞟了一眼其他语言,还是python最简单,但是python写GUI真是太痛苦了,如果仅仅是为了调用ffmpeg,还不如用aardio写GUI,大佬可以尝试~不过这个项目我可以参考来练习python写GUI。。。。
另外,可以增加时间区域剪辑嘛,这样可以把要收藏的视频开头的广告时间去掉,等等

求更新!!!

annie已更名lux,下载视频选择文件夹无法在下次打开的时候保存,求大佬继续更新!!!

ffmpeg页面“出错了,本次运行的命令是”

问题:
指令中如果出现中文字符,会出现“命令执行出错,可能是系统没有安装必要的软件,如 FFmpeg, you-get, youtube-dl 等等”的提示,但ffmpeg其实正常安装了,或:

出错了,本次运行的命令是:

各种命令……

你可以将上面这行命令复制到 cmd 窗口运行下,看看报什么错,如果自己解决不了,把那个报错信息发给开发者

并在cmd窗口中相同的指令可以正常执行

原因:

  1. 指令中的中文字符会导致编码错误
  2. 旧版本的ffmepg无法正常显示utf-8字符

代码中的问题已找到修复方法,稍后发pr

除了修复代码中的问题外,ffmpeg也需要更新到最新版本

历史记录

记住路径等参数的历史设置,下次打开能够减少重复操作

代码能改写成B/S架构?

认真看了您的代码,看能否改造成基于Flask或fastapi的B/S架构?个人认为在使用的时候会更方便。

啥时候有批量转码功能

小丸工具箱里面有个很方便的功能,批量转码,好多视频扔里面就能转码,你这个我查了一下,没有很直观的窗口进行,只有一个批处理,能否增加一个引导呀

目前尝试各种不成功……

尝试时用的前一个版本,现在更换成最新版也不行……
先尝试把一个4、5个小时的mp3按1小时为单位(填写的3600)分割成多个,结果只出来了一个结果文档,时长和原来一样……
自己命令行解决了。

然后,尝试通过阿里API实现mp3转成文字,先弄API添加一类的
点了加号,也添加了,而且在视频转文资那个界面里面也能够看到添加的API,但是在设置里面就是不出现,不过还算能用……
继续尝试,mp3转文字。
前面n多次命令行输出窗口里面都是有内容的,比如提示API设置不成功啊,建议修正阿里那边的配置啊,或者前面那个切音频时的显示内容。这回却什么都没有,一直都是白白的上下两个窗体,等了很久,很久,依旧什么都没有……

语音输入存在识别结果和输入结果不一致的问题

利用语音输入功能进行输入时,发现控制台能够正确显示识别结果,但是光标写入word文件的是错误的结果
识别结果:
image

输入word文档结果:
image

此问题目前仅发现出现在对word文件的输入上,时而正常、时而不正常
测试环境:win10 企业版 1909
测试软件:office 365 word
软件版本:V1.6.10

macOS pip 安装报错


ERROR: Failed building wheel for pyaudio
Running setup.py clean for pyaudio
Failed to build pyaudio
Installing collected packages: you-get, auditok, pyaudio, pymediainfo, youtube-dl, Quick-Cut
Running setup.py install for pyaudio ... error

UI优化建议

针对第一个标签页(ffmpeg),希望对UI做一些优化,比如:

  1. 某些预设参数没有填写帮助的内容,此时“查看该预设帮助”按钮变为灰色不可用状态;或者在UI上增加帮助内容的预览,如果看不到预览的内容,用户也就不去尝试查看帮助了。
  2. 为预设增加分组功能,分组之间有分割线或者缩进,方便定位;或者在UI上增加预设参数筛选,这样可以快速定位到需要的参数预设上。
  3. 目前从UI上看不到预设参数修改、增加、删除、排序之后保存到哪里。希望增加一个预设参数导出导入的功能;或者提示参数保存在哪里

UI字体建议

发现Windows下中文界面字体是宋体,而不是微软雅黑 UI,个人觉得看起来有些难受,能否考虑把宋体替换成微软雅黑或提供修改界面字体的选项

启动时报错 qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.

$ quickcut
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.

[1]    4202 abort      quickcut

应该安装成功了,请问这个问题如何解决呢?我还需要提供什么信息?

可以增加一个调整srt字幕文件时间轴偏移量的功能吗?

比如这个
1

似乎 ffsubsync也处理不了偏移量较大的srt字幕文件,我知道现在很多播放器内置有字幕时间轴调整项,vlc player 本身更有热键支持(shift+h/J/K),只可惜都不能够导出到本地,我想利用QuickCut应该可以实现的吧,期待您的回复!

Readme中的别字etc.

这篇文章大部分都是用这个语音识别功能打的,然后修改了少量错字

—— 既然这readme是由语音识别生成的,那咱就顺便将发现的几处不通顺的地方指出来好了:

  1. ... 应用之广泛到惊了我的下巴 --> 『惊掉了』?
  2. ... 上传音频便足 --> 足『
  3. ... 爽不要不要的 --> 爽『
  4. ... 你们是你们觉得 --> 多了一次『你们』?
  5. ... 可以放心放到后台 --> 放心『
  6. ... 在帮助见面里 --> 『界面
  7. ... 直接到 这里 下载它已经被志愿者 --> 多了个『』?

english version ?

Hi,
First of all, nice work you've done.
Planning any english/translated version ?

I can participate in translation.

因磁盘空间不足导致的失败没有针对性报错信息

使用自动剪辑功能,长视频临时文件夹要求的空间较大,还是有可能意料之外地因此在最后阶段失败; 让人白跑1个多小时。
建议事先预警,或在出错后提示的可能原因加上这一条。

另外不知道为什么每次临时文件夹都自动删除失败…

盗窃锁定键??

readme里面“语音识别输入界面”里面长按键盘上的盗窃锁定键超过0.3秒钟,还以为是什么梗,原来是大写锁定键

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.